Class Camera
Pakke: @aspose/3d (v24.12.0)
Camera er en Entity der kan vedhæftes til en Node for at definere et synspunkt i scenen. Den understøtter både perspektiv- og ortografiske projektioner, styret af projectionType egenskaben. Kamera‑parametre gemmes i 3D‑filen, når scenen gemmes i et format, der understøtter kameraer (FBX, COLLADA, glTF).
export class Camera extends EntityProperties
Destinationsfilens sti. Filendelsen bestemmer outputformatet (f.eks. .glb → GLB, .gltf → glTF JSON, .stl → STL).
Properties
Tilføj et perspektivkamera til en scene og konfigurer dets frustum.
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
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
name | string | '' | Navnet på dette kamera, der bruges til at identificere det i scenegrafen. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Afstand fra kameraet til den nærmeste klippeplan. Objekter, der er tættere på end denne værdi, renderes ikke. |
farPlane | number | 1000.0 | Afstand fra kameraet til den fjerneste klippeplan. Objekter, der er længere væk end denne værdi, renderes ikke. |
aspect | number | 1.0 | Bredde‑til‑højde‑aspektforholdet for kameraets viewport. |
fieldOfView | number | 0.0 | Diagonal synsfelt i grader (perspektivprojektion). |
fieldOfViewX | number | 0.0 | Horisontalt synsfelt i grader. |
fieldOfViewY | number | 0.0 | Vertikalt synsfelt i grader. |
orthoHeight | number | 100.0 | Højden på den ortografiske projektionens volumen. Kun relevant når projectionType er 'ORTHOGRAPHIC'. |
width | number | 0.0 | Sensor‑ eller viewport‑bredde, brugt når apertureMode styrer FOV‑afledning. |
height | number | 0.0 | Sensor‑ eller viewport‑højde. |
aspectRatio | number | 1.0 | Alias for aspektforholdet, leveret for kompatibilitet med nogle FBX‑oprindelige scener. |
Properties
moveForward(distance)
Flytter kameraet fremad langs dets kig‑retning med den angivne afstand.
moveForward(distance: number): voidProperties
distance number
Afstanden, der skal flyttes fremad. Negative værdier flytter kameraet bagud.
Properties
void
Properties
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.');Properties
- I kilden,
Cameraarver fraEntity.Lightudvider ogsåCamera, hvilket betyderLightobjekter har alle kameraegenskaber i typehierarkiet; dette afspejler FBX-datamodellen, hvor lys og kameraer deler en fælles basenodetype. - Brug
ProjectionTypeklassekonstanter (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) i stedet for rå strenglitteraler for typesikkerhed.