GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform es un solo lectura instantánea de un Node’s transformación en el espacio mundial. Se obtiene mediante node.getGlobalTransform() y refleja la composición del propio nodo Transform con la transformación de cada ancestro hasta la raíz de la escena.

Todas las propiedades son de solo lectura. Para cambiar la posición de un nodo, modifica la local del nodo Transform en su lugar.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform no se instancia normalmente de forma directa; lo recibes de node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()Posición en espacio mundial del nodo
scaleVector3getScale()Escala en espacio mundial del nodo
rotationQuaterniongetRotation()Rotación en espacio mundial como un cuaternión
eulerAnglesVector3getEulerAngles()Rotación en espacio mundial como ángulos de Euler en radianes (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Matriz de transformación completa 4x4 en espacio mundial

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 se calcula en el momento node.getGlobalTransform() se accede; es no actualizado dinámicamente si el nodo padre Transform cambios posteriores.
  • El getter es getScale() en GlobalTransform (no getScaling()). El local Transform utiliza getScaling() para la writable scale property.

Ver también

 Español