Class Camera

Paket: @aspose/3d (v24.12.0)

Camera är en Entity som kan fästas på en Node för att definiera en synvinkel i scenen. Den stöder både perspektiv- och ortografiska projektioner, styrda av projectionType egenskapen. Kameraparametrar lagras i 3D-filen när scenen sparas till ett format som stöder kameror (FBX, COLLADA, glTF).

export class Camera extends Entity

ImageRenderOptions

A3DObject ← SceneObject ← Entity ← Camera

ImageRenderOptions

Lägg till en perspektivkamera i en scen och konfigurera dess 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''Namnet på den här kameran, som används för att identifiera den i scengrafen.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Avstånd från kameran till den närmaste beskärningsplanet. Objekt som är närmare än detta värde renderas inte.
farPlanenumber1000.0Avstånd från kameran till det fjärra beskärningsplanet. Objekt som är längre bort än detta värde renderas inte.
aspectnumber1.0Bredd‑till‑höjd‑förhållandet för kamerans viewport.
fieldOfViewnumber0.0Diagonal synfält i grader (perspektivprojektion).
fieldOfViewXnumber0.0Horisontellt synfält i grader.
fieldOfViewYnumber0.0Vertikalt synfält i grader.
orthoHeightnumber100.0Höjden på den ortografiska projektionens volym. Endast relevant när projectionType är 'ORTHOGRAPHIC'.
widthnumber0.0Sensor- eller visningsportens bredd, används när apertureMode kontrollerar FOV-derivering.
heightnumber0.0Sensor- eller visningsportens höjd.
aspectRationumber1.0Alias för bildförhållandet, tillhandahållet för kompatibilitet med vissa FBX‑ursprungliga scener.

ImageRenderOptions

moveForward(distance)

Flyttar kameran framåt längs dess blickriktning med det angivna avståndet.

moveForward(distance: number): void

ImageRenderOptions

distance number

Avståndet att flytta framåt. Negativa värden flyttar kameran bakåt.

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 källkoden, Camera ärver från Entity. Light utökar också Camera, vilket betyder Light objekt har alla kamerainställningar i typ‑hierarkin; detta speglar FBX-datamodellen där ljus och kameror delar en gemensam basnodtyp.
  • Använd ProjectionType klasskonstanter (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) istället för råa strängliteral för typ‑säkerhet.
 Svenska