Class Camera

Paketas: @aspose/3d (v24.12.0)

Camera yra Entity kuris gali būti prijungtas prie Node kad apibrėžtų vaizdą scenoje. Ji palaiko tiek perspektyvines, tiek ortografinės projekcijas, valdomas projectionType savybę. Kameros parametrai saugomi 3D faile, kai scena išsaugoma formatu, kuris palaiko kameras (FBX, COLLADA, glTF).

export class Camera extends Entity

ImageRenderOptions

A3DObject ← SceneObject ← Entity ← Camera

ImageRenderOptions

Pridėkite perspektyvinę kamerą į sceną ir sukonfigūruokite jos 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''Šios kameros pavadinimas, naudojamas ją identifikuoti scenos grafe.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Atstumas nuo kameros iki artimiausio kirpimo plokštumos. Objektai, esantys arčiau šios reikšmės, nėra atvaizduojami.
farPlanenumber1000.0Atstumas nuo kameros iki tolimiausios kirpimo plokštumos. Objektai, esantys toliau nei ši reikšmė, nėra atvaizduojami.
aspectnumber1.0Kameros vaizdo lango pločio ir aukščio santykis.
fieldOfViewnumber0.0Įstrižinis matymo laukas laipsniais (perspektyvinė projekcija).
fieldOfViewXnumber0.0Horizontalus matymo laukas laipsniais.
fieldOfViewYnumber0.0Vertikalus matymo laukas laipsniais.
orthoHeightnumber100.0Ortografinės projekcijos tūrio aukštis. Tinka tik tada, kai projectionType yra 'ORTHOGRAPHIC'.
widthnumber0.0Jutiklio arba peržiūros lango plotis, naudojamas kai apertureMode valdo FOV išvestį.
heightnumber0.0Jutiklio arba peržiūros lango aukštis.
aspectRationumber1.0Alternatyvus pavadinimas kraštinių santykiui, pateiktas dėl suderinamumo su kai kuriais FBX kilmės scenomis.

ImageRenderOptions

moveForward(distance)

Perkelia kamerą į priekį pagal jos žiūrėjimo kryptį nurodytu atstumu.

moveForward(distance: number): void

ImageRenderOptions

distance number

Atstumas, kuriuo judama į priekį. Neigiamos reikšmės perkelia kamerą atgal.

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

  • Šaltinyje, Camera paveldi iš Entity. Light taip pat plečia Camera, kas reiškia Light objektai turi visas kameros savybes tipų hierarchijoje; tai atspindi FBX duomenų modelį, kuriame šviesos šaltiniai ir kameros dalijasi bendru baziniu mazgo tipu.
  • Naudokite ProjectionType klasės konstantų (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) vietoj tiesioginių eilutės literalių dėl tipų saugumo.
 Lietuvių