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 Entity

ImageRenderOptions

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

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
namestring''Nama kamera ini, digunakan untuk mengenalinya dalam graf adegan.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Jarak dari kamera ke satah pemotongan dekat. Objek yang lebih dekat daripada nilai ini tidak akan dipaparkan.
farPlanenumber1000.0Jarak dari kamera ke satah pemotongan jauh. Objek yang lebih jauh daripada nilai ini tidak akan dipaparkan.
aspectnumber1.0Nisbah aspek lebar-tinggi bagi viewport kamera.
fieldOfViewnumber0.0Medan pandang diagonal dalam darjah (proyeksi perspektif).
fieldOfViewXnumber0.0Medan pandangan mendatar dalam darjah.
fieldOfViewYnumber0.0Medan pandangan menegak dalam darjah.
orthoHeightnumber100.0Ketinggian isipadu unjuran ortografik. Hanya relevan apabila projectionType adalah 'ORTHOGRAPHIC'.
widthnumber0.0Lebar sensor atau viewport, digunakan apabila apertureMode mengawal derivasi FOV.
heightnumber0.0Ketinggian sensor atau viewport.
aspectRationumber1.0Alias 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): void

ImageRenderOptions

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, Camera mewarisi dari Entity. Light juga meluaskan Camera, yang bermakna Light objek mempunyai semua sifat kamera dalam hierarki jenis; ini mencerminkan model data FBX di mana lampu dan kamera berkongsi jenis nod asas yang sama.
  • Gunakan ProjectionType pemalar kelas (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) daripada literal rentetan mentah untuk keselamatan jenis.
 Bahasa Melayu