Class Camera
Paket: @aspose/3d (v24.12.0)
Camera ist ein Entity die an ein Node um einen Blickpunkt in der Szene zu definieren. Sie unterstützt sowohl perspektivische als auch orthografische Projektionen, gesteuert durch die projectionType Eigenschaft. Kameraparameter werden in der 3D-Datei gespeichert, wenn die Szene in ein Format gespeichert wird, das Kameras unterstützt (FBX, COLLADA, glTF).
export class Camera extends EntityProperties
A3DObject ← SceneObject ← Entity ← Camera
Properties
Füge einer Szene eine perspektivische Kamera hinzu und konfiguriere ihr Sichtvolumen.
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
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
name | string | '' | Der Name dieser Kamera, der verwendet wird, um sie im Szenengraphen zu identifizieren. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Abstand von der Kamera zur nahen Clipping‑Ebene. Objekte, die näher als dieser Wert liegen, werden nicht gerendert. |
farPlane | number | 1000.0 | Abstand von der Kamera zur fernen Clipping‑Ebene. Objekte, die weiter als dieser Wert liegen, werden nicht gerendert. |
aspect | number | 1.0 | Das Breite‑zu‑Höhe‑Verhältnis des Kamera‑Viewports. |
fieldOfView | number | 0.0 | Diagonales Sichtfeld in Grad (Perspektivprojektion). |
fieldOfViewX | number | 0.0 | Horizontales Sichtfeld in Grad. |
fieldOfViewY | number | 0.0 | Vertikales Sichtfeld in Grad. |
orthoHeight | number | 100.0 | Die Höhe des orthografischen Projektionsvolumens. Nur relevant, wenn projectionType ist 'ORTHOGRAPHIC'. |
width | number | 0.0 | Sensor‑ oder Viewport‑Breite, verwendet wenn apertureMode steuert die Ableitung des FOV. |
height | number | 0.0 | Sensor- oder Viewport-Höhe. |
aspectRatio | number | 1.0 | Alias für das Seitenverhältnis, bereitgestellt zur Kompatibilität mit einigen FBX‑abgeleiteten Szenen. |
Properties
moveForward(distance)
Bewegt die Kamera entlang ihrer Blickrichtung um die angegebene Distanz nach vorne.
moveForward(distance: number): voidProperties
distance number
Die Distanz, um die nach vorne bewegt wird. Negative Werte bewegen die Kamera nach hinten.
Properties
void
Properties
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.');Properties
- Im Quellcode,
Cameraerbt vonEntity.Lighterweitert außerdemCamera, was bedeutetLightObjekte besitzen alle Kameraeigenschaften in der Typenhierarchie; das spiegelt das FBX-Datenmodell wider, bei dem Lichter und Kameras einen gemeinsamen Basisknoten-Typ teilen. - Verwenden Sie die
ProjectionTypeKlassenkonstanten (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) anstelle von rohen Zeichenkettenliteralen für Typsicherheit.