Class GlobalTransform
패키지: @aspose/3d (v24.12.0)
GlobalTransform 노드의 월드 스페이스 변환에 대한 읽기 전용 뷰를 제공합니다. 이는 다음에서 얻어집니다 node.globalTransform 그리고 로컬을 곱하여 계산됩니다 Transform 노드와 모든 조상의 행렬을 곱합니다. 모든 속성은 읽기 전용입니다; 노드의 월드 위치를 변경하려면 로컬을 수정해야 합니다 Transform 노드의 로컬이거나 그 조상 중 하나의 로컬.
export class GlobalTransformColladaSaveOptions
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
에 있는 모든 속성은 GlobalTransform 읽기 전용입니다.
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
translation | Vector3 | 노드의 월드 스페이스 위치이며, 씬 루트의 좌표계에 기준합니다. |
scale | Vector3 | World-space scale — 노드의 로컬 스케일과 scaling 및 모든 조상 스케일링. 참고: 이 속성은 다음과 같이 명명됩니다 scale (not scaling)를 로컬-스페이스와 구별하기 위해 Transform.scaling. |
rotation | Quaternion | World-space orientation을 단위 쿼터니언으로 표현합니다. |
eulerAngles | Vector3 | World-space rotation은 라디안 단위의 오일러 각으로 표현되며, rotation 쿼터니언. |
transformMatrix | Matrix4 | 전체 로컬-투-월드 4×4 변환 행렬. |
ColladaSaveOptions
GlobalTransform읽기 시점에 계산됩니다. 수동 새로 고침 단계가 없으며; 모든 접근은node.globalTransform새로 계산된 스냅샷을 반환합니다.- ColladaSaveOptions
scale속성 onGlobalTransform로컬에 해당합니다scaling속성 onTransform. 이름 차이는 의도된 것입니다:scale(singular) 은(는) 월드 스페이스에서 파생된 값을 나타내며,scaling(noun form) 은(는) 로컬에서 설정 가능한 속성을 나타냅니다. - 기하학적 오프셋 (
geometricTranslation,geometricScaling,geometricRotationonTransform)는 노드 자체의 기하에 적용되지만 자식에게는 전파되지 않습니다;GlobalTransform기하학적 오프셋을 포함하지 않습니다.