Class GlobalTransform

Class GlobalTransform

Gói: @aspose/3d (v24.12.0)

GlobalTransform cung cấp một chế độ xem chỉ đọc của phép biến đổi không gian thế giới của một nút. Nó được lấy từ node.globalTransform và được tính bằng cách nhân các ma trận cục bộ Transform của nút và tất cả các tổ tiên của nó. Tất cả các thuộc tính đều chỉ đọc; để thay đổi vị trí thế giới của một nút, bạn phải sửa đổi cục bộ Transform của nút hoặc một trong các tổ tiên của nó.

export class GlobalTransform

Notes

Đọc vị trí không gian toàn cục của một node lồng nhau sau khi tải tệp 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);

Notes

Tất cả các thuộc tính trên GlobalTransform đều chỉ đọc.

NotesNotesNotes
translationVector3Vị trí không gian thế giới của nút, trong hệ tọa độ của gốc cảnh.
scaleVector3Tỷ lệ không gian thế giới — tích của cục bộ của nút scaling và tất cả các tỷ lệ của tổ tiên. Lưu ý: thuộc tính này được đặt tên là scale (không phải scaling) để phân biệt nó với không gian cục bộ Transform.scaling.
rotationQuaternionĐịnh hướng không gian thế giới dưới dạng quaternion đơn vị.
eulerAnglesVector3Quay không gian thế giới được biểu diễn dưới dạng góc Euler tính bằng radian, được suy ra từ the rotation quaternion.
transformMatrixMatrix4Ma trận biến đổi 4×4 đầy đủ từ cục bộ sang thế giới.

Notes

  • GlobalTransform được tính toán tại thời điểm đọc. Không có bước làm mới thủ công; mỗi lần truy cập vào node.globalTransform trả về một snapshot được tính toán mới.
  • Notes scale thuộc tính trên GlobalTransform tương ứng với cục bộ scaling thuộc tính trên Transform. Sự khác biệt về tên là có chủ đích: scale (singular) chỉ một giá trị được suy ra trong không gian toàn cục, trong khi scaling (noun form) chỉ thuộc tính cục bộ có thể đặt.
  • Độ dịch hình học (geometricTranslation, geometricScaling, geometricRotation trên Transform) được áp dụng cho hình học của chính node nhưng không được truyền cho các nút con; GlobalTransform không bao gồm độ dịch hình học.
 Tiếng Việt