Class Camera
Paquet: @aspose/3d (v24.12.0)
Camera és un Entity que es pot adjuntar a un Node per definir un punt de vista a l’escena. Admet tant projeccions perspectiva com ortogràfiques, controlades per la projectionType propietat. Els paràmetres de la càmera s’emmagatzemen al fitxer 3D quan l’escena es desa en un format que admet càmeres (FBX, COLLADA, glTF).
export class Camera extends EntityEnumerations
fileOrStream string
Enumerations
Afegeix una càmera perspectiva a una escena i configura el seu 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
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
name | string | '' | El nom d’aquesta càmera, utilitzat per identificar-la al gràfic de l’escena. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Distància des de la càmera fins al pla de retallament proper. Els objectes més propers que aquest valor no es renderitzen. |
farPlane | number | 1000.0 | Distància des de la càmera fins al pla de retallament llunyà. Els objectes més llunyans que aquest valor no es renderitzen. |
aspect | number | 1.0 | La relació d’aspecte amplada/alçada del visor de la càmera. |
fieldOfView | number | 0.0 | Camp de visió diagonal en graus (projecció en perspectiva). |
fieldOfViewX | number | 0.0 | Camp de visió horitzontal en graus. |
fieldOfViewY | number | 0.0 | Camp de visió vertical en graus. |
orthoHeight | number | 100.0 | L’alçada del volum de projecció ortogràfica. Només rellevant quan projectionType és 'ORTHOGRAPHIC'. |
width | number | 0.0 | Amplada del sensor o del visor, utilitzada quan apertureMode controla la derivació del camp de visió. |
height | number | 0.0 | Alçada del sensor o del viewport. |
aspectRatio | number | 1.0 | Àlies per a la relació d’aspecte, proporcionat per a compatibilitat amb algunes escenes d’origen FBX. |
Enumerations
moveForward(distance)
Mou la càmera cap endavant al llarg de la seva direcció de visió per la distància indicada.
moveForward(distance: number): voidEnumerations
distance number
La distància a moure cap endavant. Els valors negatius mouen la càmera cap enrere.
Enumerations
void
Enumerations
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.');Enumerations
- En el codi font,
Camerahereta deEntity.Lighttambé ampliaCamera, el que significaLightels objectes tenen totes les propietats de càmera en la jerarquia de tipus; això reflecteix el model de dades FBX on les llums i les càmeres comparteixen un tipus de node base comú. - Utilitzeu el
ProjectionTypeconstants de classe (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) en lloc de raw string literals per a la seguretat de tipus.