Class GlobalTransform

Class GlobalTransform

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

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

export class GlobalTransform

Notes

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

Notes

Усі властивості на GlobalTransform є лише для читання.

NotesNotesNotes
translationVector3Позиція вузла у світовому просторі, у системі координат кореня сцени.
scaleVector3Масштаб у світовому просторі — добуток локального scaling і всіх масштабувань предків. Примітка: ця властивість називається scale (не scaling) щоб відрізнити її від локального простору Transform.scaling.
rotationQuaternionОрієнтація у світовому просторі у вигляді одиничного кватерніону.
eulerAnglesVector3Поворот у світовому просторі, виражений у вигляді кутів Ейлера в радіанах, отриманий з rotation кватерніон.
transformMatrixMatrix4Повна матриця перетворення 4×4 від локального до світового.

Notes

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