Class Camera
Pacchetto: @aspose/3d (v24.12.0)
Camera è un Entity che può essere collegato a un Node per definire un punto di vista nella scena. Supporta sia proiezioni prospettiche che ortografiche, controllate dalla projectionType proprietà. I parametri della fotocamera sono memorizzati nel file 3D quando la scena viene salvata in un formato che supporta le fotocamere (FBX, COLLADA, glTF).
export class Camera extends EntityExample
yaw number — Rotazione attorno all’asse Y in radianti.
Example
Aggiungi una camera prospettica a una scena e configura il suo 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
Example
| Example | Example | Example | Example |
|---|---|---|---|
name | string | '' | Il nome di questa fotocamera, usato per identificarla nel grafo della scena. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Distanza dalla fotocamera al piano di ritaglio vicino. Gli oggetti più vicini a questo valore non vengono renderizzati. |
farPlane | number | 1000.0 | Distanza dalla fotocamera al piano di ritaglio lontano. Gli oggetti più lontani di questo valore non vengono renderizzati. |
aspect | number | 1.0 | Il rapporto di aspetto larghezza/altezza del viewport della fotocamera. |
fieldOfView | number | 0.0 | Campo visivo diagonale in gradi (proiezione prospettica). |
fieldOfViewX | number | 0.0 | Campo visivo orizzontale in gradi. |
fieldOfViewY | number | 0.0 | Campo visivo verticale in gradi. |
orthoHeight | number | 100.0 | L’altezza del volume di proiezione ortografica. Rilevante solo quando projectionType è 'ORTHOGRAPHIC'. |
width | number | 0.0 | Larghezza del sensore o della viewport, usata quando apertureMode controlla la derivazione del FOV. |
height | number | 0.0 | Altezza del sensore o della viewport. |
aspectRatio | number | 1.0 | Alias per il rapporto d’aspetto, fornito per compatibilità con alcune scene di origine FBX. |
Example
moveForward(distance)
Sposta la camera in avanti lungo la sua direzione di visualizzazione della distanza fornita.
moveForward(distance: number): voidExample
distance number
La distanza da spostare in avanti. I valori negativi spostano la camera all’indietro.
Example
void
Example
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.');Example
- Nel sorgente,
Cameraeredita daEntity.Lightestende ancheCamera, il che significaLightgli oggetti hanno tutte le proprietà della fotocamera nella gerarchia dei tipi; ciò riflette il modello dati FBX in cui luci e fotocamere condividono un tipo di nodo base comune. - Usa il
ProjectionTypecostanti di classe (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) invece di stringhe letterali grezze per la sicurezza dei tipi.