# [name]

تمثل هذه الفئة تجريدًا لواجهة برمجة تطبيقات WebXR Device وتستخدم داخليًا بواسطة [page:WebGLRenderer]. [name] يوفر أيضًا واجهة عامة الذي يسمح للمستخدمين بتمكين / تعطيل XR وتنفيذ مهام ذات صلة بـ XR مثل استرداد التحكُّمات على سبيل المثال.

## الخصائص (Properties)

### [property:Boolean cameraAutoUpdate]

ما إذا كان يجب تحديث كاميرا XR الخاصة بالمدير تلقائيًا أم لا. الافتراضي هو `true`.

### [property:Boolean enabled]

هذا العلم يخطر المقدم بأن يكون جاهزًا للتصوير XR. الافتراضي هو `false`. قم بتعيينه على `true` إذا كنت ستستخدم XR في تطبيقك.

### [property:Boolean isPresenting]

ما إذا كان التقديم XR نشطًا أم لا. الافتراضي هو `false`. هذا العلم هو للقراءة فقط وتعيينه تلقائيًا بواسطة [name].

## الطرق (Methods)

### [method:ArrayCamera getCamera]()

يرجع نسخة من [page:ArrayCamera] التي تمثل كاميرا XR لجلسة XR النشطة. لكل عرض يحتفظ بكائن كاميرا منفصل في خصائص [page:ArrayCamera.cameras cameras].

حاليًا لا يتم استخدام `fov` الكاميرا ولا يعكس fov من كاميرا XR. إذا كنت بحاجة إلى fov على مستوى التطبيق ، فعليك حسابه بشكل يدوي من مصفوفات الإسقاط الخاصة بكاميرا XR.

### [method:Group getController]( [param:Integer index] )

[page:Integer index] — فهرس المتحكم.
يعود بـ [page:Group] يمثل ما يسمى بمساحة *الشعاع المستهدف* من المتحكم XR. استخدم هذه المساحة لتصور الكائنات ثلاثية الأبعاد التي تدعم المستخدم في مهام الإشارة مثل التفاعل مع واجهة المستخدم.

### [method:Group getControllerGrip]( [param:Integer index] )

[page:Integer index] — فهرس المتحكم.
يعود بـ [page:Group] يمثل ما يسمى بمساحة `القبضة` من المتحكم XR . استخدم هذه المساحة إذا كان المستخدم سيحمل كائنات ثلاثية الأبعاد أخرى مثل سيف الضوء.

ملاحظة: إذا كنت ترغب في إظهار شيء في يد المستخدم وتقديم شعاع الإشارة في نفس الوقت ، فسترغب في إرفاق الكائن المحمول باليد إلى المجموعة التي يتم إرجاعها بواسطة [page:.getControllerGrip]() والشعاع إلى المجموعة التي يتم إرجاعها بواسطة [page:.getController](). الفكرة هي أن يكون لديك اثنان مجموعات مختلفة في مسافتين إحداثيتين مختلفتين لنفس WebXR التحكم.

### [method:Float getFoveation]()

يعود بكمية الفوفيشن المستخدمة من قبل ملحق XR لـ طبقة الإسقاط.

### [method:Group getHand]( [param:Integer index] )

[page:Integer index] — فهرس المتحكم.
يعود بـ [page:Group] يمثل ما يسمى بـ `hand` أو `joint` space التحكم XR. استخدام هذه المساحة لتصور أيدي المستخدم عند عدم استخدام التحكُّمات الفعلية.

### [method:String getReferenceSpace]()

يرجع المسافة المرجعية.

### [method:XRSession getSession]()

يرجع كائن `XRSession` الذي يسمح بإدارة أكثر دقة لجلسات WebXR النشطة على مستوى التطبيق.

### [method:undefined setFoveation]( [param:Float foveation] )

[page:Float foveation] — الفوفيشن المراد تعيينه.
يحدد مقدار الفوفيشن المستخدم من قبل ملحق XR للطبقة. يجب أن يكون قيمة بين `0` و `1`.

### [method:undefined setFramebufferScaleFactor]( [param:Float framebufferScaleFactor] )

[page:Float framebufferScaleFactor] — عامل مقياس الإطار المراد تعيينه.
يحدد عامل التحجيم المستخدم عند تحديد حجم الإطار عند التصوير إلى جهاز XR. القيمة نسبية إلى دقة عرض جهاز XR الافتراضية. الافتراضي هو `1`. قيمة `0.5` تحدد إطارًا بنسبة 50٪ من دقة العرض الأصلية.

ملاحظة: لا يمكن تغيير عامل مقياس الإطار أثناء تقديم محتوى XR.

### [method:undefined setReferenceSpace]( [param:XRReferenceSpace referenceSpace] )

[page:XRReferenceSpace referenceSpace] — مساحة مرجعية مخصصة.
يمكن استخدامه لتكوين مساحة مرجعية مخصصة تستبدل المساحة المرجعية الافتراضية.

### [method:undefined setReferenceSpaceType]( [param:String referenceSpaceType] )

[page:String referenceSpaceType] — نوع المساحة المرجعية المراد تعيينه.
يمكن استخدامه لتكوين علاقة فضائية مع بيئة المستخدم الفعلية. اعتمادًا على كيفية حركة المستخدم في الفضاء ثلاثي الأبعاد ، يمكن أن يؤدي تعيين مساحة مرجعية مناسبة إلى تحسين التتبع. الافتراضي هو `local-floor`. يرجى التحقق من [link:https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType MDN] للحصول على قائمة بالقيم الممكنة وحالات استخدامها.

### [method:undefined updateCamera]( [param:PerspectiveCamera camera] )

تحديث حالة كاميرا XR. استخدم هذه الطريقة على مستوى التطبيق إذا ضبط [page:.cameraAutoUpdate] إلى `false`. تتطلب الطريقة كاميرا غير XR المشهد كمعلم. يتم ضبط تحولات الكاميرا التي تم تمريرها تلقائيًا إلى موضع كاميرا XR عند استدعاء هذه الطريقة.

ملاحظة: لا يمكن تغيير نوع المساحة المرجعية أثناء تقديم محتوى XR.

## المصدر (Source)

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]