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 EntityImageRenderOptions
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
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
name | string | '' | Šios kameros pavadinimas, naudojamas ją identifikuoti scenos grafe. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Atstumas nuo kameros iki artimiausio kirpimo plokštumos. Objektai, esantys arčiau šios reikšmės, nėra atvaizduojami. |
farPlane | number | 1000.0 | Atstumas nuo kameros iki tolimiausios kirpimo plokštumos. Objektai, esantys toliau nei ši reikšmė, nėra atvaizduojami. |
aspect | number | 1.0 | Kameros vaizdo lango pločio ir aukščio santykis. |
fieldOfView | number | 0.0 | Įstrižinis matymo laukas laipsniais (perspektyvinė projekcija). |
fieldOfViewX | number | 0.0 | Horizontalus matymo laukas laipsniais. |
fieldOfViewY | number | 0.0 | Vertikalus matymo laukas laipsniais. |
orthoHeight | number | 100.0 | Ortografinės projekcijos tūrio aukštis. Tinka tik tada, kai projectionType yra 'ORTHOGRAPHIC'. |
width | number | 0.0 | Jutiklio arba peržiūros lango plotis, naudojamas kai apertureMode valdo FOV išvestį. |
height | number | 0.0 | Jutiklio arba peržiūros lango aukštis. |
aspectRatio | number | 1.0 | Alternatyvus 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): voidImageRenderOptions
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,
Camerapaveldi išEntity.Lighttaip pat plečiaCamera, kas reiškiaLightobjektai turi visas kameros savybes tipų hierarchijoje; tai atspindi FBX duomenų modelį, kuriame šviesos šaltiniai ir kameros dalijasi bendru baziniu mazgo tipu. - Naudokite
ProjectionTypeklasės konstantų (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) vietoj tiesioginių eilutės literalių dėl tipų saugumo.