GlobalTransform

GlobalTransform

Methods

GlobalTransform 是一个 只读 的快照 Node的世界空间变换。它是通过 node.global_transform 并反映了节点自身的组合 Transform 包括每个祖先的变换,直至场景根节点。.

所有属性都是只读的。要更改节点的位置,请修改节点的本地 Transform 而不是。.

Methods: aspose.threed

from aspose.threed import GlobalTransform

GlobalTransform 通常不会直接实例化;你是从 node.global_transform.

Methods

MethodsMethodsMethods
translationVector3节点的世界空间位置
scaleVector3节点的世界空间缩放
rotationQuaternion以四元数表示的世界空间旋转
euler_anglesVector3以弧度为单位的欧拉角形式的世界空间旋转 (roll, pitch, yaw)
transform_matrixMatrix4完整的 4×4 世界空间变换矩阵

Methods

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)

Methods

  • GlobalTransform 在该时刻计算 node.global_transform 被访问;它是 不是 动态更新,如果父节点的 Transform 稍后更改。.
  • Methods scale 属性名称在 GlobalTransformscale (不是 scaling) Transform 使用 scaling 用于可写的比例属性。.

另请参阅

 中文