Class Camera
Pachet: @aspose/3d (v24.12.0)
Camera este un Entity care poate fi atașat la un Node pentru a defini un punct de vedere în scenă. Acceptă atât proiecții perspective, cât și ortografice, controlate de projectionType proprietate. Parametrii camerei sunt stocați în fișierul 3D când scena este salvată într-un format care suportă camere (FBX, COLLADA, glTF).
export class Camera extends EntityImageRenderOptions
A3DObject ← SceneObject ← Entity ← Camera
ImageRenderOptions
Adaugă o cameră perspectivă la o scenă și configurează-i frustumul.
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
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
name | string | '' | Numele acestei camere, folosit pentru a o identifica în graficul scenei. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Distanța de la cameră la planul de tăiere apropiat. Obiectele mai apropiate decât această valoare nu sunt randate. |
farPlane | number | 1000.0 | Distanța de la cameră la planul de tăiere îndepărtat. Obiectele mai îndepărtate decât această valoare nu sunt randate. |
aspect | number | 1.0 | Raportul de aspect lățime-înălțime al ferestrei de vizualizare a camerei. |
fieldOfView | number | 0.0 | Câmpul vizual diagonal în grade (proiecție perspectivă). |
fieldOfViewX | number | 0.0 | Câmpul vizual orizontal în grade. |
fieldOfViewY | number | 0.0 | Câmpul vizual vertical în grade. |
orthoHeight | number | 100.0 | Înălțimea volumului de proiecție ortografică. Relevantă doar când projectionType este 'ORTHOGRAPHIC'. |
width | number | 0.0 | Lățimea senzorului sau a ferestrei de vizualizare, utilizată când apertureMode controlează derivarea FOV. |
height | number | 0.0 | Înălțimea senzorului sau a viewport-ului. |
aspectRatio | number | 1.0 | Alias pentru raportul de aspect, furnizat pentru compatibilitate cu unele scene generate din FBX. |
ImageRenderOptions
moveForward(distance)
Mută camera înainte de-a lungul direcției de privire cu distanța specificată.
moveForward(distance: number): voidImageRenderOptions
distance number
Distanța de mutat înainte. Valorile negative mută camera înapoi.
ImageRenderOptions
void
ImageRenderOptions
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.');ImageRenderOptions
- În sursă,
Cameramoștenește de laEntity.Lightextinde șiCamera, care înseamnăLightobiectele au toate proprietățile camerei în ierarhia de tipuri; aceasta reflectă modelul de date FBX în care luminile și camerele împărtășesc un tip de nod de bază comun. - Folosește
ProjectionTypeconstantele de clasă (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) în loc de literaluri de șir brute pentru siguranța tipului.