GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform adalah hanya-baca snapshot dari sebuah Node’s transformasi ruang-dunia. Ini diperoleh melalui node.getGlobalTransform() dan mencerminkan komposisi milik node sendiri Transform dengan transformasi setiap nenek moyang hingga akar scene.

Semua properti bersifat hanya-baca. Untuk mengubah posisi node, ubah lokal node Transform sebagai gantinya.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform tidak biasanya diinstansiasi secara langsung; Anda menerimanya dari node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()Posisi ruang dunia node
scaleVector3getScale()Skala ruang dunia node
rotationQuaterniongetRotation()Rotasi ruang dunia sebagai quaternion
eulerAnglesVector3getEulerAngles()Rotasi ruang dunia sebagai sudut Euler dalam radian (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Matriks transformasi ruang dunia 4x4 lengkap

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 dihitung pada saat node.getGlobalTransform() diakses; itu tidak diperbarui secara dinamis jika node induk Transform perubahan selanjutnya.
  • Getter adalah getScale() aktif GlobalTransform (tidak getScaling()). Lokal Transform menggunakan getScaling() untuk properti skala yang dapat ditulis.

Lihat Juga

 Bahasa Indonesia