Aspose.3D for .NET 18.2-février 2018

Autres améliorations et changements

CléRésuméCatégorie
THREEDNET-335Mettre en œuvre l’ajout de cibles au MorphChannelNouvelle fonctionnalité
THREEDNET-348Ajouter la prise en charge de l’exportation d’animation squelette/morphingNouvelle fonctionnalité
THREEDNET-332Ajouter la prise en charge de la courbe NURBSNouvelle fonctionnalité
THREEDNET-333Ajouter un support pour la surface NURBSNouvelle fonctionnalité
THREEDNET-338Ajouter un support de rotation pré/postNouvelle fonctionnalité
THREEDNET-351Ne peut pas rendre la transparence sur l’image PNG de la scèneAmélioration
THREEDNET-334Sortie FBX-l’erreur du pointeur nul s’est produiteBug

Public API et changements incompatibles vers l’arrière

Voir la liste de toutes les modifications apportées au public API telles que les membres ajoutés, renommés, supprimés ou dépréciés ainsi que toute modification non rétrocompatible apportée au Aspose.3D for .NET. Si vous avez des préoccupations concernant un changement répertorié, veuillez le soulever sur leAspose.3D forum de soutien.

Ajoute les membres au Aspose.ThreeD. Déformateurs. Classe d’os

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;}

Ajoute les membres au Aspose.ThreeD. Déformateurs. Classe 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)

Ajoute des membres dans la classe Aspose.ThreeD. Entités. 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)

Code d’échantillon:

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);

    }

}

Ajoute les membres au Aspose.ThreeD. Entités. Classe NurbsCurve

C#

 /// <summary>

/// Convert the nurbs surface to the mesh

/// </summary>

/// <returns></returns>

public Aspose.ThreeD.Entities.Mesh ToMesh()

Ajoute des membres à la classe Aspose.ThreeD.Transform

Certains fichiers FBX contiennent une valeur de pré/post-rotation non nulle pour les nœuds, ces deux propriétés les exposent à l’utilisateur et vous permettent de les manipuler.

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;}

Ajoute les membres au Aspose.ThreeD. Classe Utilitaires. 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)

L’ancien exemple de code:

C#

 MathUtils.ToDegree(new Vector3(x, y, z));

MathUtils.ToRadian(new Vector3(x, y, z));

Il peut maintenant être simplifié comme:

C#

 MathUtils.ToDegree(x, y, z);

MathUtils.ToRadian(x, y, z);

Membre mis à jour en Aspose.ThreeD.Formats.GLTFSaveOptions

Vieille définition

 System.Func<Aspose.ThreeD.Shading.Material, Aspose.ThreeD.Shading.Material> MaterialConverter{ get;set;}

Nouvelle définition

 //New definition

Aspose.ThreeD.Formats.MaterialConverter MaterialConverter{ get;set;}

La définition de MaterialConverter a la même signature que l’ancienne Func<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);

Ajoute une nouvelle classe Aspose.ThreeD. Entités. VertexElementVector4

Cette classe est la nouvelle classe de base de VertexElementNormal, VertexElementVertexColor, VertexElementBinormal, VertexElementTangent, VertexElementUV et VertexElementSpecular. Cela n’affecte pas le code latéral de l’utilisateur.

Le membre est modifié à Aspose.ThreeD. Entités. Classe NurbsCurve

Vieille définition

 System.Collections.Generic.List<double> KnotVectors{ get;}

Nouvelle définition

 IArrayList<double> KnotVectors{ get;}

Le membre est modifié à Aspose.ThreeD. Entités. Classe NurbsDirection

Vieille définition

 System.Collections.Generic.List<double> KnotVectors{ get;}

Nouvelle définition

 IArrayList<double> KnotVectors{ get;}