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 GlobalTransformColladaSaveOptions
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.
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
translation | Vector3 | Pozycja w przestrzeni światowej węzła, w układzie współrzędnych korzenia sceny. |
scale | Vector3 | Skala 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. |
rotation | Quaternion | World-space orientacja jako jednostkowy quaternion. |
eulerAngles | Vector3 | World-space rotacja wyrażona jako kąty Eulera w radianach, pochodząca z rotation quaternionu. |
transformMatrix | Matrix4 | Pełna macierz transformacji local-to-world 4×4. |
ColladaSaveOptions
GlobalTransformjest obliczane w czasie odczytu. Nie ma ręcznego kroku odświeżania; każdy dostęp donode.globalTransformzwraca świeżo obliczony snapshot.- ColladaSaveOptions
scalewłaściwość naGlobalTransformodpowiada localscalingwłaściwość włączonaTransform. Różnica w nazwie jest zamierzona:scale(pojedyncza) wskazuje wartość pochodzącą z przestrzeni świata, podczas gdyscaling(forma rzeczownikowa) wskazuje lokalną ustawialną właściwość. - Przesunięcia geometryczne (
geometricTranslation,geometricScaling,geometricRotationwłączoneTransform);GlobalTransformnie obejmuje przesunięć geometrycznych.