Class Camera
Pakke: @aspose/3d (v24.12.0)
Camera er en Entity som kan festes til en Node for å definere et synspunkt i scenen. Den støtter både perspektiv- og ortografiske projeksjoner, kontrollert av den projectionType egenskapen. Kameraparametere lagres i 3D-filen når scenen lagres til et format som støtter kameraer (FBX, COLLADA, glTF).
export class Camera extends EntityImageRenderOptions
A3DObject ← SceneObject ← Entity ← Camera
ImageRenderOptions
Legg til et perspektivkamera i en scene og konfigurer dens 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
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
name | string | '' | Navnet på dette kameraet, brukt for å identifisere det i scenegrafen. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Avstand fra kameraet til den nærmeste klippeplanen. Objekter som er nærmere enn denne verdien blir ikke gjengitt. |
farPlane | number | 1000.0 | Avstand fra kameraet til den fjerneste klippeplanen. Objekter som er lenger enn denne verdien blir ikke gjengitt. |
aspect | number | 1.0 | Bredde‑til‑høyde-aspektforholdet for kameraets visningsområde. |
fieldOfView | number | 0.0 | Diagonal synsfelt i grader (perspektivprojeksjon). |
fieldOfViewX | number | 0.0 | Horisontalt synsfelt i grader. |
fieldOfViewY | number | 0.0 | Vertikalt synsfelt i grader. |
orthoHeight | number | 100.0 | Høyden på den ortografiske projeksjonsvolumet. Kun relevant når projectionType er 'ORTHOGRAPHIC'. |
width | number | 0.0 | Sensor- eller visningsportbredde, brukt når apertureMode styrer FOV-avledning. |
height | number | 0.0 | Sensor- eller visningsporthøyde. |
aspectRatio | number | 1.0 | Alias for aspektforholdet, gitt for kompatibilitet med noen FBX-opprinnelige scener. |
ImageRenderOptions
moveForward(distance)
Flytter kameraet fremover langs dets seeretning med den angitte avstanden.
moveForward(distance: number): voidImageRenderOptions
distance number
Avstanden som skal flyttes fremover. Negative verdier flytter kameraet bakover.
ImageRenderOptions
void
ImageRenderOptions
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.');ImageRenderOptions
- I kilden,
Cameraarver fraEntity.Lightutvider ogsåCamera, noe som betyrLightobjekter har alle kameraproperty i typehierarkiet; dette reflekterer FBX-datamodellen hvor lys og kameraer deler en felles basenodetype. - Bruk
ProjectionTypeklassekonstanter (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) i stedet for rå strenglitteraler for type-sikkerhet.