GlobalTransform — Aspose.3D FOSS for Java
Notes
GlobalTransform è un sola lettura istantanea di un Node’s trasformazione nello spazio mondiale. È ottenuta tramite node.getGlobalTransform() e riflette la composizione del nodo stesso Transform con la trasformazione di ogni antenato fino alla radice della scena.
Tutte le proprietà sono di sola lettura. Per modificare la posizione di un nodo, modifica il locale del nodo Transform invece.
Notes: com.aspose.threed
import com.aspose.threed.GlobalTransform;GlobalTransform non viene normalmente istanziato direttamente; lo ricevi da node.getGlobalTransform().
Notes
| Notes | Notes | Notes | Notes |
|---|---|---|---|
translation | Vector3 | getTranslation() | Posizione nello spazio mondiale del nodo |
scale | Vector3 | getScale() | Scala nello spazio mondiale del nodo |
rotation | Quaternion | getRotation() | Rotazione nello spazio mondiale come quaternion |
eulerAngles | Vector3 | getEulerAngles() | Rotazione nello spazio mondiale come angoli di Eulero in radianti (roll, pitch, yaw) |
transformMatrix | Matrix4 | getTransformMatrix() | Matrice di trasformazione completa 4x4 nello spazio mondiale |
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
GlobalTransformviene calcolato al momentonode.getGlobalTransform()viene acceduto; è non aggiornato dinamicamente se il nodo genitoreTransformcambiamenti successivi.- Il getter è
getScale()suGlobalTransform(nongetScaling()). Il localeTransformusagetScaling()per la proprietà di scala scrivibile.