GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform er en skrivebeskyttet øjebliksbillede af en Node’s verdensrumstransformation. Den opnås via node.getGlobalTransform() og afspejler sammensætningen af nodens egen Transform med hver forælders transformation op til scenens rod.

Alle egenskaber er skrivebeskyttede. For at ændre en nodes position, modificer nodeens lokale Transform i stedet.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform instansieres normalt ikke direkte; du modtager den fra node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()World-space position af noden
scaleVector3getScale()World-space skala af noden
rotationQuaterniongetRotation()World-space rotation som en quaternion
eulerAnglesVector3getEulerAngles()World-space rotation som Euler-vinkler i radianer (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Komplet 4x4 world-space transformationsmatrix

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() tilgås; den er ikke opdateres dynamisk, hvis en overordnet nodes Transform senere ændringer.
  • Getteren er getScale()GlobalTransform (ikke getScaling()). Den lokale Transform bruger getScaling() til den skrivbare skalaegenskab.

Se også

 Dansk