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 EntityEnumerations
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
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
name | string | '' | Naziv ove kamere, koji se koristi za njeno identificiranje u grafu scene. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Udaljenost kamere od bliske ravnine rezanja. Objekti bliži od ove vrijednosti se ne renderiraju. |
farPlane | number | 1000.0 | Udaljenost kamere od daleke ravnine rezanja. Objekti dalje od ove vrijednosti se ne renderiraju. |
aspect | number | 1.0 | Omjer širine i visine prikaza kamere. |
fieldOfView | number | 0.0 | Dijagonalno polje pogleda u stupnjevima (perspektivna projekcija). |
fieldOfViewX | number | 0.0 | Horizontalno vidno polje u stupnjevima. |
fieldOfViewY | number | 0.0 | Vertikalno vidno polje u stupnjevima. |
orthoHeight | number | 100.0 | Visina ortografske projekcijske zapremine. Relevantno samo kada projectionType je 'ORTHOGRAPHIC'. |
width | number | 0.0 | Širina senzora ili prikaza, koristi se kada apertureMode kontrolira izvod FOV-a. |
height | number | 0.0 | Visina senzora ili prikaza. |
aspectRatio | number | 1.0 | Alias 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): voidEnumerations
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,
Cameranasljeđuje odEntity.Lighttakođer proširujeCamera, što značiLightobjekti imaju sva svojstva kamere u hijerarhiji tipova; to odražava FBX model podataka gdje svjetla i kamere dijele zajednički bazni tip čvora. - Koristite
ProjectionTypekonstante klase (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) umjesto sirovih literalnih stringova radi sigurnosti tipa.