Class Camera

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

Camera jest Entity który może być dołączony do Node aby zdefiniować punkt widzenia w scenie. Obsługuje zarówno perspektywiczne, jak i ortograficzne projekcje, kontrolowane przez projectionType właściwość. Parametry kamery są przechowywane w pliku 3D, gdy scena jest zapisywana w formacie obsługującym kamery (FBX, COLLADA, glTF).

export class Camera extends Entity

ImageRenderOptions

A3DObject ← SceneObject ← Entity ← Camera

ImageRenderOptions

Dodaj kamerę perspektywiczną do sceny i skonfiguruj 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

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
namestring''Nazwa tej kamery, używana do jej identyfikacji w grafie sceny.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Odległość od kamery do płaszczyzny przycięcia bliskiego. Obiekty bliższe niż ta wartość nie są renderowane.
farPlanenumber1000.0Odległość od kamery do płaszczyzny przycięcia dalszego. Obiekty dalsze niż ta wartość nie są renderowane.
aspectnumber1.0Stosunek szerokości do wysokości widoku kamery.
fieldOfViewnumber0.0Przekątna kąt widzenia w stopniach (projekcja perspektywiczna).
fieldOfViewXnumber0.0Poziomy kąt widzenia w stopniach.
fieldOfViewYnumber0.0Pionowy kąt widzenia w stopniach.
orthoHeightnumber100.0Wysokość objętości projekcji ortograficznej. Ma znaczenie tylko gdy projectionType jest 'ORTHOGRAPHIC'.
widthnumber0.0Szerokość sensora lub widoku, używana gdy apertureMode kontroluje wyprowadzanie kąta widzenia.
heightnumber0.0Wysokość czujnika lub okna widoku.
aspectRationumber1.0Alias dla współczynnika proporcji, udostępniony w celu kompatybilności z niektórymi scenami pochodzącymi z FBX.

ImageRenderOptions

moveForward(distance)

Przesuwa kamerę do przodu wzdłuż jej kierunku patrzenia o podaną odległość.

moveForward(distance: number): void

ImageRenderOptions

distance number

Odległość, o którą kamera ma się przesunąć do przodu. Ujemne wartości powodują przesunięcie kamery do tyłu.

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

  • W źródle, Camera dziedziczy po Entity. Light również rozszerza Camera, co oznacza Light obiekty mają wszystkie właściwości kamery w hierarchii typów; odzwierciedla to model danych FBX, w którym światła i kamery współdzielą wspólny typ węzła bazowego.
  • Użyj ProjectionType stałych klasy (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) zamiast surowych literałów łańcuchowych dla bezpieczeństwa typów.
 Polski