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 Entity

A3DObject ← 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

namestring''Ime ove kamere, koje se koristi za njeno identifikovanje u grafu scene.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Rastojanje od kamere do bliske klipne ravni. Objekti koji su bliži od ove vrednosti se ne renderuju.
farPlanenumber1000.0Rastojanje od kamere do far clipping plane. Objekti koji su dalje od ove vrednosti se ne renderuju.
aspectnumber1.0Odnos širine prema visini vidnog polja kamere.
fieldOfViewnumber0.0Dijagonalno polje vidljivosti u stepenima (perspektivna projekcija).
fieldOfViewXnumber0.0Horizontalno polje vidljivosti u stepenima.
fieldOfViewYnumber0.0Vertikalno polje vidljivosti u stepenima.
orthoHeightnumber100.0Visina ortografske projekcione zapremine. Relevantno samo kada projectionType je 'ORTHOGRAPHIC'.
widthnumber0.0Širina senzora ili prikaza, koristi se kada apertureMode kontroliše izvod FOV-a.
heightnumber0.0Visina senzora ili prikaza.
aspectRationumber1.0Alias 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): void

distance 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, Camera nasleđuje od Entity. Light takođe proširuje Camera, što znači Light objekti imaju sva svojstva kamere u hijerarhiji tipova; ovo odražava FBX model podataka gde svetla i kamere dele zajednički osnovni tip čvora.
  • Koristite ProjectionType konstante klase (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) umesto sirovih string literala radi tip‑sigurnosti.
 Српски