GlobalTransform

GlobalTransform

GlobalTransform je samo za čitanje snimka Nodesvjetsku transformaciju. Dobiva se putem node.global_transform i odražava sastav vlastitog čvora Transform s transformacijom svakog pretka sve do korijena scene.

Sva svojstva su samo za čitanje. Za promjenu položaja čvora, izmijenite lokalni Transform umjesto toga.

from aspose.threed import GlobalTransform

GlobalTransform obično se ne instancira izravno; dobivate ga iz node.global_transform.

| ————————- | ————————- | ———————————————————————– | | translation | Vector3 | Svjetski položaj čvora | | scale | Vector3 | Svjetska skala čvora | | rotation | Quaternion | Svjetska rotacija kao kvaternion | | euler_angles | Vector3 | Svjetska rotacija kao Eulerovi kutovi u radijanima (roll, pitch, yaw) | | transform_matrix | Matrix4 | Kompletna 4×4 svjetska transformacijska 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; ona je ne dinamički ažurirano ako je roditeljskog čvora Transform kasnije promjene.

Vidi također

 Hrvatski