浏览我们的产品
Aspose.3D for .NET 18.2-2018年2月
此页面包含以下内容的发行说明Aspose.3D for .NET 18.2。
其他改进和变化
钥匙 | 摘要 | 类别 |
---|---|---|
THREEDNET-335 | 实现向形态通道添加目标 | 新功能 |
THREEDNET-348 | 添加支持骨架/变形动画导出 | 新功能 |
THREEDNET-332 | 添加对NURBS曲线的支持 | 新功能 |
THREEDNET-333 | 添加对NURBS曲面的支持 | 新功能 |
THREEDNET-338 | 添加前/后旋转的支持 | 新功能 |
THREEDNET-351 | 无法在场景的PNG图像上呈现透明度 | 增强 |
THREEDNET-334 | 输出FBX-发生空指针错误 | Bug |
公共API和向后不兼容的更改
请参阅对公共API所做的任何更改的列表,如添加、重命名、删除或不推荐使用的成员,以及对Aspose.3D for .NET所做的任何非向后兼容的更改。如果您对列出的任何更改有疑问,请在Aspose.3D支持论坛。
将成员添加到Aspose.ThreeD.Deformers.Bone类
C#
/// <summary>
/// Gets the weight for control point specified by index
/// </summary>
/// <param name="index">Control point's index</param>
/// <returns>the weight at specified index, or 0 if the index is invalid</returns>
public double GetWeight(int index)
/// <summary>
/// Sets the weight for control point specified by index
/// </summary>
/// <param name="index">Control point's index</param>
/// <param name="weight">New weight</param>
public void SetWeight(int index, double weight)
/// <summary>
/// Gets the count of weight, this is automatically extended by <see cref="SetWeight"/>
/// </summary>
int WeightCount{ get;}
/// <summary>
/// Gets or sets the transform matrix of the bone.
/// </summary>
Aspose.ThreeD.Utilities.Matrix4 BoneTransform{ get;set;}
将成员添加到Aspose.ThreeD.Deformers.MorphTargetChannel类
C#
/// <summary>
/// Gets the weight for the specified target, if the target is not belongs to this channel, default value 0 is returned.
/// </summary>
/// <param name="target"></param>
/// <returns></returns>
public double GetWeight(Aspose.ThreeD.Entities.Geometry target)
/// <summary>
/// Sets the weight for the specified target, default value is 1, range should between 0~1
/// </summary>
/// <param name="target"></param>
/// <param name="weight"></param>
public void SetWeight(Aspose.ThreeD.Entities.Geometry target, double weight)
在类Aspose.ThreeD.Entities.NurbsCurve中添加成员
C#
/// <summary>
/// Evaluate the nurbs curve
/// </summary>
/// <param name="steps">The evaluation frequency between two neighbor knots, default value is 20</param>
/// <returns>Points in the curve</returns>
public Aspose.ThreeD.Utilities.Vector4[]Evaluate(double delta)
/// <summary>
/// Evaluate the curve's point at specified position
/// </summary>
/// <param name="u">The position in the curve, between 0 and 1</param>
/// <returns></returns>
public Aspose.ThreeD.Utilities.Vector4 EvaluateAt(double u)
示例代码:
C#
public static void Main(string[]args)
{
NurbsCurve curve = new NurbsCurve();
curve.ControlPoints.AddRange(new Vector4[]{
new Vector4(-28.0118217468262, 53.0359077453613, 0, 1),
new Vector4(8.95330429077148, 64.7735290527344, 0, 1),
new Vector4(35.7778739929199, 42.424259185791, 0, 1),
new Vector4(24.8725852966309, -4.86993026733398, 0, 1),
new Vector4(-35.7778739929199, -34.192684173584, 0, 1),
new Vector4(-18.6066780090332, -57.1458396911621, 0, 1),
new Vector4(17.733715057373, -64.7735290527344, 0, 1)
});
curve.KnotVectors.AddRange(new double[]{0, 0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1, 1});
foreach (var pt in curve.Evaluate())
{
Console.WriteLine(pt);
}
}
将成员添加到Aspose.ThreeD.Entities.NurbsCurve类
C#
/// <summary>
/// Convert the nurbs surface to the mesh
/// </summary>
/// <returns></returns>
public Aspose.ThreeD.Entities.Mesh ToMesh()
随着Aspose.3D for .NET的最新版本18.2,NURBS表面现在可以渲染。
尚未支持具有周期性U/V方向的NURBS表面,将来的版本将支持。
将成员添加到Aspose.ThreeD.Transform类
一些FBX文件包含一个非零的节点前/后旋转值,这两个属性将它们暴露给用户,并允许您操作它们。
C#
/// <summary>
/// Gets or sets the pre-rotation represented in degree
/// </summary>
Aspose.ThreeD.Utilities.Vector3 PreRotation{ get;set;}
/// <summary>
/// Gets or sets the post-rotation represented in degree
/// </summary>
Aspose.ThreeD.Utilities.Vector3 PostRotation{ get;set;}
将成员添加到Aspose.ThreeD.Utilities.MathUtils类
C#
/// <summary>
/// Convert a number from radian to degree
/// </summary>
/// <param name="x">The x component in radian value.</param>
/// <param name="y">The y component in radian value.</param>
/// <param name="z">The z component in radian value.</param>
/// <returns>The degree value.</returns>
public static Aspose.ThreeD.Utilities.Vector3 ToDegree(double x, double y, double z)
/// <summary>
/// Convert a vector from degree to radian
/// </summary>
/// <param name="x">The x component in degree value.</param>
/// <param name="y">The y component in degree value.</param>
/// <param name="z">The z component in degree value.</param>
/// <returns>The radian value.</returns>
public static Aspose.ThreeD.Utilities.Vector3 ToRadian(double x, double y, double z)
旧代码示例:
C#
MathUtils.ToDegree(new Vector3(x, y, z));
MathUtils.ToRadian(new Vector3(x, y, z));
现在可以简化为:
C#
MathUtils.ToDegree(x, y, z);
MathUtils.ToRadian(x, y, z);
以下更改不会给用户端带来任何代码更改,但java版本必须保持一致。
成员在Aspose.ThreeD.Formats.GLTFSaveOptions中更新
旧定义
System.Func<Aspose.ThreeD.Shading.Material, Aspose.ThreeD.Shading.Material> MaterialConverter{ get;set;}
新定义
//New definition
Aspose.ThreeD.Formats.MaterialConverter MaterialConverter{ get;set;}
MaterialConverter的定义与旧函数具有相同的签名<Material, Material>:
C#
/// <summary>
/// Custom converter to convert the geometry's original material to GLTF's PBR material.
/// </summary>
/// <param name="mat">Old material instance</param>
/// <returns>New material instance</returns>
public delegate Material MaterialConverter(Material mat);
添加新类Aspose.ThreeD.Entities.VertexElementVector4
此类是VertexElementNormal,VertexElementVertexColor,VertexElementBinormal,VertexElementTangent,VertexElementUV和VertexElementSpecular的新基类。它不会影响用户的侧代码。
成员被修改为Aspose.ThreeD.Entities.NurbsCurve类
旧定义
System.Collections.Generic.List<double> KnotVectors{ get;}
新定义
IArrayList<double> KnotVectors{ get;}
成员被修改为Aspose.ThreeD.Entities.Nurbdirection类
旧定义
System.Collections.Generic.List<double> KnotVectors{ get;}
新定义
IArrayList<double> KnotVectors{ get;}