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