Class Camera

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

Camera este un Entity care poate fi atașat la un Node pentru a defini un punct de vedere în scenă. Acceptă atât proiecții perspective, cât și ortografice, controlate de projectionType proprietate. Parametrii camerei sunt stocați în fișierul 3D când scena este salvată într-un format care suportă camere (FBX, COLLADA, glTF).

export class Camera extends Entity

ImageRenderOptions

A3DObject ← SceneObject ← Entity ← Camera

ImageRenderOptions

Adaugă o cameră perspectivă la o scenă și configurează-i frustumul.

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''Numele acestei camere, folosit pentru a o identifica în graficul scenei.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Distanța de la cameră la planul de tăiere apropiat. Obiectele mai apropiate decât această valoare nu sunt randate.
farPlanenumber1000.0Distanța de la cameră la planul de tăiere îndepărtat. Obiectele mai îndepărtate decât această valoare nu sunt randate.
aspectnumber1.0Raportul de aspect lățime-înălțime al ferestrei de vizualizare a camerei.
fieldOfViewnumber0.0Câmpul vizual diagonal în grade (proiecție perspectivă).
fieldOfViewXnumber0.0Câmpul vizual orizontal în grade.
fieldOfViewYnumber0.0Câmpul vizual vertical în grade.
orthoHeightnumber100.0Înălțimea volumului de proiecție ortografică. Relevantă doar când projectionType este 'ORTHOGRAPHIC'.
widthnumber0.0Lățimea senzorului sau a ferestrei de vizualizare, utilizată când apertureMode controlează derivarea FOV.
heightnumber0.0Înălțimea senzorului sau a viewport-ului.
aspectRationumber1.0Alias pentru raportul de aspect, furnizat pentru compatibilitate cu unele scene generate din FBX.

ImageRenderOptions

moveForward(distance)

Mută camera înainte de-a lungul direcției de privire cu distanța specificată.

moveForward(distance: number): void

ImageRenderOptions

distance number

Distanța de mutat înainte. Valorile negative mută camera înapoi.

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

  • În sursă, Camera moștenește de la Entity. Light extinde și Camera, care înseamnă Light obiectele au toate proprietățile camerei în ierarhia de tipuri; aceasta reflectă modelul de date FBX în care luminile și camerele împărtășesc un tip de nod de bază comun.
  • Folosește ProjectionType constantele de clasă (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) în loc de literaluri de șir brute pentru siguranța tipului.
 Română