Browse our Products

Notes de publication Aspose.3D pour Java 23.12

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 l’appareil GPU pour la texture d’une taille de 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é 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 avant 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 avant utilisé dans cet atout.
     */
    public Axis getFrontVector()
    
    /**
     * Définit le vecteur avant utilisé dans cet atout.
     * @param value Nouvelle valeur
     */
    public void setFrontVector(Axis value)
    
    /**
     * Obtient le système de coordonnées/vecteur supérieur/vecteur avant de l'info de l'atout.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Définit le système de coordonnées/vecteur supérieur/vecteur avant de l'info de l'atout.
     * @param value Nouvelle valeur
     */
    public void setAxisSystem(AxisSystem value)

Certains formats tels que FBX peuvent définir un vecteur avant 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 maintenant 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 l'échelle
     */
    public Vector3 getScaling()
    
    /**
     * Définit l'échelle
     * @param value Nouvelle valeur
     */
    public void setScaling(Vector3 value)
    
    /**
     * Obtient le décalage de l'échelle
     */
    public Vector3 getScalingOffset()
    
    /**
     * Définit le décalage de l'échelle
     * @param value Nouvelle valeur
     */
    public void setScalingOffset(Vector3 value)

    /**
     * Obtient le décalage de la rotation
     */
    public Vector3 getRotationOffset()
    
    /**
     * Définit le décalage de la 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 de l’échelle, garantissant la compatibilité avec les normes Maya/3ds Max.


 
 Français