Class Camera

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

Camera е Entity което може да се прикрепи към Node за дефиниране на гледна точка в сцената. Поддържа както перспективни, така и ортографски проекции, контролирани от projectionType свойство. Параметрите на камерата се съхраняват в 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) вместо сурови низови литерали за типова безопасност.
 Български