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 Entity

ImageRenderOptions

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

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`

ImageRenderOptions

moveForward(distance)

Posúva kameru dopredu pozdĺž jej smeru pohľadu o zadanú vzdialenosť.

moveForward(distance: number): void

ImageRenderOptions

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, Camera dedí od Entity. Light tiež rozširuje Camera, čo znamená Light objekty 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 ProjectionType konštanty triedy (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) namiesto surových reťazcových literálov pre typovú bezpečnosť.
 Slovenčina