GlobalTransform

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

NotesNotesNotesNotes
translationVector3getTranslation()Position World-space du nœud
scaleVector3getScale()Échelle World-space du nœud
rotationQuaterniongetRotation()Rotation en espace mondial sous forme de quaternion
eulerAnglesVector3getEulerAngles()Rotation en espace mondial sous forme d’angles d’Euler en radians (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()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

  • GlobalTransform est calculé au moment node.getGlobalTransform() est accédé ; il est pas mis à jour dynamiquement si le nœud parent Transform modifications ultérieures.
  • Le getter est getScale() sur GlobalTransform (pas getScaling()). Le local Transform utilise getScaling() pour la propriété d’échelle modifiable.

Voir aussi

 Français