GlobalTransform — Aspose.3D FOSS for Java
Notes
GlobalTransform είναι ένα μόνο για ανάγνωση στιγμιότυπο ενός Node’s μετασχηματισμός σε παγκόσμιο χώρο. Λαμβάνεται μέσω node.getGlobalTransform() και αντικατοπτρίζει τη σύνθεση του δικού του κόμβου Transform με τον μετασχηματισμό κάθε προγόνου μέχρι τη ρίζα της σκηνής.
Όλες οι ιδιότητες είναι μόνο για ανάγνωση. Για να αλλάξετε τη θέση ενός κόμβου, τροποποιήστε το τοπικό Transform αντί αυτού.
Notes: com.aspose.threed
import com.aspose.threed.GlobalTransform;GlobalTransform δεν δημιουργείται συνήθως άμεσα· το λαμβάνετε από node.getGlobalTransform().
Notes
| Notes | Notes | Notes | Notes |
|---|---|---|---|
translation | Vector3 | getTranslation() | Θέση σε παγκόσμιο χώρο του κόμβου |
scale | Vector3 | getScale() | Κλίμακα σε παγκόσμιο χώρο του κόμβου |
rotation | Quaternion | getRotation() | Περιστροφή σε παγκόσμιο χώρο ως quaternion |
eulerAngles | Vector3 | getEulerAngles() | Περιστροφή σε παγκόσμιο χώρο ως γωνίες Euler σε ακτίνια (roll, pitch, yaw) |
transformMatrix | Matrix4 | getTransformMatrix() | Πλήρης 4x4 μήτρα μετασχηματισμού σε παγκόσμιο χώρο |
Notes
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);Notes
GlobalTransformυπολογίζεται τη στιγμήnode.getGlobalTransform()προσπελάζεται· είναι όχι ενημερώνεται δυναμικά εάν του γονικού κόμβουTransformμετέπειτα αλλαγές.- Ο getter είναι
getScale()ενGlobalTransform(όχιgetScaling())TransformχρησιμοποιείgetScaling()για την ιδιότητα εγγράψιμης κλίμακας.