Class GlobalTransform

Class GlobalTransform

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

GlobalTransform fournit une vue en lecture seule de la transformation en espace mondial d’un nœud. Elle est obtenue à partir de node.globalTransform et est calculée en multipliant les locales Transform matrices du nœud et de tous ses ancêtres. Toutes les propriétés sont en lecture seule ; pour changer la position mondiale d’un nœud, vous devez modifier le local Transform du nœud ou de l’un de ses ancêtres.

export class GlobalTransform

ColladaSaveOptions

Lire la position dans l’espace mondial d’un nœud imbriqué après le chargement d’un fichier 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

Toutes les propriétés sur GlobalTransform sont en lecture seule.

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
translationVector3Position en espace mondial du nœud, dans le système de coordonnées de la racine de la scène.
scaleVector3Échelle en espace mondial — le produit du local du nœud scaling et toutes les mises à l’échelle des ancêtres. Remarque : cette propriété est nommée scale (pas scaling) pour le distinguer de l’espace local Transform.scaling.
rotationQuaternionOrientation en espace mondial sous forme d’un quaternion unité.
eulerAnglesVector3Rotation en espace mondial exprimée en angles d’Euler en radians, dérivée du rotation quaternion.
transformMatrixMatrix4La matrice de transformation 4×4 complète locale-vers-mondial.

ColladaSaveOptions

  • GlobalTransform est calculée au moment de la lecture. Il n’y a aucune étape de rafraîchissement manuelle ; chaque accès à node.globalTransform renvoie un instantané fraîchement calculé.
  • ColladaSaveOptions scale propriété sur GlobalTransform correspond à l’espace local scaling propriété activée Transform. La différence de nom est intentionnelle : scale (singulier) indique une valeur dérivée de l’espace mondial, tandis que scaling (forme nominale) indique la propriété locale réglable.
  • Décalages géométriques (geometricTranslation, geometricScaling, geometricRotation sur Transform) sont appliqués à la géométrie du nœud lui‑même mais ne sont pas propagés aux enfants ; GlobalTransform n’inclut pas les décalages géométriques.
 Français