Class Camera
Paket: @aspose/3d (v24.12.0)
Camera adalah sebuah Entity yang dapat dilampirkan ke sebuah Node untuk mendefinisikan sudut pandang dalam adegan. Ini mendukung proyeksi perspektif dan ortografik, dikendalikan oleh projectionType properti. Parameter kamera disimpan dalam file 3D ketika adegan disimpan ke format yang mendukung kamera (FBX, COLLADA, glTF).
export class Camera extends EntityEnumerations
inverse()
Enumerations
Tambahkan kamera perspektif ke sebuah adegan dan konfigurasikan frustum‑nya.
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 | '' | Nama kamera ini, digunakan untuk mengidentifikasinya dalam grafik adegan. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Jarak dari kamera ke bidang pemotongan dekat. Objek yang lebih dekat daripada nilai ini tidak akan dirender. |
farPlane | number | 1000.0 | Jarak dari kamera ke bidang pemotongan jauh. Objek yang lebih jauh daripada nilai ini tidak akan dirender. |
aspect | number | 1.0 | Rasio aspek lebar-tinggi dari viewport kamera. |
fieldOfView | number | 0.0 | Bidang pandang diagonal dalam derajat (proyeksi perspektif). |
fieldOfViewX | number | 0.0 | Bidang pandang horizontal dalam derajat. |
fieldOfViewY | number | 0.0 | Bidang pandang vertikal dalam derajat. |
orthoHeight | number | 100.0 | Tinggi volume proyeksi ortografik. Hanya relevan ketika projectionType adalah 'ORTHOGRAPHIC'. |
width | number | 0.0 | Lebar sensor atau viewport, digunakan ketika apertureMode mengontrol derivasi FOV. |
height | number | 0.0 | Tinggi sensor atau viewport. |
aspectRatio | number | 1.0 | Alias untuk rasio aspek, disediakan untuk kompatibilitas dengan beberapa adegan yang berasal dari FBX. |
Enumerations
moveForward(distance)
Memindahkan kamera ke depan sepanjang arah pandangannya sebesar jarak yang diberikan.
moveForward(distance: number): voidEnumerations
distance number
Jarak untuk bergerak maju. Nilai negatif akan memindahkan kamera mundur.
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
- Di sumber,
Cameramewarisi dariEntity.Lightjuga memperluasCamera, yang berartiLightobjek memiliki semua properti kamera dalam hierarki tipe; ini mencerminkan model data FBX di mana lampu dan kamera berbagi tipe node dasar yang sama. - Gunakan
ProjectionTypekonstanta kelas (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) daripada literal string mentah untuk keamanan tipe.