GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform yra tik skaitymui momentinė nuotrauka Node’s pasaulio erdvės transformacija. Ji gaunama per node.getGlobalTransform() ir atspindi mazgo savo Transform su visų protėvių transformacija iki scenos šaknies.

Visos savybės yra tik skaitymui. Norėdami pakeisti mazgo padėtį, modifikuokite mazgo vietinį Transform vietoj to.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform paprastai nėra sukuriamas tiesiogiai; gaunate jį iš node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()Mazgo pasaulio erdvės pozicija
scaleVector3getScale()Mazgo pasaulio erdvės mastelis
rotationQuaterniongetRotation()Pasaulio erdvės rotacija kaip kvaternionas
eulerAnglesVector3getEulerAngles()Pasaulio erdvės rotacija kaip Eulerio kampų radianais (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Pilna 4x4 pasaulio erdvės transformacijos matrica

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 apskaičiuojama tuo metu node.getGlobalTransform() yra pasiekiama; tai yra ne atnaujinama dinamiškai, jei tėvo mazgo Transform vėliau pasikeičia.
  • Getteris yra getScale() ant GlobalTransform (ne getScaling()). Vietinis Transform naudoja getScaling() rašomam mastelio savybei.

Žr. taip pat

 Lietuvių