GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Methods

GlobalTransform είναι ένα μόνο για ανάγνωση στιγμιότυπο ενός Nodeμετασχηματισμό σε παγκόσμιο χώρο. Λαμβάνεται μέσω node.getGlobalTransform() και αντικατοπτρίζει τη σύνθεση του δικού του Transform με τον μετασχηματισμό κάθε προγόνου μέχρι τη ρίζα της σκηνής.

Όλες οι ιδιότητες είναι μόνο για ανάγνωση. Για να αλλάξετε τη θέση ενός κόμβου, τροποποιήστε το τοπικό Transform αντί αυτού.

Methods: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform δεν δημιουργείται συνήθως άμεσα· το λαμβάνετε από node.getGlobalTransform().

Methods

MethodsMethodsMethodsMethods
translationVector3getTranslation()Θέση σε παγκόσμιο χώρο του κόμβου
scaleVector3getScale()Κλίμακα σε παγκόσμιο χώρο του κόμβου
rotationQuaterniongetRotation()Περιστροφή σε παγκόσμιο χώρο ως τετραδικό
eulerAnglesVector3getEulerAngles()Περιστροφή σε παγκόσμιο χώρο ως γωνίες Euler σε ακτίνια (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Πλήρης πίνακας μετασχηματισμού 4x4 σε παγκόσμιο χώρο

Methods

import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.GlobalTransform;
import com.aspose.threed.*;


Scene scene = new Scene();

// Create a parent node at (10, 0, 0)
Node parent = scene.getRootNode().createChildNode("parent");
parent.getTransform().setTranslation(new Vector3(10.0, 0.0, 0.0));

// Create a child node at (5, 0, 0) relative to parent
Node child = parent.createChildNode("child");
child.getTransform().setTranslation(new Vector3(5.0, 0.0, 0.0));

// Read world-space position
GlobalTransform gt = child.getGlobalTransform();
System.out.println(gt.getTranslation());          // Vector3(15.0, 0.0, 0.0)
System.out.println(gt.getScale());                 // Vector3(1.0, 1.0, 1.0)

// Access the 4x4 matrix directly
Matrix4 mat = gt.getTransformMatrix();
System.out.println(mat.m03);   // 15.0 -- world-space X translation

// Euler angles in degrees
Vector3 angles = gt.getEulerAngles();
System.out.println(Math.toDegrees(angles.x));   // 0.0 (no rotation)

// Using evaluateGlobalTransform to include geometric offset
Matrix4 manualMat = child.evaluateGlobalTransform(true);

Methods

  • GlobalTransform υπολογίζεται τη στιγμή node.getGlobalTransform() προσπελάζεται· είναι όχι ενημερώνεται δυναμικά εάν ένας γονικός κόμβος Transform μετέπειτα αλλαγές.
  • Ο getter είναι getScale() εν GlobalTransform (όχι getScaling()). Ο τοπικός Transform χρησιμοποιεί getScaling() για την εγγράψιμη ιδιότητα κλίμακας.

Δείτε επίσης

 Ελληνικά