Class GlobalTransform

Class GlobalTransform

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

GlobalTransform biedt een alleen-lezen weergave van de wereldruimte-transformatie van een knoop. Het wordt verkregen van node.globalTransform en wordt berekend door de lokale Transform matrices van de knoop en al haar voorouders te vermenigvuldigen. Alle eigenschappen zijn alleen-lezen; om de wereldpositie van een knoop te wijzigen moet je de lokale Transform van de knoop of van een van haar voorouders aanpassen.

export class GlobalTransform

BoundingBoxExtent

Lees de wereldruimtepositie van een geneste node na het laden van een FBX-bestand.

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);

BoundingBoxExtent

Alle eigenschappen op GlobalTransform zijn alleen-lezen.

BoundingBoxExtentBoundingBoxExtentBoundingBoxExtent
translationVector3Wereldruimtepositie van de knoop, in het coördinatensysteem van de scenewortel.
scaleVector3Wereldruimteschaal — het product van de lokale scaling en alle voorouder-schaalvergrotingen. Opmerking: deze eigenschap heet scale (niet scaling) om het te onderscheiden van de lokale-ruimte Transform.scaling.
rotationQuaternionWereldruimteoriëntatie als een eenheidsquaternion.
eulerAnglesVector3Wereldruimterotatie uitgedrukt als Euler-hoeken in radialen, afgeleid van de rotation quaternion.
transformMatrixMatrix4De volledige lokaal-naar-wereld 4×4 transformatie-matrix.

BoundingBoxExtent

  • GlobalTransform wordt berekend op het moment van lezen. Er is geen handmatige verversstap; elke toegang tot node.globalTransform geeft een vers berekende snapshot terug.
  • BoundingBoxExtent scale eigenschap op GlobalTransform komt overeen met de lokale scaling eigenschap op Transform. Het naamverschil is opzettelijk: scale (enkelvoud) geeft een afgeleide waarde in wereldruimte aan, terwijl scaling (zelfstandig naamwoord) geeft de lokaal instelbare eigenschap aan.
  • Geometrische offsets (geometricTranslation, geometricScaling, geometricRotation op Transform) worden toegepast op de eigen geometrie van de node, maar worden niet doorgegeven aan kinderen; GlobalTransform bevat geen geometrische offsets.
 Nederlands