Camera

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

Camera è un Entity che può essere collegato a un Node per definire un punto di vista nella scena. Supporta sia proiezioni prospettiche che ortografiche, controllate dalla projectionType proprietà. I parametri della fotocamera sono memorizzati nel file 3D quando la scena viene salvata in un formato che supporta le fotocamere (FBX, COLLADA, glTF).

export class Camera extends Entity

Example

yaw number — Rotazione attorno all’asse Y in radianti.

Example

Aggiungi una camera prospettica a una scena e configura il suo 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

Example

NameTypeAccessDescription
namestringRead/WriteGets the name.
parentNodesany[]ReadGets the parent nodes.
excludedbooleanRead/WriteGets the excluded.
parentNodeanyRead/WriteGets the parent node.
rotationModeanyRead/WriteGets the rotation mode.
nearPlanenumberRead/WriteGets the near plane.
farPlanenumberRead/WriteGets the far plane.
aspectnumberRead/WriteGets the aspect.
orthoHeightnumberRead/WriteGets the ortho height.
upanyRead/WriteGets the up.
lookAtanyRead/WriteGets the look at.
directionanyRead/WriteGets the direction.
targetanyRead/WriteGets the target.
apertureModeanyRead/WriteGets the aperture mode.
fieldOfViewnumberRead/WriteGets the field of view.
fieldOfViewXnumberRead/WriteGets the field of view x.
fieldOfViewYnumberRead/WriteGets the field of view y.
widthnumberRead/WriteGets the width.
heightnumberRead/WriteGets the height.
aspectRationumberRead/WriteGets the aspect ratio.
magnificationanyRead/WriteGets the magnification.
projectionTypestringRead/WriteGets the projection type.
SignatureDescription
`constructor(name: stringnull, projectionType: any)`
moveForward(_distance: number)Moves the camera forward by the specified distance
getBoundingBox()anyReturns the bounding box.
getEntityRendererKey()anyNot implemented in the FOSS edition — throws at runtime. Returns the entity renderer key.
`removeProperty(_prop: Propertystring)boolean`
getProperty(_property: string)anyReturns the value of the specified property
setProperty(_property: string, _value: any)Sets the property value.
findProperty(_property: string) → `Propertynull`

Example

moveForward(distance)

Sposta la camera in avanti lungo la sua direzione di visualizzazione della distanza fornita.

moveForward(distance: number): void

Example

distance number

La distanza da spostare in avanti. I valori negativi spostano la camera all’indietro.

Example

void

Example

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.');

Example

  • Nel sorgente, Camera eredita da Entity. Light estende anche Camera, il che significa Light gli oggetti hanno tutte le proprietà della fotocamera nella gerarchia dei tipi; ciò riflette il modello dati FBX in cui luci e fotocamere condividono un tipo di nodo base comune.
  • Usa il ProjectionType costanti di classe (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) invece di stringhe letterali grezze per la sicurezza dei tipi.
 Italiano