Class Camera

Balík: @aspose/3d (v24.12.0)

Camera je Entity ktorý môže byť pripojený k Node na definovanie pohľadu v scéne. Podporuje perspektívne aj ortografické projekcie, ktoré riadi projectionType vlastnosť. Parametre kamery sa ukladajú do 3D súboru, keď sa scéna uloží do formátu, ktorý podporuje kamery (FBX, COLLADA, glTF).

export class Camera extends Entity

ImageRenderOptions

A3DObject ← SceneObject ← Entity ← Camera

ImageRenderOptions

Pridajte perspektívnu 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

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
namestring''Názov tejto kamery, ktorý sa používa na jej identifikáciu v grafe scény.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Vzdialenosť kamery od blízkeho orezávacieho roviny. Objekty bližšie ako táto hodnota sa nevykresľujú.
farPlanenumber1000.0Vzdialenosť kamery od vzdialenej orezávacej roviny. Objekty vzdialenejšie ako táto hodnota sa nevykresľujú.
aspectnumber1.0Pomer šírky k výške pohľadu kamery.
fieldOfViewnumber0.0Diagonálny zorný uhol v stupňoch (perspektívna projekcia).
fieldOfViewXnumber0.0Horizontálny zorný uhol v stupňoch.
fieldOfViewYnumber0.0Vertikálny zorný uhol v stupňoch.
orthoHeightnumber100.0Výška objemu ortografickej projekcie. Relevantné iba vtedy, keď projectionType je 'ORTHOGRAPHIC'.
widthnumber0.0Šírka senzora alebo viewportu, používaná keď apertureMode riadi odvodenie FOV.
heightnumber0.0Výška senzora alebo viewportu.
aspectRationumber1.0Alias pre pomer strán, poskytovaný pre kompatibilitu s niektorými scénami pochádzajúcimi z FBX.

ImageRenderOptions

moveForward(distance)

Posúva kameru dopredu pozdĺž jej smeru pohľadu o zadanú vzdialenosť.

moveForward(distance: number): void

ImageRenderOptions

distance number

Vzdialenosť, o ktorú sa má posunúť dopredu. Záporné hodnoty posúvajú kameru dozadu.

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

  • V zdrojovom kóde, Camera dedí od Entity. Light tiež rozširuje Camera, čo znamená Light objekty majú všetky vlastnosti kamier v hierarchii typov; to odráža dátový model FBX, kde svetlá a kamery zdieľajú spoločný základný typ uzla.
  • Použite ProjectionType konštanty triedy (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) namiesto surových reťazcových literálov pre typovú bezpečnosť.
 Slovenčina