GlobalTransform

GlobalTransform — Aspose.3D FOSS for Python API Reference

Example

GlobalTransform är en skrivskyddad ögonblicksbild av en Node’s världsrums-transformation. Den erhålls via node.global_transform och återspeglar sammansättningen av nodens egna Transform med varje förälders transform upp till scenroten.

Alla egenskaper är skrivskyddade. För att ändra en nods position, ändra nodens lokala Transform istället.

Example: aspose.threed

from aspose.threed import GlobalTransform

GlobalTransform instansieras normalt inte direkt; du får den från node.global_transform.

Example

ExampleExampleExample
translationVector3Världsrumsposition för noden
scaleVector3Världsrums-skala för noden
rotationQuaternionVärldsrumsrotation som en kvaternion
euler_anglesVector3Världsrumsrotation som Euler-vinklar i radianer (roll, pitch, yaw)
transform_matrixMatrix4Fullständig 4×4 världsrumstransformmatris

Example

from aspose.threed import Scene
from aspose.threed.utilities import Vector3
import math

scene = Scene()

# Create a parent node at (10, 0, 0)
parent = scene.root_node.create_child_node("parent")
parent.transform.translation = Vector3(10.0, 0.0, 0.0)

# Create a child node at (5, 0, 0) relative to parent
child = parent.create_child_node("child")
child.transform.translation = Vector3(5.0, 0.0, 0.0)

# Read world-space position
gt = child.global_transform
print(gt.translation)          # Vector3(15.0, 0.0, 0.0)
print(gt.scale)                # Vector3(1.0, 1.0, 1.0)

# Access the 4x4 matrix directly
mat = gt.transform_matrix
print(mat.m03)   # 15.0 — world-space X translation

# Euler angles in degrees
angles = gt.euler_angles
print(math.degrees(angles.x))   # 0.0 (no rotation)

# Using evaluate_global_transform to include geometric offset
manual_mat = child.evaluate_global_transform(True)

Example

  • GlobalTransform beräknas vid tidpunkten node.global_transform när den nås; den är inte uppdateras dynamiskt om en föräldranod Transform senare ändringar.
  • Example scale egenskapsnamn på GlobalTransform är scale (inte scaling). Den lokala Transform använder scaling för den skrivbara skalegenskapen.

Se även

 Svenska