Class GlobalTransform
Class GlobalTransform
包:: @aspose/3d (v24.12.0)
GlobalTransform 提供节点的世界空间变换的只读视图。它是从 node.globalTransform 并通过将本地相乘来计算 Transform 节点及其所有祖先的矩阵。所有属性都是只读的;要更改节点的世界位置,必须修改本地 Transform 节点或其某个祖先的。.
export class GlobalTransformProperties
在加载 FBX 文件后读取嵌套节点的世界空间位置。.
import { Scene } from '@aspose/3d';
const scene = new Scene();
scene.open('character.fbx');
function printWorldPositions(node: any, depth: number = 0): void {
const gt = node.globalTransform;
const t = gt.translation;
console.log(`${' '.repeat(depth)}${node.name}: (${t.x.toFixed(3)}, ${t.y.toFixed(3)}, ${t.z.toFixed(3)})`);
for (const child of node.childNodes) {
printWorldPositions(child, depth + 1);
}
}
printWorldPositions(scene.rootNode);Properties
所有属性在 GlobalTransform 是只读的。.
| Properties | Properties | Properties |
|---|---|---|
translation | Vector3 | 节点的世界空间位置,位于场景根的坐标系中。. |
scale | Vector3 | 世界空间缩放 — 节点本地的乘积 scaling 以及所有祖先的缩放。注意:此属性被命名为 scale (不是 scaling) 用于将其与本地空间区分开 Transform.scaling. |
rotation | Quaternion | 世界空间方向,以单位四元数表示。. |
eulerAngles | Vector3 | 世界空间旋转,以弧度制欧拉角表示,来源于 rotation quaternion. |
transformMatrix | Matrix4 | 完整的本地到世界 4×4 变换矩阵。. |
Properties
GlobalTransform在读取时计算。没有手动刷新步骤;每次访问 tonode.globalTransform返回一个新计算的 snapshot。.- Properties
scale属性在GlobalTransform对应本地scaling属性在Transform. 名称差异是有意的::scale(单数)表示一个世界空间派生值,而scaling(名词形式)表示本地可设置属性。. - 几何偏移(
geometricTranslation,geometricScaling,geometricRotation在Transform) 应用于节点自身的几何体,但不会传播到子节点;;GlobalTransform不包括几何偏移。.