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 GlobalTransformBoundingBoxExtent
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.
| BoundingBoxExtent | BoundingBoxExtent | BoundingBoxExtent |
|---|---|---|
translation | Vector3 | Wereldruimtepositie van de knoop, in het coördinatensysteem van de scenewortel. |
scale | Vector3 | Wereldruimteschaal — 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. |
rotation | Quaternion | Wereldruimteoriëntatie als een eenheidsquaternion. |
eulerAngles | Vector3 | Wereldruimterotatie uitgedrukt als Euler-hoeken in radialen, afgeleid van de rotation quaternion. |
transformMatrix | Matrix4 | De volledige lokaal-naar-wereld 4×4 transformatie-matrix. |
BoundingBoxExtent
GlobalTransformwordt berekend op het moment van lezen. Er is geen handmatige verversstap; elke toegang totnode.globalTransformgeeft een vers berekende snapshot terug.- BoundingBoxExtent
scaleeigenschap opGlobalTransformkomt overeen met de lokalescalingeigenschap opTransform. Het naamverschil is opzettelijk:scale(enkelvoud) geeft een afgeleide waarde in wereldruimte aan, terwijlscaling(zelfstandig naamwoord) geeft de lokaal instelbare eigenschap aan. - Geometrische offsets (
geometricTranslation,geometricScaling,geometricRotationopTransform) worden toegepast op de eigen geometrie van de node, maar worden niet doorgegeven aan kinderen;GlobalTransformbevat geen geometrische offsets.