GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform é um somente leitura instantâneo de um Node’s transformação no espaço mundial. É obtido via node.getGlobalTransform() e reflete a composição da própria do nó Transform com a transformação de cada ancestral até a raiz da cena.

Todas as propriedades são somente leitura. Para mudar a posição de um nó, modifique o local Transform em vez disso.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform não é normalmente instanciado diretamente; você o recebe de node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()Posição em espaço mundial do nó
scaleVector3getScale()Escala em espaço mundial do nó
rotationQuaterniongetRotation()Rotação no espaço mundial como um quaternion
eulerAnglesVector3getEulerAngles()Rotação no espaço mundial como ângulos de Euler em radianos (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Matriz de transformação completa 4x4 no espaço 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 é calculado no momento node.getGlobalTransform() é acessado; ele é não atualizado dinamicamente se o nó pai Transform alterações posteriores.
  • O getter é getScale() em GlobalTransform (não getScaling()). O local Transform usa getScaling() para a propriedade de escala gravável.

Veja também

 Português