Class Camera
Пакет: @aspose/3d (v24.12.0)
Camera е Entity което може да се прикрепи към Node за дефиниране на гледна точка в сцената. Поддържа както перспективни, така и ортографски проекции, контролирани от projectionType свойство. Параметрите на камерата се съхраняват в 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) вместо сурови низови литерали за типова безопасност.