Class Camera
Paket: @aspose/3d (v24.12.0)
Camera bir Entity birine eklenebilen Node sahnede bir bakış açısı tanımlamak için. Hem perspektif hem de ortografik projeksiyonları destekler, özelliği tarafından kontrol edilir. projectionType Kamera parametreleri, sahne kameraları destekleyen bir formata (FBX, COLLADA, glTF) kaydedildiğinde 3D dosyasında depolanır.
export class Camera extends EntityEnumerations
A3DObject ← SceneObject ← Entity ← Camera
Enumerations
Bir sahneye perspektif bir kamera ekleyin ve frustum’ını yapılandırın.
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 | '' | Bu kameranın adı, sahne grafiğinde tanımlamak için kullanılır. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Kameradan yakın kırpma düzlemine olan mesafe. Bu değerden daha yakın nesneler işlenmez. |
farPlane | number | 1000.0 | Kameradan uzak kırpma düzlemine olan mesafe. Bu değerden daha uzak nesneler işlenmez. |
aspect | number | 1.0 | Kameranın görüntü penceresinin en‑boy oranı. |
fieldOfView | number | 0.0 | Derece cinsinden diyagonal görüş alanı (perspektif projeksiyon). |
fieldOfViewX | number | 0.0 | Derece cinsinden yatay görüş alanı. |
fieldOfViewY | number | 0.0 | Derece cinsinden dikey görüş alanı. |
orthoHeight | number | 100.0 | Ortografik projeksiyon hacminin yüksekliği. Sadece … olduğunda geçerlidir. projectionType olur 'ORTHOGRAPHIC'. |
width | number | 0.0 | Sensör veya viewport genişliği, şu zamanlarda kullanılır. apertureMode FOV türetmesini kontrol eder. |
height | number | 0.0 | Sensör veya viewport yüksekliği. |
aspectRatio | number | 1.0 | En‑boy oranı için takma ad, bazı FBX kaynaklı sahnelerle uyumluluk sağlamak amacıyla sunulur. |
Enumerations
moveForward(distance)
Kamerayı, bakış yönü boyunca verilen mesafe kadar ileri hareket ettirir.
moveForward(distance: number): voidEnumerations
distance number
İleri hareket ettirilecek mesafe. Negatif değerler kamerayı geriye doğru hareket ettirir.
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
- Kaynakta,
Cameraşuradan miras alırEntity.Lightaynı zamanda genişletirCamera, bu da demektir kiLightnesneler tip hiyerarşisinde tüm kamera özelliklerine sahiptir; bu, ışıklar ve kameraların ortak bir temel düğüm tipini paylaştığı FBX veri modelini yansıtır. - Şunu kullanın
ProjectionTypesınıf sabitlerini (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) tip güvenliği için ham dize sabitleri yerine.