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 EntityImageRenderOptions
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
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
name | string | '' | Nazwa tej kamery, używana do jej identyfikacji w grafie sceny. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Odległość od kamery do płaszczyzny przycięcia bliskiego. Obiekty bliższe niż ta wartość nie są renderowane. |
farPlane | number | 1000.0 | Odległość od kamery do płaszczyzny przycięcia dalszego. Obiekty dalsze niż ta wartość nie są renderowane. |
aspect | number | 1.0 | Stosunek szerokości do wysokości widoku kamery. |
fieldOfView | number | 0.0 | Przekątna kąt widzenia w stopniach (projekcja perspektywiczna). |
fieldOfViewX | number | 0.0 | Poziomy kąt widzenia w stopniach. |
fieldOfViewY | number | 0.0 | Pionowy kąt widzenia w stopniach. |
orthoHeight | number | 100.0 | Wysokość objętości projekcji ortograficznej. Ma znaczenie tylko gdy projectionType jest 'ORTHOGRAPHIC'. |
width | number | 0.0 | Szerokość sensora lub widoku, używana gdy apertureMode kontroluje wyprowadzanie kąta widzenia. |
height | number | 0.0 | Wysokość czujnika lub okna widoku. |
aspectRatio | number | 1.0 | Alias 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): voidImageRenderOptions
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,
Cameradziedziczy poEntity.Lightrównież rozszerzaCamera, co oznaczaLightobiekty 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
ProjectionTypestałych klasy (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) zamiast surowych literałów łańcuchowych dla bezpieczeństwa typów.