GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform είναι ένα μόνο για ανάγνωση στιγμιότυπο ενός Node’s μετασχηματισμός σε παγκόσμιο χώρο. Λαμβάνεται μέσω node.getGlobalTransform() και αντικατοπτρίζει τη σύνθεση του δικού του κόμβου Transform με τον μετασχηματισμό κάθε προγόνου μέχρι τη ρίζα της σκηνής.

Όλες οι ιδιότητες είναι μόνο για ανάγνωση. Για να αλλάξετε τη θέση ενός κόμβου, τροποποιήστε το τοπικό Transform αντί αυτού.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform δεν δημιουργείται συνήθως άμεσα· το λαμβάνετε από node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()Θέση σε παγκόσμιο χώρο του κόμβου
scaleVector3getScale()Κλίμακα σε παγκόσμιο χώρο του κόμβου
rotationQuaterniongetRotation()Περιστροφή σε παγκόσμιο χώρο ως quaternion
eulerAnglesVector3getEulerAngles()Περιστροφή σε παγκόσμιο χώρο ως γωνίες Euler σε ακτίνια (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Πλήρης 4x4 μήτρα μετασχηματισμού σε παγκόσμιο χώρο

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 υπολογίζεται τη στιγμή node.getGlobalTransform() προσπελάζεται· είναι όχι ενημερώνεται δυναμικά εάν του γονικού κόμβου Transform μετέπειτα αλλαγές.
  • Ο getter είναι getScale() εν GlobalTransform (όχι getScaling()) Transform χρησιμοποιεί getScaling() για την ιδιότητα εγγράψιμης κλίμακας.

Δείτε επίσης

 Ελληνικά