Class GlobalTransform

Class GlobalTransform

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

GlobalTransform udostępnia widok tylko do odczytu transformacji w przestrzeni światowej węzła. Jest uzyskiwany z node.globalTransform i jest obliczany przez mnożenie lokalnych Transform macierzy węzła i wszystkich jego przodków. Wszystkie właściwości są tylko do odczytu; aby zmienić pozycję w przestrzeni światowej węzła, musisz zmodyfikować lokalne Transform węzła lub jednego z jego przodków.

export class GlobalTransform

ColladaSaveOptions

Odczytaj pozycję w przestrzeni światowej zagnieżdżonego węzła po załadowaniu pliku 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

Wszystkie właściwości na GlobalTransform są tylko do odczytu.

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
translationVector3Pozycja w przestrzeni światowej węzła, w układzie współrzędnych korzenia sceny.
scaleVector3Skala w przestrzeni światowej — iloczyn lokalnej scaling i wszystkie skalowania przodków. Uwaga: ta właściwość jest nazwana scale (nie scaling) aby odróżnić ją od local-space Transform.scaling.
rotationQuaternionWorld-space orientacja jako jednostkowy quaternion.
eulerAnglesVector3World-space rotacja wyrażona jako kąty Eulera w radianach, pochodząca z rotation quaternionu.
transformMatrixMatrix4Pełna macierz transformacji local-to-world 4×4.

ColladaSaveOptions

  • GlobalTransform jest obliczane w czasie odczytu. Nie ma ręcznego kroku odświeżania; każdy dostęp do node.globalTransform zwraca świeżo obliczony snapshot.
  • ColladaSaveOptions scale właściwość na GlobalTransform odpowiada local scaling właściwość włączona Transform. Różnica w nazwie jest zamierzona: scale (pojedyncza) wskazuje wartość pochodzącą z przestrzeni świata, podczas gdy scaling (forma rzeczownikowa) wskazuje lokalną ustawialną właściwość.
  • Przesunięcia geometryczne (geometricTranslation, geometricScaling, geometricRotation włączone Transform); GlobalTransform nie obejmuje przesunięć geometrycznych.
 Polski