Class GlobalTransform

Class GlobalTransform

Пакет: @aspose/3d (v24.12.0)

GlobalTransform предоставляет только для чтения представление трансформации узла в мировом пространстве. Оно получается из node.globalTransform и вычисляется умножением локальных Transform матриц узла и всех его предков. Все свойства только для чтения; чтобы изменить мировую позицию узла, необходимо изменить локальные Transform узла или одного из его предков.

export class GlobalTransform

ColladaSaveOptions

Прочитайте мировую позицию вложенного узла после загрузки файла 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);

ColladaSaveOptions

Все свойства на GlobalTransform только для чтения.

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
translationVector3Позиция узла в мировом пространстве, в системе координат корня сцены.
scaleVector3Масштаб в мировом пространстве — произведение локального scaling и всех масштабов предков. Примечание: это свойство называется scale (не scaling) чтобы отличить его от локального пространства Transform.scaling.
rotationQuaternionОриентация в мировом пространстве в виде единичного кватерниона.
eulerAnglesVector3Вращение в мировом пространстве, выраженное углами Эйлера в радианах, полученное из the rotation quaternion.
transformMatrixMatrix4Полная матрица преобразования из локального в мировой 4×4.

ColladaSaveOptions

  • GlobalTransform вычисляется во время чтения. Нет ручного шага обновления; каждый доступ к node.globalTransform возвращает только что вычисленный снимок.
  • ColladaSaveOptions scale свойство на GlobalTransform соответствует локальному scaling свойство на Transform. Различие в названии намеренно: scale (singular) указывает на полученное значение в мировом пространстве, тогда как scaling (noun form) указывает на локальное настраиваемое свойство.
  • Геометрические смещения (geometricTranslation, geometricScaling, geometricRotation на Transform) применяются к собственной геометрии узла, но не передаются дочерним элементам; GlobalTransform не включает геометрические смещения.
 Русский