Class Camera
Paket: @aspose/3d (v24.12.0)
Camera je Entity koji se može prikačiti na Node da definiše pogled u sceni. Podržava i perspektivne i ortografske projekcije, kontrolisane od strane projectionType svojstvo. Parametri kamere se čuvaju u 3D fajlu kada se scena sačuva u format koji podržava kamere (FBX, COLLADA, glTF).
export class Camera extends EntityA3DObject ← SceneObject ← Entity ← Camera
Dodajte perspektivnu kameru u scenu i konfigurišite njen 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
name | string | '' | Ime ove kamere, koje se koristi za njeno identifikovanje u grafu scene. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Rastojanje od kamere do bliske klipne ravni. Objekti koji su bliži od ove vrednosti se ne renderuju. |
farPlane | number | 1000.0 | Rastojanje od kamere do far clipping plane. Objekti koji su dalje od ove vrednosti se ne renderuju. |
aspect | number | 1.0 | Odnos širine prema visini vidnog polja kamere. |
fieldOfView | number | 0.0 | Dijagonalno polje vidljivosti u stepenima (perspektivna projekcija). |
fieldOfViewX | number | 0.0 | Horizontalno polje vidljivosti u stepenima. |
fieldOfViewY | number | 0.0 | Vertikalno polje vidljivosti u stepenima. |
orthoHeight | number | 100.0 | Visina ortografske projekcione zapremine. Relevantno samo kada projectionType je 'ORTHOGRAPHIC'. |
width | number | 0.0 | Širina senzora ili prikaza, koristi se kada apertureMode kontroliše izvod FOV-a. |
height | number | 0.0 | Visina senzora ili prikaza. |
aspectRatio | number | 1.0 | Alias za odnos širine i visine, pružen radi kompatibilnosti sa nekim scenama nastalim iz FBX-a. |
moveForward(distance)
Pomera kameru napred duž njenog pravca gledanja za zadatu udaljenost.
moveForward(distance: number): voiddistance number
Udaljenost za pomeranje napred. Negativne vrednosti pomeraju kameru nazad.
void
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.');- U izvoru,
Cameranasleđuje odEntity.Lighttakođe proširujeCamera, što značiLightobjekti imaju sva svojstva kamere u hijerarhiji tipova; ovo odražava FBX model podataka gde svetla i kamere dele zajednički osnovni tip čvora. - Koristite
ProjectionTypekonstante klase (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) umesto sirovih string literala radi tip‑sigurnosti.