GlobalTransform

GlobalTransform

GlobalTransform je samo za čitanje snimak Node’s svetska transformacija. Dobija se putem node.global_transform i odražava sastav sopstvene Transform sa transformacijom svakog pretka do korena scene.

Sva svojstva su samo za čitanje. Da biste promenili položaj čvora, izmenite lokalni Transform umesto toga.

from aspose.threed import GlobalTransform

GlobalTransform obično se ne instancira direktno; dobijate ga iz node.global_transform.

| ————————- | ————————- | ————————————————————————– | | translation | Vector3 | World-space pozicija čvora | | scale | Vector3 | World-space skala čvora | | rotation | Quaternion | World-space rotacija kao kvaternion | | euler_angles | Vector3 | World-space rotacija kao Eulerovi uglovi u radijanima (roll, pitch, yaw) | | transform_matrix | Matrix4 | Kompletna 4×4 world-space transformaciona matrica |

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)
  • GlobalTransform se izračunava u trenutku node.global_transform se pristupa; to je ne dinamički ažurirano ako je roditeljskog čvora Transform kasnije promene.

Vidi takođe

 Српски