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 Entity

ImageRenderOptions

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

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
namestring''Navnet på dette kameraet, brukt for å identifisere det i scenegrafen.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Avstand fra kameraet til den nærmeste klippeplanen. Objekter som er nærmere enn denne verdien blir ikke gjengitt.
farPlanenumber1000.0Avstand fra kameraet til den fjerneste klippeplanen. Objekter som er lenger enn denne verdien blir ikke gjengitt.
aspectnumber1.0Bredde‑til‑høyde-aspektforholdet for kameraets visningsområde.
fieldOfViewnumber0.0Diagonal synsfelt i grader (perspektivprojeksjon).
fieldOfViewXnumber0.0Horisontalt synsfelt i grader.
fieldOfViewYnumber0.0Vertikalt synsfelt i grader.
orthoHeightnumber100.0Høyden på den ortografiske projeksjonsvolumet. Kun relevant når projectionType er 'ORTHOGRAPHIC'.
widthnumber0.0Sensor- eller visningsportbredde, brukt når apertureMode styrer FOV-avledning.
heightnumber0.0Sensor- eller visningsporthøyde.
aspectRationumber1.0Alias 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): void

ImageRenderOptions

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, Camera arver fra Entity. Light utvider også Camera, noe som betyr Light objekter har alle kameraproperty i typehierarkiet; dette reflekterer FBX-datamodellen hvor lys og kameraer deler en felles basenodetype.
  • Bruk ProjectionType klassekonstanter (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) i stedet for rå strenglitteraler for type-sikkerhet.
 Norsk