Class Camera

الحزمة: @aspose/3d (v24.12.0)

Camera هو Entity يمكن إرفاقه بـ Node لتعريف نقطة مشاهدة في المشهد. يدعم كلًا من الإسقاطات المنظورية والإسقاطات المتعامدة، يتم التحكم فيهما بواسطة projectionType الخاصية. تُخزن معلمات الكاميرا في ملف الـ 3D عندما يتم حفظ المشهد إلى تنسيق يدعم الكاميرات (FBX, COLLADA, glTF).

export class Camera extends Entity

Enumerations

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

EnumerationsEnumerationsEnumerationsEnumerations
namestring''اسم هذه الكاميرا، يُستخدم لتحديدها في رسم بياني للمشهد.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1المسافة من الكاميرا إلى مستوى القطع القريب. الكائنات الأقرب من هذه القيمة لا تُعرض.
farPlanenumber1000.0المسافة من الكاميرا إلى مستوى القطع البعيد. الكائنات الأبعد من هذه القيمة لا تُعرض.
aspectnumber1.0نسبة العرض إلى الارتفاع لمنطقة عرض الكاميرا.
fieldOfViewnumber0.0حقل الرؤية القطري بالدرجات (إسقاط منظور).
fieldOfViewXnumber0.0حقل الرؤية الأفقي بالدرجات.
fieldOfViewYnumber0.0حقل الرؤية العمودي بالدرجات.
orthoHeightnumber100.0ارتفاع حجم الإسقاط المتعامد. ذو صلة فقط عندما projectionType هو 'ORTHOGRAPHIC'.
widthnumber0.0عرض المستشعر أو نافذة العرض، يُستخدم عندما apertureMode يتحكم في اشتقاق FOV.
heightnumber0.0ارتفاع المستشعر أو نافذة العرض.
aspectRationumber1.0اسم مستعار لنسبة العرض إلى الارتفاع، مُقدم للتوافق مع بعض المشاهد المستمدة من FBX.

Enumerations

moveForward(distance)

يحرك الكاميرا إلى الأمام على طول اتجاه النظر بمقدار المسافة المحددة.

moveForward(distance: number): void

Enumerations

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) بدلاً من السلاسل النصية الخام لضمان سلامة النوع.
 العربية