Browse our Products

Aspose.3D for .NET 17.7 Notes de Libération

Autres améliorations et changements

CléRésuméCatégorie
THREEDNET-265Ajouter la prise en charge de l’exportation de la scène 3D au format PLY.Nouvelle fonctionnalité
THREEDNET-271Simplifiez la création de matrice de transformation.Nouvelle fonctionnalité
THREEDNET-270Autoriser à générer un maillage à partir d’une image à l’échelle de gris sous forme de carte de hauteur.Nouvelle fonctionnalité
THREEDNET-272Le fichier FBX généré ne peut pas être édité par 3ds max.Bug
THREEDNET-274Les UV sont corrompus lors de l’exportation d’une scène au format FBX.Bug

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 des membres au Aspose.ThreeD. Services publics. Classe Matrix4

C#

 /// <summary>

/// Creates a translation matrix 

/// </summary>

/// <param name="t"></param>

/// <returns></returns>

public static Matrix4 Translate(Vector3 t);

/// <summary>

/// Creates a translation matrix 

/// </summary>

/// <param name="tx"></param>

/// <param name="ty"></param>

/// <param name="tz"></param>

/// <returns></returns>

public static Matrix4 Translate(double tx, double ty, double tz);

/// <summary>

/// Create a scale matrix

/// </summary>

/// <param name="s"></param>

/// <returns></returns>

public static Matrix4 Scale(Vector3 s);

/// <summary>

/// Create a scale matrix

/// </summary>

/// <param name="s"></param>

/// <returns></returns>

public static Matrix4 Scale(double s);

/// <summary>

/// Create a scale matrix

/// </summary>

/// <param name="sx"></param>

/// <param name="sy"></param>

/// <param name="sz"></param>

/// <returns></returns>

public static Matrix4 Scale(double sx, double sy, double sz);

/// <summary>

/// Create a rotation matrix from euler angle

/// </summary>

/// <param name="eul">Rotation in radian</param>

/// <returns></returns>

public static Matrix4 RotateFromEuler(Vector3 eul);

/// <summary>

/// Create a rotation matrix from euler angle

/// </summary>

/// <param name="rx">Rotation in x axis in radian</param>

/// <param name="ry">Rotation in y axis in radian</param>

/// <param name="rz">Rotation in z axis in radian</param>

/// <returns></returns>

public static Matrix4 RotateFromEuler(double rx, double ry, double rz) 

/// <summary>

/// Create a rotation matrix by rotation angle and axis

/// </summary>

/// <param name="angle">Rotate angle in radian</param>

/// <param name="axis">Rotation axis</param>

/// <returns></returns>

public static Matrix4 Rotate(double angle, Vector3 axis);

/// <summary>

/// Create a rotation matrix from a quaternion

/// </summary>

/// <param name="rotate"></param>

/// <returns></returns>

public static Matrix4 Rotate(Quaternion rotate);



//Create a transform that translates (1, 0, 0) then rotates alone the y axis pi radian.

var m  = Matrix4.RotateFromEuler(0, Math.PI, 0) * Matrix4.Translate(1, 0, 0);

Ajoute de nouvelles classes Aspose.ThreeD.Utilities.ComposeOrder et Aspose.ThreeD.Utilities.TransformBuilder

Le constructeur de transformations simplifie la création de la matrice de transformation par une chaîne d’opérations.

C#

 //use prepend order so the calculation is performed from left to right:

var m = (new TransformBuilder(ComposeOrder.Prepend))

    //Change the (x, y, z) into (x + 1, y, z)

    .Translate(1, 0, 0)

    //Rotate alone with the Y axis with 180deg will change the (x, y, z) into (-x, y, -z)

    .RotateEulerDegree(0, 180, 0)

    //Scale by 2 will change the (x, y, z) into (2x, 2y, 2z)

    .Scale(2)

    //change the (x, y, z) into (z, y, x)

    .Rearrange(Axis.ZAxis, Axis.YAxis, Axis.XAxis)

    .Matrix;



//Apply this matrix on a (0, 0, 0) vector, then we get the right result (0, 0, -2)

var t = m * Vector3.Origin;

Membres mis à jour à Aspose.ThreeD.Formats

Ce changement introduit une nouvelle classe Aspose.ThreeD.Formats.PlyFormat, qui vous permet d’encoder un maillage unique au lieu de la scène entière:

C#

 public static readonly Aspose.ThreeD.FileFormat PLY;

//Changed to

public static readonly Aspose.ThreeD.Formats.PlyFormat PLY;



// sample code

// Create a cylinder object and save it to ply file

FileFormat.PLY.EncodeMesh(new Cylinder(), "cylinder.ply");

Ajoute une nouvelle classe Aspose.ThreeD.Formats.PlySaveOptions

Le format Ply n’a pas de norme officielle, différentes applications peuvent avoir différentes définitions de son format de sommet, cette classe vous permet de définir des détails du format Ply. Par exemple, le nom du composant par défaut pour les composants de coordonnées de texture est «u» et «v», mais certaines applications utilisent «s» et «t», alors vous pouvez changer le nom en utilisant cette classe:

C#

 //Save as binary PLY format, the default value is ASCII

PlySaveOptions opt = new PlySaveOptions(FileContentType.Binary);

//change the components to 's' and 't'

opt.TextureCoordinateComponents.Item1 = "s";

opt.TextureCoordinateComponents.Item2 = "t";

//save the mesh

FileFormat.PLY.EncodeMesh(new Cylinder(), "cylinder.ply", opt);

Exemples d’utilisation

Veuillez consulter la liste des sujets d’aide ajoutés ou mis à jour dans les documents Wiki Aspose.3D:

  1. Convertir Mesh d’un seul objet 3D dans le fichier PLY
  2. Simplifier la création de matrice de transformation par les opérations de la chaîne


 
 Français