Browse our Products

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

Améliorations et changements

CléRésuméCatégorie
THREEDNET-825Ajouter USDZ support d’importation.Nouvelle fonctionnalité
THREEDNET-824Ajouter un support de texture au USDZTâche
THREEDNET-811Implémenter une version d’évaluation Exception connexe dans le APIAmélioration
THREEDNET-813Les détails techniques sont requis sur les limitations Matériau et Texture API-API ne fournit pas un moyen de découvrir les textures sur les matériauxAmélioration
THREEDNET-817Ajouter la prise en charge de la texture octet [] en cas de glb, gltf, objAmélioration
THREEDAPP-80Améliorer la vitesse de chargement de la page du rendu WebAmélioration
THREEDNET-814Les indices triangulaires ne sont pas correctsCorrection de bogue
THREEDNET-809FBX Enregistrer l’exception: Type d’attribut non pris en chargeCorrection de bogue
THREEDNET-810Filessize grossit tout en réutilisant la même textureCorrection de bogue
THREEDNET-816Maille incorrecte lors du chargement OBJCorrection de bogue
THREEDNET-807Il n’y a pas de texture dans le FBX exportéCorrection de bogue
THREEDNET-815Matériaux avec modèle shader = Inconnu ne sera pas rendu.Correction de bogue
THREEDNET-823Le maillage multiple attaché au même nœud n’est pas rendu.Correction de bogue
THREEDNET-647Ajouter une UI de contrôle de mise à l’échelle dans le moteur de rendu Web.Tâche
THREEDNET-646Ajouter une UI de contrôle de rotation dans le moteur de rendu Web.Tâche

API changements

Classe ajoutée Aspose.ThreeD. Ombrage. TextureSlot

Cela a exposé les fentes de texture internes dans les matériaux, afin d’accéder à toutes les fentes de texture disponibles à partir d’un matériau, utilisez la déclaration foreach:

var mat = new PbrMaterial();
foreach(var textureSlot in mat)
{
    Console.WriteLine(textureSlot.SlotName);
    Console.WriteLine(textureSlot.Texture);
}

Classe ajoutée Aspose.ThreeD.TrialException

À partir de 21.2, lorsque l’utilisation sans licence a atteint la restriction de licence, une TrialException sera lancée pour notifier la restriction de licence et comment demander une licence temporaire.

Vous pouvez simplement ignorer cela par le bloc surround try/catch sur l’opération Enregistrer/Ouvrir, ou désactiver cette exception en:

TrialException.SuppressTrialException = true;

Désactiver ce message ne lèvera pas les restrictions (comme les nœuds supplémentaires sont ignorés par l’exportateur/importateur).

Afin d’obtenir toutes les fonctionnalités complètes, veuillez demander une licence temporaire ou acheter une licence de fonctionnalité complète.

Méthodes ajoutées à Aspose.ThreeD. Entités. TriMesh

public Aspose.ThreeD.Utilities.Vector4 ReadVector4(int idx, Aspose.ThreeD.Utilities.VertexField field);
public Aspose.ThreeD.Utilities.FVector4 ReadFVector4(int idx, Aspose.ThreeD.Utilities.VertexField field);
public Aspose.ThreeD.Utilities.Vector3 ReadVector3(int idx, Aspose.ThreeD.Utilities.VertexField field);
public Aspose.ThreeD.Utilities.FVector3 ReadFVector3(int idx, Aspose.ThreeD.Utilities.VertexField field);
public Aspose.ThreeD.Utilities.Vector2 ReadVector2(int idx, Aspose.ThreeD.Utilities.VertexField field);
public Aspose.ThreeD.Utilities.FVector2 ReadFVector2(int idx, Aspose.ThreeD.Utilities.VertexField field);
public double ReadDouble(int idx, Aspose.ThreeD.Utilities.VertexField field);
public float ReadFloat(int idx, Aspose.ThreeD.Utilities.VertexField field);

Ces méthodes vous permettent de lire le champ du sommet sans allouer de mémoire supplémentaire, la manière traditionnelle d’accéder au sommet à partir de TriMesh génère en fait beaucoup d’objet temporaire, ceux-ci peuvent fournir un accès rapide et à faible empreinte mémoire.

Scène s = nouvelle scène (@ "test.STL");
Var mesh = (Mesh)s.RootNode.ChildNodes[0]. Entité;

// Créer un nouveau VertexDeclaration, donc le TriMesh que nous avons construit plus tard utilisera cette disposition de mémoire.
Var vd = nouveau VertexDeclaration();
Var pos = vd.AddField(VertexFieldDataType.FVector3, VertexFieldSemantic.Position);
Var normal = vd.AddField(VertexFieldDataType.FVector3, VertexFieldSemantic.Normal);
Var uv = vd.AddField(VertexFieldDataType.FVector2, VertexFieldSemantic.UV);
// Créer une instance TriMesh à partir de l'instance Mesh avec une déclaration de sommet spécifiée manuellement
Var m = TriMesh.FromMesh(vd, maille);
Pour (int i = 0; i< m.VerticesCount; i++)
{
    //access each field
    var v_pos = m.ReadFVector3(i, pos);
    var v_normal = m.ReadFVector3(i, normal);
    var v_uv = m.ReadFVector3(i, uv);
    Console.WriteLine($"({v_pos}), ({v_uv}), ({v_normal})");
}

Ajout d’un nouveau format de fichier en Aspose.ThreeD.FileFormat

/// <summary>
/// Compressed Universal Scene Description
/// </summary>
public static readonly FileFormat USDZ;

Aspose.3D 21.2 peut charger le format USDZ maintenant.

Correction des API incohérentes:

Ces anciennes classes seront conservées pendant un certain temps, et de nouvelles classes sont introduites pour les remplacer:

Vieille classeNouvelle classe
Aspose.ThreeD.Formats.A3DWSaveOptionsAspose.ThreeD.Formats.A3dwSaveOptions
Aspose.ThreeD.Formats.AMFSaveOptionsAspose.ThreeD.Formats.AmfSaveOptions
Aspose.ThreeD.Formats.Discreet3DSLoadOptionsAspose.ThreeD.Formats.Discreet3dsLoadOptions
Aspose.ThreeD.Formats.Discreet3DSSaveOptionsAspose.ThreeD.Formats.Discreet3dsSaveOptions
Aspose.ThreeD.Formats.FBXLoadOptionsAspose.ThreeD.Formats.FbxLoadOptions
Aspose.ThreeD.Formats.FBXSaveOptionsAspose.ThreeD.Formats.FbxSaveOptions
Aspose.ThreeD.Formats.GLTFLoadOptionsAspose.ThreeD.Formats.GltfLoadOptions
Aspose.ThreeD.Formats.GLTFSaveOptionsAspose.ThreeD.Formats.GltfSaveOptions
Aspose.ThreeD.Formats.HTML5SaveOptionsAspose.ThreeD.Formats.Html5SaveOptions
Aspose.ThreeD.Formats.STLLoadOptionsAspose.ThreeD.Formats.StlLoadOptions
Aspose.ThreeD.Formats.STLSaveOptionsAspose.ThreeD.Formats.StlSaveOptions
Aspose.ThreeD.Formats.U3DLoadOptionsAspose.ThreeD.Formats.U3dLoadOptions


 
 Français