Class GlobalTransform

Class GlobalTransform

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

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

export class GlobalTransform

Enumerations

Прочетете позицията в световното пространство на вложен възел след зареждане на 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);

Enumerations

Всички свойства на GlobalTransform са само за четене.

EnumerationsEnumerationsEnumerations
translationVector3Позиция в световното пространство на възела, в координатната система на корена на сцената.
scaleVector3Скала в световното пространство — произведението от локалната на възела scaling и всички скалиране на предците. Забележка: това свойство е наречено scale (не scaling) за да го отличим от локалното пространство Transform.scaling.
rotationQuaternionОриентация в световното пространство като единичен кватернион.
eulerAnglesVector3Въртене в световното пространство, изразено като ъгли на Юлер в радиани, получено от the rotation кватернион.
transformMatrixMatrix4Пълната 4×4 матрица за трансформация от локално към световно.

Enumerations

  • GlobalTransform се изчислява при четене. Няма ръчна стъпка за опресняване; всеки достъп до node.globalTransform връща току-що изчислен моментен снимков запис.
  • Enumerations scale свойство на GlobalTransform отговаря на локалното scaling свойство на Transform. Разликата в името е умишлена: scale (единствено число) указва стойност, получена в световното пространство, докато scaling (съществително) указва локалното задаваемо свойство.
  • Геометрични отмествания (geometricTranslation, geometricScaling, geometricRotation на Transform) се прилагат към собствената геометрия на възела, но не се предават на децата; GlobalTransform не включва геометрични отмествания.
 Български