Class GlobalTransform

Class GlobalTransform

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

GlobalTransform furnizează o vizualizare numai în citire a transformării în spațiul mondial a unui nod. Este obținută din node.globalTransform și este calculată prin înmulțirea localei Transform matrice ale nodului și ale tuturor strămoșilor săi. Toate proprietățile sunt numai în citire; pentru a schimba poziția mondială a unui nod trebuie să modificați local Transform a nodului sau al unuia dintre strămoșii săi.

export class GlobalTransform

ColladaSaveOptions

Citește poziția în spațiul mondial a unui nod imbricat după încărcarea unui fișier 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

Toate proprietățile din GlobalTransform sunt numai în citire.

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
translationVector3Poziția în spațiul mondial a nodului, în sistemul de coordonate al rădăcinii scenei.
scaleVector3Scara în spațiul mondial — produsul local al nodului scaling și toate scalările strămoșilor. Notă: această proprietate este numită scale (nu scaling) pentru a o distinge de spațiul local Transform.scaling.
rotationQuaternionOrientarea în spațiul global ca un cuaternion unitate.
eulerAnglesVector3Rotația în spațiul global exprimată ca unghiuri Euler în radiani, derivată din rotation cuaternionul.
transformMatrixMatrix4Matricea completă de transformare local-la-global 4×4.

ColladaSaveOptions

  • GlobalTransform este calculată la momentul citirii. Nu există un pas manual de reîmprospătare; fiecare acces la node.globalTransform returnează o captură proaspăt calculată.
  • ColladaSaveOptions scale proprietate pe GlobalTransform corespunde la local scaling proprietate activată Transform. Diferența de nume este intenționată: scale (singular) indică o valoare derivată în spațiul lumii, în timp ce scaling (formă de substantiv) indică proprietatea locală setabilă.
  • Deplasări geometrice (geometricTranslation, geometricScaling, geometricRotation pe Transform) sunt aplicate geometriei proprii a nodului, dar nu sunt propagate către copii; GlobalTransform nu include deplasări geometrice.
 Română