Blader door onze producten

Aspose.3D für Java 23.12 Versionshinweise

Verbesserungen und Änderungen

KeySummaryCategory
THREEDNET-1458Ermöglichen der Mesh-Optimierung zur Entfernung doppelter Kontrollpunkte.New Feature
THREEDNET-1468Ermöglichen der Angabe des Achsensystems beim Exportieren des Modells in STL/OBJ/PLYNew Feature
THREEDNET-222Hinzufügen der Unterstützung für komplexe boolesche Operationen auf MeshesNew Feature
THREEDNET-1441Ermöglichen, dass Boolesche Operationen auf ordinale Meshes funktionierenImprovement
THREEDNET-1451OBJ-Export - falsche Texturen.Bug fixing
THREEDNET-1452Kann GPU-Gerätespeicher für Texturen mit einer Größe von 8192 * 8192 nicht zuweisenBug fixing
THREEDNET-1453GLTF-Export - falsche Texturen.Bug fixing
THREEDNET-1454FBX-Export - falsche Modellgruppierung wird exportiertBug fixing
THREEDNET-1461Bindepunkte auf verschiedenen Objekten geben den gleichen Wert zurück, wenn die Eigenschaftsnamen gleich sind.Bug fixing
THREEDNET-1462Aspose.3D generiert inkompatible AnimationsdatenBug fixing

API-Änderungen

Hinzugefügte Klasse com.aspose.threed.AxisSystem

Bestimmte Dateiformate wie OBJ, STL und PLY ermöglichen es Ihnen, das Koordinatensystem, den Aufwärtsvektor und den Vorwärtsvektor während des Exportprozesses zu definieren. Sie können diese Klasse verwenden, um diese Informationen bereitzustellen und entsprechend zu konfigurieren.

Umbenannte Klasse com.aspose.threed.CoordinatedSystem in com.aspose.threed.CoordinateSystem

Hinzugefügte Mitglieder zur Klasse com.aspose.threed.AnimationNode:

    /**
     * Findet den Bindepunkt nach Ziel und Name.
     * @param target Ziel des Bindepunkts, das gefunden werden soll.
     * @param name Name des Bindepunkts, der gefunden werden soll.
     * @return Der Bindepunkt.
     */
    public BindPoint findBindPoint(A3DObject target, String name)

Die aktualisierten Overloads ermöglichen es Ihnen jetzt, sowohl das Ziel als auch den Namen anzugeben, während die vorherige Implementierung nur eine Suche basierend auf dem angegebenen Namen durchgeführt hat.

Hinzugefügte Mitglieder zur Klasse com.aspose.threed.AssetInfo:

    /**
     * Ruft den im Asset verwendeten Vorwärtsvektor ab.
     */
    public Axis getFrontVector()
    
    /**
     * Legt den im Asset verwendeten Vorwärtsvektor fest.
     * @param value Neuer Wert
     */
    public void setFrontVector(Axis value)
    
    /**
     * Ruft das Koordinatensystem/den Aufwärtsvektor/den Vorwärtsvektor der Asset-Info ab.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Legt das Koordinatensystem/den Aufwärtsvektor/den Vorwärtsvektor der Asset-Info fest.
     * @param value Neuer Wert
     */
    public void setAxisSystem(AxisSystem value)

Einige Formate wie FBX können einen benutzerdefinierten Vorwärtsvektor innerhalb der FBX-Datei definieren.

Hinzugefügte Mitglieder zur Klasse com.aspose.threed.Axis:

    /**
     * Die -X-Achse.
     */
    NEGATIVE_X_AXIS,
    /**
     * Die -Y-Achse.
     */
    NEGATIVE_Y_AXIS,
    /**
     * Die -Z-Achse.
     */
    NEGATIVE_Z_AXIS;

Die zusätzlichen Enum-Werte bieten jetzt eine präzisere Spezifikation der Richtung für die Achsen bei der Konstruktion eines Achsensystems.

Hinzugefügte Klasse com.aspose.threed.BoneLinkMode

Hinzugefügte Mitglieder zur Klasse com.aspose.threed.Bone:

    /**
     * Der Linkmodus eines Knochens bezieht sich auf die Art und Weise, wie ein Knochen mit seinem Elternknoten in einer hierarchischen Struktur verbunden oder verknüpft ist.
     */
    public BoneLinkMode getLinkMode()
    
    /**
     * Der Linkmodus eines Knochens bezieht sich auf die Art und Weise, wie ein Knochen mit seinem Elternknoten in einer hierarchischen Struktur verbunden oder verknüpft ist.
     * @param value Neuer Wert
     */
    public void setLinkMode(BoneLinkMode value)

Das LinkMode-Feature bietet FBX-kompatible Linkmodi für Knochen im Kontext der Anwendung.

Beispielcode

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

Hinzugefügte Mitglieder zur Klasse com.aspose.threed.Mesh:

    /**
     * Optimiert die Speichernutzung des Meshes, indem doppelte Kontrollpunkte entfernt werden
     * @param vertexElements Optimiert doppelte Vertex-Elementdaten
     * @return Neue Mesh-Instanz mit kompakter Speichernutzung
     */
    public Mesh optimize(boolean vertexElements)

Beispielcode

        Mesh mesh = (new Box()).toMesh();
        // 1341 Bytes, 24 Vertices,  24 Normals, 24 Texture Coordinates,
        (new Scene(mesh)).save("unoptimized.obj");

        // Eliminiert die doppelten Kontrollpunkte und Vertex-Elementdaten durch Wiederverwendung desselben Vektors.
        Mesh optimizedMesh = mesh.optimize(true);
        // 640 Bytes, 8 Vertices,  6 Normals, 4 Texture Coordinates
        (new Scene(optimizedMesh)).save("optimized.obj");

Hinzugefügte Mitglieder zur Klasse com.aspose.threed.ObjSaveOptions:

    /**
     * Ruft das Achsensystem in der exportierten Datei ab.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Legt das Achsensystem in der exportierten Datei fest.
     * @param value Neuer Wert
     */
    public void setAxisSystem(AxisSystem value)

Beispielcode zum Konvertieren einer Szene in eine OBJ-Datei unter Verwendung eines benutzerdefinierten Achsensystems.

Beispielcode

        Scene scene = new Scene();
        opt.setAxisSystem(new AxisSystem(CoordinateSystem.RIGHT_HANDED, Axis.Y, Axis.X));
        scene.save("test.obj");

Hinzugefügte Mitglieder zur Klasse com.aspose.threed.Transform:

    /**
     * Ruft die Skalierung ab
     */
    public Vector3 getScaling()
    
    /**
     * Legt die Skalierung fest
     * @param value Neuer Wert
     */
    public void setScaling(Vector3 value)
    
    /**
     * Ruft den Skalierungsoffset ab
     */
    public Vector3 getScalingOffset()
    
    /**
     * Legt den Skalierungsoffset fest
     * @param value Neuer Wert
     */
    public void setScalingOffset(Vector3 value)

    /**
     * Ruft den Rotationsoffset ab
     */
    public Vector3 getRotationOffset()
    
    /**
     * Legt den Rotationsoffset fest
     * @param value Neuer Wert
     */
    public void setRotationOffset(Vector3 value)

Die Eigenschaften ScalingOffset, ScalingPivot, RotationOffset und RotationPivot ermöglichen eine präzisere Definition von Rotation und Skalierung und gewährleisten die Kompatibilität mit Maya/3ds Max-Standards.


 
 Deutsch