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 EntityImageRenderOptions
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
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
name | string | '' | Názov tejto kamery, ktorý sa používa na jej identifikáciu v grafe scény. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Vzdialenosť kamery od blízkeho orezávacieho roviny. Objekty bližšie ako táto hodnota sa nevykresľujú. |
farPlane | number | 1000.0 | Vzdialenosť kamery od vzdialenej orezávacej roviny. Objekty vzdialenejšie ako táto hodnota sa nevykresľujú. |
aspect | number | 1.0 | Pomer šírky k výške pohľadu kamery. |
fieldOfView | number | 0.0 | Diagonálny zorný uhol v stupňoch (perspektívna projekcia). |
fieldOfViewX | number | 0.0 | Horizontálny zorný uhol v stupňoch. |
fieldOfViewY | number | 0.0 | Vertikálny zorný uhol v stupňoch. |
orthoHeight | number | 100.0 | Výška objemu ortografickej projekcie. Relevantné iba vtedy, keď projectionType je 'ORTHOGRAPHIC'. |
width | number | 0.0 | Šírka senzora alebo viewportu, používaná keď apertureMode riadi odvodenie FOV. |
height | number | 0.0 | Výška senzora alebo viewportu. |
aspectRatio | number | 1.0 | Alias 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): voidImageRenderOptions
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,
Cameradedí odEntity.Lighttiež rozširujeCamera, čo znamenáLightobjekty 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
ProjectionTypekonštanty triedy (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) namiesto surových reťazcových literálov pre typovú bezpečnosť.