Class GlobalTransform

Class GlobalTransform

包:: @aspose/3d (v24.12.0)

GlobalTransform 提供节点的世界空间变换的只读视图。它是从 node.globalTransform 并通过将本地相乘来计算 Transform 节点及其所有祖先的矩阵。所有属性都是只读的;要更改节点的世界位置,必须修改本地 Transform 节点或其某个祖先的。.

export class GlobalTransform

Properties

在加载 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 是只读的。.

PropertiesPropertiesProperties
translationVector3节点的世界空间位置,位于场景根的坐标系中。.
scaleVector3世界空间缩放 — 节点本地的乘积 scaling 以及所有祖先的缩放。注意:此属性被命名为 scale (不是 scaling) 用于将其与本地空间区分开 Transform.scaling.
rotationQuaternion世界空间方向,以单位四元数表示。.
eulerAnglesVector3世界空间旋转,以弧度制欧拉角表示,来源于 rotation quaternion.
transformMatrixMatrix4完整的本地到世界 4×4 变换矩阵。.

Properties

  • GlobalTransform 在读取时计算。没有手动刷新步骤;每次访问 to node.globalTransform 返回一个新计算的 snapshot。.
  • Properties scale 属性在 GlobalTransform 对应本地 scaling 属性在 Transform. 名称差异是有意的:: scale (单数)表示一个世界空间派生值,而 scaling (名词形式)表示本地可设置属性。.
  • 几何偏移(geometricTranslation, geometricScaling, geometricRotationTransform) 应用于节点自身的几何体,但不会传播到子节点;; GlobalTransform 不包括几何偏移。.
 中文