Class GlobalTransform

Class GlobalTransform

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

GlobalTransform fornece uma visualização somente leitura da transformação em espaço mundial de um nó. É obtido a partir de node.globalTransform e é calculado multiplicando a Transform matrizes do nó e de todos os seus ancestrais. Todas as propriedades são somente leitura; para alterar a posição mundial de um nó, você deve modificar a Transform do nó ou de um de seus ancestrais.

export class GlobalTransform

ColladaSaveOptions

Leia a posição no espaço mundial de um nó aninhado após carregar um arquivo 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

Todas as propriedades em GlobalTransform são somente leitura.

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
translationVector3Posição em espaço mundial do nó, no sistema de coordenadas da raiz da cena.
scaleVector3Escala em espaço mundial — o produto da escala local do nó scaling e todas as escalas dos ancestrais. Nota: esta propriedade é chamada scale (não scaling) para distingui‑lo do espaço local Transform.scaling.
rotationQuaternionOrientação no espaço mundial como um quaternion unitário.
eulerAnglesVector3Rotação no espaço mundial expressa como ângulos de Euler em radianos, derivada da rotation quaternion.
transformMatrixMatrix4A matriz de transformação completa local‑para‑mundial 4×4.

ColladaSaveOptions

  • GlobalTransform é calculado no momento da leitura. Não há etapa de atualização manual; cada acesso a node.globalTransform retorna uma captura de tela recém‑calculada.
  • ColladaSaveOptions scale propriedade em GlobalTransform corresponde ao local scaling propriedade ativada Transform. A diferença de nome é intencional: scale (singular) indica um valor derivado no espaço mundial, enquanto scaling (forma substantiva) indica a propriedade local configurável.
  • Deslocamentos geométricos (geometricTranslation, geometricScaling, geometricRotation em Transform) são aplicados à própria geometria do nó, mas não são propagados para os filhos; GlobalTransform não inclui deslocamentos geométricos.
 Português