Class Camera
Pakej: @aspose/3d (v24.12.0)
Camera adalah satu Entity yang boleh dilampirkan kepada Node untuk menentukan sudut pandang dalam adegan. Ia menyokong kedua-dua proyeksi perspektif dan ortografik, dikawal oleh projectionType sifat. Parameter kamera disimpan dalam fail 3D apabila adegan disimpan ke format yang menyokong kamera (FBX, COLLADA, glTF).
export class Camera extends EntityImageRenderOptions
A3DObject ← SceneObject ← Entity ← Camera
ImageRenderOptions
Tambah kamera perspektif ke dalam adegan dan konfigurasikan frustumnya.
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
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
name | string | '' | Nama kamera ini, digunakan untuk mengenalinya dalam graf adegan. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Jarak dari kamera ke satah pemotongan dekat. Objek yang lebih dekat daripada nilai ini tidak akan dipaparkan. |
farPlane | number | 1000.0 | Jarak dari kamera ke satah pemotongan jauh. Objek yang lebih jauh daripada nilai ini tidak akan dipaparkan. |
aspect | number | 1.0 | Nisbah aspek lebar-tinggi bagi viewport kamera. |
fieldOfView | number | 0.0 | Medan pandang diagonal dalam darjah (proyeksi perspektif). |
fieldOfViewX | number | 0.0 | Medan pandangan mendatar dalam darjah. |
fieldOfViewY | number | 0.0 | Medan pandangan menegak dalam darjah. |
orthoHeight | number | 100.0 | Ketinggian isipadu unjuran ortografik. Hanya relevan apabila projectionType adalah 'ORTHOGRAPHIC'. |
width | number | 0.0 | Lebar sensor atau viewport, digunakan apabila apertureMode mengawal derivasi FOV. |
height | number | 0.0 | Ketinggian sensor atau viewport. |
aspectRatio | number | 1.0 | Alias untuk nisbah aspek, disediakan untuk keserasian dengan beberapa adegan yang berasal dari FBX. |
ImageRenderOptions
moveForward(distance)
Menggerakkan kamera ke hadapan sepanjang arah pandangannya mengikut jarak yang diberikan.
moveForward(distance: number): voidImageRenderOptions
distance number
Jarak untuk bergerak ke hadapan. Nilai negatif menggerakkan kamera ke belakang.
ImageRenderOptions
void
ImageRenderOptions
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.');ImageRenderOptions
- Dalam sumber,
Cameramewarisi dariEntity.Lightjuga meluaskanCamera, yang bermaknaLightobjek mempunyai semua sifat kamera dalam hierarki jenis; ini mencerminkan model data FBX di mana lampu dan kamera berkongsi jenis nod asas yang sama. - Gunakan
ProjectionTypepemalar kelas (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) daripada literal rentetan mentah untuk keselamatan jenis.