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.

: aspose.threed

from aspose.threed import GlobalTransform

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

translationVector3World-space pozicija čvora
scaleVector3World-space skala čvora
rotationQuaternionWorld-space rotacija kao kvaternion
euler_anglesVector3World-space rotacija kao Eulerovi uglovi u radijanima (roll, pitch, yaw)
transform_matrixMatrix4Kompletna 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.
  • scale ime svojstva na GlobalTransform je scale (ne scaling). Lokalni Transform koristi scaling za svojstvo upisive skale.

Vidi takođe

 Српски