Class Camera

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

Camera je Entity koja se može priložiti Node za definiranje pogleda u sceni. Podržava i perspektivne i ortografske projekcije, kontrolirane putem projectionType svojstva. Parametri kamere pohranjuju se u 3D datoteku kada se scena spremi u format koji podržava kamere (FBX, COLLADA, glTF).

export class Camera extends Entity

Enumerations

save(fileOrStream, formatOrOptions?, options?)

Enumerations

Dodajte perspektivnu kameru u scenu i konfigurirajte 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

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
namestring''Naziv ove kamere, koji se koristi za njeno identificiranje u grafu scene.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Udaljenost kamere od bliske ravnine rezanja. Objekti bliži od ove vrijednosti se ne renderiraju.
farPlanenumber1000.0Udaljenost kamere od daleke ravnine rezanja. Objekti dalje od ove vrijednosti se ne renderiraju.
aspectnumber1.0Omjer širine i visine prikaza kamere.
fieldOfViewnumber0.0Dijagonalno polje pogleda u stupnjevima (perspektivna projekcija).
fieldOfViewXnumber0.0Horizontalno vidno polje u stupnjevima.
fieldOfViewYnumber0.0Vertikalno vidno polje u stupnjevima.
orthoHeightnumber100.0Visina ortografske projekcijske zapremine. Relevantno samo kada projectionType je 'ORTHOGRAPHIC'.
widthnumber0.0Širina senzora ili prikaza, koristi se kada apertureMode kontrolira izvod FOV-a.
heightnumber0.0Visina senzora ili prikaza.
aspectRationumber1.0Alias za omjer slike, pružen radi kompatibilnosti s nekim scenama nastalim iz FBX-a.

Enumerations

moveForward(distance)

Pomakne kameru naprijed duž njenog smjera gledanja za zadanu udaljenost.

moveForward(distance: number): void

Enumerations

distance number

Udaljenost za pomicanje naprijed. Negativne vrijednosti pomiču kameru natrag.

Enumerations

void

Enumerations

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.');

Enumerations

  • U izvoru, Camera nasljeđuje od Entity. Light također proširuje Camera, što znači Light objekti imaju sva svojstva kamere u hijerarhiji tipova; to odražava FBX model podataka gdje svjetla i kamere dijele zajednički bazni tip čvora.
  • Koristite ProjectionType konstante klase (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) umjesto sirovih literalnih stringova radi sigurnosti tipa.
 Hrvatski