Class Camera
Package: @aspose/3d (v24.12.0)
Camera est un Entity qui peut être attaché à un Node pour définir un point de vue dans la scène. Il prend en charge les projections perspective et orthographique, contrôlées par le projectionType propriété. Les paramètres de la caméra sont stockés dans le fichier 3D lorsque la scène est enregistrée dans un format qui prend en charge les caméras (FBX, COLLADA, glTF).
export class Camera extends EntityEnumerations
Renvoie true si le point ou la boîte englobante fourni(e) est entièrement à l’intérieur de cette boîte. Accepte un objet point {x, y, z}, un Vector3, ou un autre BoundingBox.
Enumerations
overlapsWith(box).
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 | '' | Le nom de cette caméra, utilisé pour l’identifier dans le graphe de la scène. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Distance entre la caméra et le plan de découpe proche. Les objets plus proches que cette valeur ne sont pas rendus. |
farPlane | number | 1000.0 | Distance entre la caméra et le plan de découpe lointain. Les objets plus éloignés que cette valeur ne sont pas rendus. |
aspect | number | 1.0 | Le rapport largeur/hauteur du viewport de la caméra. |
fieldOfView | number | 0.0 | Champ de vision diagonal en degrés (projection perspective). |
fieldOfViewX | number | 0.0 | Champ de vision horizontal en degrés. |
fieldOfViewY | number | 0.0 | Champ de vision vertical en degrés. |
orthoHeight | number | 100.0 | La hauteur du volume de projection orthographique. Pertinent uniquement lorsque projectionType est 'ORTHOGRAPHIC'. |
width | number | 0.0 | Largeur du capteur ou du viewport, utilisée lorsque apertureMode contrôle la dérivation du champ de vision. |
height | number | 0.0 | Hauteur du capteur ou de la fenêtre d’affichage. |
aspectRatio | number | 1.0 | Alias du rapport d’aspect, fourni pour la compatibilité avec certaines scènes d’origine FBX. |
Enumerations
moveForward(distance)
BoundingBoxExtent est une classe compagnon renvoyée par BoundingBox.extent. Elle stocke les demi‑étendues le long de chaque axe.
moveForward(distance: number): voidEnumerations
distance number
La distance à avancer. Les valeurs négatives déplacent la caméra vers l’arrière.
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
- Dans la source,
Camerahérite deEntity.Lightétend égalementCamera, ce qui signifieLightles objets possèdent toutes les propriétés de la caméra dans la hiérarchie des types ; cela reflète le modèle de données FBX où les lumières et les caméras partagent un type de nœud de base commun. - Utilisez le
ProjectionTypeconstantes de classe (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) plutôt que des littéraux de chaîne bruts pour la sécurité de type.