GlobalTransform — Aspose.3D FOSS for Java
Notes
GlobalTransform เป็น อ่านอย่างเดียว สแนปช็อตของ Node’s การแปลงเชิงพื้นที่โลก. ได้รับผ่าน node.getGlobalTransform() และสะท้อนการประกอบของโหนดเอง Transform กับการแปลงของบรรพบุรุษทุกระดับจนถึงรากของฉาก.
คุณสมบัติทั้งหมดเป็นแบบอ่านอย่างเดียว. เพื่อเปลี่ยนตำแหน่งของโหนด, แก้ไข local ของโหนด Transform แทน.
Notes: com.aspose.threed
import com.aspose.threed.GlobalTransform;GlobalTransform โดยปกติจะไม่ถูกสร้างอินสแตนซ์โดยตรง; คุณจะได้รับมันจาก node.getGlobalTransform().
Notes
| Notes | Notes | Notes | Notes |
|---|---|---|---|
translation | Vector3 | getTranslation() | ตำแหน่ง World-space ของโหนด |
scale | Vector3 | getScale() | สเกล World-space ของโหนด |
rotation | Quaternion | getRotation() | การหมุน World-space เป็น quaternion |
eulerAngles | Vector3 | getEulerAngles() | การหมุน World-space เป็นมุมออยเลอร์ในหน่วยเรเดียน (roll, pitch, yaw) |
transformMatrix | Matrix4 | getTransformMatrix() | เมทริกซ์การแปลง World-space 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()สำหรับคุณสมบัติสเกลที่เขียนได้.