GlobalTransform — Aspose.3D FOSS for Java
Notes
GlobalTransform est un lecture seule instantané d’un Node’s transformation en espace mondial. Elle est obtenue via node.getGlobalTransform() et reflète la composition de node’s own Transform avec le transform de chaque ancêtre jusqu’à la racine de la scène.
Toutes les propriétés sont en lecture seule. Pour changer la position d’un node, modifiez le node’s local Transform à la place.
Notes: com.aspose.threed
import com.aspose.threed.GlobalTransform;GlobalTransform n’est pas généralement instancié directement ; vous le recevez de node.getGlobalTransform().
Notes
| Notes | Notes | Notes | Notes |
|---|---|---|---|
translation | Vector3 | getTranslation() | Position World-space du nœud |
scale | Vector3 | getScale() | Échelle World-space du nœud |
rotation | Quaternion | getRotation() | Rotation en espace mondial sous forme de quaternion |
eulerAngles | Vector3 | getEulerAngles() | Rotation en espace mondial sous forme d’angles d’Euler en radians (roll, pitch, yaw) |
transformMatrix | Matrix4 | getTransformMatrix() | Matrice de transformation complète 4x4 en espace mondial |
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
GlobalTransformest calculé au momentnode.getGlobalTransform()est accédé ; il est pas mis à jour dynamiquement si le nœud parentTransformmodifications ultérieures.- Le getter est
getScale()surGlobalTransform(pasgetScaling()). Le localTransformutilisegetScaling()pour la propriété d’échelle modifiable.