Class Camera
Balíček: @aspose/3d (v24.12.0)
Camera je Entity který lze připojit k Node pro definování pohledu ve scéně. Podporuje jak perspektivní, tak ortografické projekce, řízené pomocí projectionType vlastnosti. Parametry kamery jsou uloženy v 3D souboru, když je scéna uložena do formátu, který podporuje kamery (FBX, COLLADA, glTF).
export class Camera extends EntityProperties
buffer Buffer
Properties
Přidejte perspektivní kameru do scény a nakonfigurujte její 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
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
name | string | '' | Název této kamery, používaný k jejímu identifikování v grafu scény. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Vzdálenost kamery od blízké ořezové roviny. Objekty blíže než tato hodnota nejsou vykresleny. |
farPlane | number | 1000.0 | Vzdálenost kamery od vzdálené ořezové roviny. Objekty dále než tato hodnota nejsou vykresleny. |
aspect | number | 1.0 | Poměr šířky k výšce pohledu kamery. |
fieldOfView | number | 0.0 | Diagonální zorné pole ve stupních (perspektivní projekce). |
fieldOfViewX | number | 0.0 | Horizontální zorný úhel ve stupních. |
fieldOfViewY | number | 0.0 | Vertikální zorný úhel ve stupních. |
orthoHeight | number | 100.0 | Výška objemu ortografické projekce. Relevantní pouze v případě, že projectionType je 'ORTHOGRAPHIC'. |
width | number | 0.0 | Šířka senzoru nebo viewportu, používaná když apertureMode řídí odvození FOV. |
height | number | 0.0 | Výška senzoru nebo viewportu. |
aspectRatio | number | 1.0 | Alias pro poměr stran, poskytovaný pro kompatibilitu s některými scénami pocházejícími z FBX. |
Properties
moveForward(distance)
Posune kameru dopředu podél její směrové osy o zadanou vzdálenost.
moveForward(distance: number): voidProperties
distance number
Vzdálenost, o kterou se má posunout dopředu. Záporné hodnoty posunou kameru dozadu.
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
- Ve zdroji,
Cameradědí zEntity.Lighttaké rozšiřujeCamera, což znamenáLightobjekty mají všechny vlastnosti kamery v hierarchii typů; to odráží datový model FBX, kde světla a kamery sdílejí společný základní typ uzlu. - Použijte
ProjectionTypekonstanty třídy (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) místo surových řetězcových literálů pro typovou bezpečnost.