Class Camera
Gói: @aspose/3d (v24.12.0)
Camera là một Entity có thể được gắn vào một Node để xác định góc nhìn trong cảnh. Nó hỗ trợ cả phép chiếu phối cảnh và trực giao, được điều khiển bởi projectionType thuộc tính. Các tham số máy ảnh được lưu trong tệp 3D khi cảnh được lưu dưới định dạng hỗ trợ máy ảnh (FBX, COLLADA, glTF).
export class Camera extends EntityEnumerations
A3DObject ← SceneObject ← Entity ← Camera
Enumerations
Thêm một camera phối cảnh vào cảnh và cấu hình khối nhìn của nó.
import { Scene, Node, Camera, ProjectionType } from '@aspose/3d';
const scene = new Scene();
const camNode = scene.rootNode.createChildNode('mainCamera');
const camera = new Camera('mainCamera', ProjectionType.PERSPECTIVE);
camNode.entity = camera;
camera.nearPlane = 0.1;
camera.farPlane = 500;
camera.fieldOfView = 60;
camera.aspect = 16 / 9;
scene.save('output.gltf');
console.log(`Camera projection: ${camera.projectionType}`);
// Camera projection: PERSPECTIVE
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
name | string | '' | Tên của máy ảnh này, được dùng để xác định nó trong đồ thị cảnh. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Khoảng cách từ máy ảnh đến mặt cắt gần. Các đối tượng gần hơn giá trị này sẽ không được hiển thị. |
farPlane | number | 1000.0 | Khoảng cách từ máy ảnh đến mặt cắt xa. Các đối tượng xa hơn giá trị này sẽ không được hiển thị. |
aspect | number | 1.0 | Tỷ lệ khung hình chiều rộng trên chiều cao của khung nhìn máy ảnh. |
fieldOfView | number | 0.0 | Trường nhìn chéo tính bằng độ (phép chiếu phối cảnh). |
fieldOfViewX | number | 0.0 | Góc nhìn ngang tính bằng độ. |
fieldOfViewY | number | 0.0 | Góc nhìn dọc tính bằng độ. |
orthoHeight | number | 100.0 | Chiều cao của orthographic projection volume. Chỉ có liên quan khi projectionType là 'ORTHOGRAPHIC'. |
width | number | 0.0 | Chiều rộng cảm biến hoặc khung nhìn, được sử dụng khi apertureMode kiểm soát việc suy ra FOV. |
height | number | 0.0 | Chiều cao cảm biến hoặc khung nhìn. |
aspectRatio | number | 1.0 | Tên thay thế cho tỷ lệ khung hình, được cung cấp để tương thích với một số cảnh có nguồn gốc từ FBX. |
Enumerations
moveForward(distance)
Di chuyển camera về phía trước dọc theo hướng nhìn của nó theo khoảng cách đã cho.
moveForward(distance: number): voidEnumerations
distance number
Khoảng cách di chuyển về phía trước. Giá trị âm sẽ di chuyển camera về phía sau.
Enumerations
void
Enumerations
import { Scene, Camera, ProjectionType } from '@aspose/3d';
const scene = new Scene();
const camNode = scene.rootNode.createChildNode('cam');
const camera = new Camera('cam', ProjectionType.PERSPECTIVE);
camNode.entity = camera;
camera.moveForward(10);
console.log('Camera moved forward by 10 units.');Enumerations
- Trong nguồn,
Camerakế thừa từEntity.Lightcũng mở rộngCamera, có nghĩa làLightcác đối tượng có tất cả các thuộc tính của camera trong hệ thống kiểu; điều này phản ánh mô hình dữ liệu FBX, nơi đèn và camera chia sẻ một loại nút cơ sở chung. - Sử dụng
ProjectionTypecác hằng lớp (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) thay vì các chuỗi nguyên thuỷ để đảm bảo an toàn kiểu.