GlobalTransform

GlobalTransform

Methods

GlobalTransform jest tylko do odczytu migawka Nodeprzestrzenna transformacja. Jest uzyskiwana za pomocą node.getGlobalTransform() i odzwierciedla składanie własnej Transform z transformacją każdego przodka aż do korzenia sceny.

Wszystkie właściwości są tylko do odczytu. Aby zmienić pozycję węzła, zmodyfikuj lokalne Transform zamiast tego.

Methods: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform nie jest zwykle tworzony bezpośrednio; otrzymujesz go z node.getGlobalTransform().

Methods

NameTypeAccessDescription
translationVector3ReadGets the translation.
scaleVector3ReadGets the scale.
eulerAnglesVector3ReadGets the rotation represented in Euler angles, measured in degree.
rotationQuaternionReadGets the rotation represented in quaternion.
transformMatrixMatrix4ReadGets the transform matrix.
SignatureDescription
GlobalTransform()Initializes a new instance of the GlobalTransform class.
GlobalTransform(matrix: Matrix4)Initializes a new instance of the GlobalTransform class with the specified matrix.
getTranslation() → Vector3Gets the translation.
getScale() → Vector3Gets the scale.
getEulerAngles() → Vector3Gets the rotation represented in Euler angles, measured in degree.
getRotation() → QuaternionGets the rotation represented in quaternion.
getTransformMatrix() → Matrix4Gets the transform matrix.

Methods

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);

Methods

  • GlobalTransform jest obliczany w danym momencie node.getGlobalTransform() jest dostępny; jest nie aktualizowany dynamicznie, jeśli węzeł nadrzędny Transform później się zmieni.
  • Getter jest getScale() na GlobalTransform (nie getScaling()). Lokalny Transform używa getScaling() dla właściwości zapisywalnej skali.

Zobacz także

 Polski