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 EntityImageRenderOptions
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
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
name | string | '' | Namnet på den här kameran, som används för att identifiera den i scengrafen. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Avstånd från kameran till den närmaste beskärningsplanet. Objekt som är närmare än detta värde renderas inte. |
farPlane | number | 1000.0 | Avstånd från kameran till det fjärra beskärningsplanet. Objekt som är längre bort än detta värde renderas inte. |
aspect | number | 1.0 | Bredd‑till‑höjd‑förhållandet för kamerans viewport. |
fieldOfView | number | 0.0 | Diagonal synfält i grader (perspektivprojektion). |
fieldOfViewX | number | 0.0 | Horisontellt synfält i grader. |
fieldOfViewY | number | 0.0 | Vertikalt synfält i grader. |
orthoHeight | number | 100.0 | Höjden på den ortografiska projektionens volym. Endast relevant när projectionType är 'ORTHOGRAPHIC'. |
width | number | 0.0 | Sensor- eller visningsportens bredd, används när apertureMode kontrollerar FOV-derivering. |
height | number | 0.0 | Sensor- eller visningsportens höjd. |
aspectRatio | number | 1.0 | Alias 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): voidImageRenderOptions
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ånEntity.Lightutökar ocksåCamera, vilket betyderLightobjekt har alla kamerainställningar i typ‑hierarkin; detta speglar FBX-datamodellen där ljus och kameror delar en gemensam basnodtyp. - Använd
ProjectionTypeklasskonstanter (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) istället för råa strängliteral för typ‑säkerhet.