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 Entity

Properties

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

PropertiesPropertiesPropertiesProperties
namestring''Název této kamery, používaný k jejímu identifikování v grafu scény.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Vzdálenost kamery od blízké ořezové roviny. Objekty blíže než tato hodnota nejsou vykresleny.
farPlanenumber1000.0Vzdálenost kamery od vzdálené ořezové roviny. Objekty dále než tato hodnota nejsou vykresleny.
aspectnumber1.0Poměr šířky k výšce pohledu kamery.
fieldOfViewnumber0.0Diagonální zorné pole ve stupních (perspektivní projekce).
fieldOfViewXnumber0.0Horizontální zorný úhel ve stupních.
fieldOfViewYnumber0.0Vertikální zorný úhel ve stupních.
orthoHeightnumber100.0Výška objemu ortografické projekce. Relevantní pouze v případě, že projectionType je 'ORTHOGRAPHIC'.
widthnumber0.0Šířka senzoru nebo viewportu, používaná když apertureMode řídí odvození FOV.
heightnumber0.0Výška senzoru nebo viewportu.
aspectRationumber1.0Alias 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): void

Properties

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, Camera dědí z Entity. Light také rozšiřuje Camera, což znamená Light objekty 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 ProjectionType konstanty třídy (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) místo surových řetězcových literálů pro typovou bezpečnost.
 Čeština