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 GlobalTransformColladaSaveOptions
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.
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
translation | Vector3 | Poziția în spațiul mondial a nodului, în sistemul de coordonate al rădăcinii scenei. |
scale | Vector3 | Scara î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. |
rotation | Quaternion | Orientarea în spațiul global ca un cuaternion unitate. |
eulerAngles | Vector3 | Rotația în spațiul global exprimată ca unghiuri Euler în radiani, derivată din rotation cuaternionul. |
transformMatrix | Matrix4 | Matricea completă de transformare local-la-global 4×4. |
ColladaSaveOptions
GlobalTransformeste calculată la momentul citirii. Nu există un pas manual de reîmprospătare; fiecare acces lanode.globalTransformreturnează o captură proaspăt calculată.- ColladaSaveOptions
scaleproprietate peGlobalTransformcorespunde la localscalingproprietate activatăTransform. Diferența de nume este intenționată:scale(singular) indică o valoare derivată în spațiul lumii, în timp cescaling(formă de substantiv) indică proprietatea locală setabilă. - Deplasări geometrice (
geometricTranslation,geometricScaling,geometricRotationpeTransform) sunt aplicate geometriei proprii a nodului, dar nu sunt propagate către copii;GlobalTransformnu include deplasări geometrice.