GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform er en kun lesbar øyeblikksbilde av en Node’s verdensromtransformasjon. Den oppnås via node.getGlobalTransform() og reflekterer sammensetningen av nodens egen Transform med hver forelderens transformasjon opp til scenens rot.

Alle egenskaper er kun lesbare. For å endre en nodes posisjon, endre nodeens lokale Transform i stedet.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform instansieres vanligvis ikke direkte; du mottar den fra node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()World-space-posisjon til noden
scaleVector3getScale()World-space-skala til noden
rotationQuaterniongetRotation()World-space-rotasjon som en kvaternion
eulerAnglesVector3getEulerAngles()World-space-rotasjon som Euler-vinkler i radianer (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Fullstendig 4x4 world-space transformasjonsmatrise

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 beregnes på tidspunktet node.getGlobalTransform() er aksessert; den er ikke oppdatert dynamisk hvis en overordnet nodes Transform senere endringer.
  • Getteren er getScale()GlobalTransform (ikke getScaling()) Transform bruker getScaling() for den skrivbare skalaegenskapen.

Se også

 Norsk