Browse our Products

Aspose.3D pour Node.js via Java 24.1 Notes de publication

Améliorations et Modifications

KeySummaryCategory
THREEDNET-1458Autoriser l’optimisation du maillage pour supprimer les points de contrôle dupliqués.Nouvelle fonctionnalité
THREEDNET-1468Autoriser la spécification du système d’axes lors de l’exportation du modèle vers STL/OBJ/PLYNouvelle fonctionnalité
THREEDNET-222Ajouter la prise en charge des opérations booléennes complexes sur les maillagesNouvelle fonctionnalité
THREEDNET-1441Autoriser l’opération booléenne à fonctionner sur le maillage ordinalAmélioration
THREEDNET-1451Exportation OBJ - textures incorrectes.Correction de bug
THREEDNET-1452Impossible d’allouer de la mémoire de périphérique GPU pour la texture de taille 8192 * 8192Correction de bug
THREEDNET-1453Exportation GLTF - textures incorrectes.Correction de bug
THREEDNET-1454Exportation FBX - exportation incorrecte du regroupement de modèlesCorrection de bug
THREEDNET-1461Les points de liaison sur des objets différents renvoient la même valeur lorsque les noms de propriétés sont identiques.Correction de bug
THREEDNET-1462Aspose.3D génère des données d’animation incompatiblesCorrection de bug

Modifications de l’API

Classe com.aspose.threed.AxisSystem ajoutée

Certains formats de fichiers tels que OBJ, STL et PLY vous permettent de définir le système de coordonnées, le vecteur supérieur et le vecteur frontal pendant le processus d’exportation. Vous pouvez utiliser cette classe pour fournir et configurer ces informations en conséquence.

Classe com.aspose.threed.CoordinatedSystem renommée en com.aspose.threed.CoordinateSystem

Membres ajoutés à la classe com.aspose.threed.AnimationNode:

    /**
     * Trouve le point de liaison par cible et nom.
     * @param target La cible du point de liaison à trouver.
     * @param name Le nom du point de liaison à trouver.
     * @return Le point de liaison.
     */
    public BindPoint findBindPoint(A3DObject target, String name)

Les surcharges mises à jour vous permettent maintenant de spécifier à la fois la cible et le nom, alors que l’implémentation précédente effectuait uniquement une recherche basée sur le nom fourni.

Membres ajoutés à la classe com.aspose.threed.AssetInfo:

    /**
     * Obtient le vecteur frontal utilisé dans cet atout.
     */
    public Axis getFrontVector()
    
    /**
     * Définit le vecteur frontal utilisé dans cet atout.
     * @param value Nouvelle valeur
     */
    public void setFrontVector(Axis value)
    
    /**
     * Obtient le système de coordonnées/vecteur supérieur/vecteur frontal de l'information d'atout.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Définit le système de coordonnées/vecteur supérieur/vecteur frontal de l'information d'atout.
     * @param value Nouvelle valeur
     */
    public void setAxisSystem(AxisSystem value)

Certains formats tels que FBX peuvent définir un vecteur frontal personnalisé dans le fichier FBX.

Membres ajoutés à la classe com.aspose.threed.Axis:

    /**
     * L'axe -X.
     */
    NEGATIVE_X_AXIS,
    /**
     * L'axe -Y.
     */
    NEGATIVE_Y_AXIS,
    /**
     * L'axe -Z.
     */
    NEGATIVE_Z_AXIS;

Les valeurs d’énumération supplémentaires offrent désormais une spécification plus précise de la direction pour les axes lors de la construction d’un système d’axes.

Classe com.aspose.threed.BoneLinkMode ajoutée

Membres ajoutés à la classe com.aspose.threed.Bone:

    /**
     * Le mode de liaison d'un os fait référence à la manière dont un os est connecté ou lié à son os parent au sein d'une structure hiérarchique.
     */
    public BoneLinkMode getLinkMode()
    
    /**
     * Le mode de liaison d'un os fait référence à la manière dont un os est connecté ou lié à son os parent au sein d'une structure hiérarchique.
     * @param value Nouvelle valeur
     */
    public void setLinkMode(BoneLinkMode value)

La fonctionnalité LinkMode offre des modes de liaison compatibles avec FBX pour les os dans le contexte de l’application.

Exemple de code

        Bone boneToLimbNode1 = new Bone("");
        bone.setNode(limbNode1);
        bone.setLinkMode(BoneLinkMode.TOTAL_ONE);

Membres ajoutés à la classe com.aspose.threed.Mesh:

    /**
     * Optimise l'utilisation de la mémoire du maillage en éliminant les points de contrôle dupliqués
     * @param vertexElements Optimise les données d'éléments de vertex dupliqués
     * @return Nouvelle instance de maillage avec une utilisation compacte de la mémoire
     */
    public Mesh optimize(boolean vertexElements)

Exemple de code

        Mesh mesh = (new Box()).toMesh();
        // 1341 octets, 24 sommets,  24 normales, 24 coordonnées de texture,
        (new Scene(mesh)).save("unoptimized.obj");

        // Élimine les points de contrôle et les données d'éléments de vertex dupliqués en réutilisant le même vecteur.
        Mesh optimizedMesh = mesh.optimize(true);
        // 640 octets, 8 sommets,  6 normales, 4 coordonnées de texture
        (new Scene(optimizedMesh)).save("optimized.obj");

Membres ajoutés à la classe com.aspose.threed.ObjSaveOptions:

    /**
     * Obtient le système d'axes dans le fichier exporté.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Définit le système d'axes dans le fichier exporté.
     * @param value Nouvelle valeur
     */
    public void setAxisSystem(AxisSystem value)

Exemple de code pour convertir une scène en un fichier OBJ tout en utilisant un système d’axes personnalisé.

Exemple de code

        Scene scene = Scene.fromFile("input.fbx");
        ObjSaveOptions opt = new ObjSaveOptions();
        opt.setAxisSystem(new AxisSystem(CoordinateSystem.RIGHT_HANDED, Axis.Y_AXIS, Axis.X_AXIS));
        opt.setFlipCoordinateSystem(true);
        scene.save("test.obj", opt);

Membres ajoutés à la classe com.aspose.threed.Transform:

    /**
     * Obtient le redimensionnement
     */
    public Vector3 getScaling()
    
    /**
     * Définit le redimensionnement
     * @param value Nouvelle valeur
     */
    public void setScaling(Vector3 value)
    
    /**
     * Obtient le décalage de redimensionnement
     */
    public Vector3 getScalingOffset()
    
    /**
     * Définit le décalage de redimensionnement
     * @param value Nouvelle valeur
     */
    public void setScalingOffset(Vector3 value)

    /**
     * Obtient le décalage de rotation
     */
    public Vector3 getRotationOffset()
    
    /**
     * Définit le décalage de rotation
     * @param value Nouvelle valeur
     */
    public void setRotationOffset(Vector3 value)

Les propriétés ScalingOffset, ScalingPivot, RotationOffset et RotationPivot permettent une définition plus précise de la rotation et du redimensionnement, garantissant la compatibilité avec les normes Maya/3ds Max.


 
 Français