Class Camera

Пакет: @aspose/3d (v24.12.0)

Camera є Entity який можна приєднати до Node для визначення точки зору у сцені. Підтримує як перспективні, так і ортографічні проекції, керовані projectionType property. Параметри камери зберігаються у 3D‑файлі, коли сцена зберігається у формат, що підтримує камери (FBX, COLLADA, glTF).

export class Camera extends Entity

Enumerations

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

EnumerationsEnumerationsEnumerationsEnumerations
namestring''Назва цієї камери, що використовується для її ідентифікації у графі сцени.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Відстань від камери до ближньої площини відсікання. Об’єкти, ближчі за це значення, не відображаються.
farPlanenumber1000.0Відстань від камери до дальньої площини відсікання. Об’єкти, дальші за це значення, не відображаються.
aspectnumber1.0Співвідношення ширини до висоти вікна перегляду камери.
fieldOfViewnumber0.0Діагональне поле зору в градусах (перспективна проекція).
fieldOfViewXnumber0.0Горизонтальне поле зору в градусах.
fieldOfViewYnumber0.0Вертикальне поле зору в градусах.
orthoHeightnumber100.0Висота об’єму ортографічної проекції. Має значення лише коли projectionType є 'ORTHOGRAPHIC'.
widthnumber0.0Ширина сенсора або вікна перегляду, використовується коли apertureMode керує виведенням поля зору.
heightnumber0.0Висота сенсора або вікна перегляду.
aspectRationumber1.0Псевдонім для співвідношення сторін, наданий для сумісності з деякими сценами, створеними у FBX.

Enumerations

moveForward(distance)

Переміщує камеру вперед уздовж її напрямку погляду на задану відстань.

moveForward(distance: number): void

Enumerations

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) замість необроблених рядкових літералів для типобезпеки.
 Українська