Class Camera
Пакет: @aspose/3d (v24.12.0)
Camera є Entity який можна приєднати до Node для визначення точки зору у сцені. Підтримує як перспективні, так і ортографічні проекції, керовані projectionType property. Параметри камери зберігаються у 3D‑файлі, коли сцена зберігається у формат, що підтримує камери (FBX, COLLADA, glTF).
export class Camera extends EntityEnumerations
A3DObject ← SceneObject ← Entity ← Camera
Enumerations
Додайте перспективну камеру до сцени та налаштуйте її фрустум.
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 | '' | Назва цієї камери, що використовується для її ідентифікації у графі сцени. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Відстань від камери до ближньої площини відсікання. Об’єкти, ближчі за це значення, не відображаються. |
farPlane | number | 1000.0 | Відстань від камери до дальньої площини відсікання. Об’єкти, дальші за це значення, не відображаються. |
aspect | number | 1.0 | Співвідношення ширини до висоти вікна перегляду камери. |
fieldOfView | number | 0.0 | Діагональне поле зору в градусах (перспективна проекція). |
fieldOfViewX | number | 0.0 | Горизонтальне поле зору в градусах. |
fieldOfViewY | number | 0.0 | Вертикальне поле зору в градусах. |
orthoHeight | number | 100.0 | Висота об’єму ортографічної проекції. Має значення лише коли projectionType є 'ORTHOGRAPHIC'. |
width | number | 0.0 | Ширина сенсора або вікна перегляду, використовується коли apertureMode керує виведенням поля зору. |
height | number | 0.0 | Висота сенсора або вікна перегляду. |
aspectRatio | number | 1.0 | Псевдонім для співвідношення сторін, наданий для сумісності з деякими сценами, створеними у FBX. |
Enumerations
moveForward(distance)
Переміщує камеру вперед уздовж її напрямку погляду на задану відстань.
moveForward(distance: number): voidEnumerations
distance number
Відстань, на яку переміщуватися вперед. Від’ємні значення переміщують камеру назад.
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
- У вихідному коді,
Cameraнаслідує відEntity.Lightтакож розширюєCamera, що означаєLightоб’єкти мають усі властивості камери в ієрархії типів; це відображає модель даних FBX, де світла та камери ділять спільний базовий тип вузла. - Використовуйте
ProjectionTypeконстанти класу (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) замість необроблених рядкових літералів для типобезпеки.