Class Camera
الحزمة: @aspose/3d (v24.12.0)
Camera هو Entity يمكن إرفاقه بـ Node لتعريف نقطة مشاهدة في المشهد. يدعم كلًا من الإسقاطات المنظورية والإسقاطات المتعامدة، يتم التحكم فيهما بواسطة projectionType الخاصية. تُخزن معلمات الكاميرا في ملف الـ 3D عندما يتم حفظ المشهد إلى تنسيق يدعم الكاميرات (FBX, COLLADA, glTF).
export class Camera extends EntityEnumerations
A3DObject ← SceneObject ← Entity ← Camera
Enumerations
أضف كاميرا منظور إلى المشهد وقم بتكوين مخروطيها.
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 | '' | اسم هذه الكاميرا، يُستخدم لتحديدها في رسم بياني للمشهد. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | المسافة من الكاميرا إلى مستوى القطع القريب. الكائنات الأقرب من هذه القيمة لا تُعرض. |
farPlane | number | 1000.0 | المسافة من الكاميرا إلى مستوى القطع البعيد. الكائنات الأبعد من هذه القيمة لا تُعرض. |
aspect | number | 1.0 | نسبة العرض إلى الارتفاع لمنطقة عرض الكاميرا. |
fieldOfView | number | 0.0 | حقل الرؤية القطري بالدرجات (إسقاط منظور). |
fieldOfViewX | number | 0.0 | حقل الرؤية الأفقي بالدرجات. |
fieldOfViewY | number | 0.0 | حقل الرؤية العمودي بالدرجات. |
orthoHeight | number | 100.0 | ارتفاع حجم الإسقاط المتعامد. ذو صلة فقط عندما projectionType هو 'ORTHOGRAPHIC'. |
width | number | 0.0 | عرض المستشعر أو نافذة العرض، يُستخدم عندما apertureMode يتحكم في اشتقاق FOV. |
height | number | 0.0 | ارتفاع المستشعر أو نافذة العرض. |
aspectRatio | number | 1.0 | اسم مستعار لنسبة العرض إلى الارتفاع، مُقدم للتوافق مع بعض المشاهد المستمدة من FBX. |
Enumerations
moveForward(distance)
يحرك الكاميرا إلى الأمام على طول اتجاه النظر بمقدار المسافة المحددة.
moveForward(distance: number): voidEnumerations
distance number
المسافة التي يتحرك بها الكاميرا إلى الأمام. القيم السالبة تحرك الكاميرا إلى الخلف.
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
- في المصدر،,
Cameraيرث منEntity.Lightيمتد أيضًاCamera,، مما يعنيLightالكائنات لديها جميع خصائص الكاميرا في تسلسل الأنواع؛ وهذا يعكس نموذج بيانات FBX حيث تشترك الأضواء والكاميرات في نوع عقدة أساسي مشترك. - استخدم
ProjectionTypeثوابت الفئة (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) بدلاً من السلاسل النصية الخام لضمان سلامة النوع.