إضافة OpenXR‏ XR_ANDROID_mouse_interaction

سلسلة الاسم

XR_ANDROID_mouse_interaction

نوع الإضافة

إضافة مثيل

رقم الإضافة المسجَّل

705

المراجعة

1

التبعيات المتعلّقة بالإصدارات والإضافات

OpenXR 1.0

تاريخ آخر تعديل

2024-09-06

حالة عنوان IP

ما مِن مطالبات معروفة بعناوين IP.

المساهمون

شارو شانوي، Google

"كيارا كوتزي"، Google

ليفانا تشين، Google

سبنسر كوين، Google

نظرة عامة

توفّر هذه الإضافة XrPath للحصول على إدخال الماوس وتحدِّد أحد وضعات الإجراءات الشائعة لملفات تعريف الماوس الخاصة بالمستخدمين، بما في ذلك أجهزة الماوس وأجهزة لوحة اللمس.

توفّر هذه الإضافة أيضًا ملف تفاعل جديدًا مصمّمًا خصيصًا لأجهزة الماوس من أجل إدخال البيانات من خلال نظام إجراءات OpenXR.

وضعية تفاعل الماوس

تؤدي وضعية الإجراء التالية (أي "التصويب") إلى تفعيل شعاع مؤشر ثلاثي الأبعاد، سواء كانت inputstracking (إدخالات التتبّع) متوفّرة من جهاز فأرة أو جهاز لوحة لمس.

سيكون المسار الفرعي للإجراءات …/input/aim/pose متوافقًا مع كل ملفّات التفاعل الصالحة لمسار المستخدِم /user/mouse، بما في ذلك ملفات التفاعل هذه التي تم تفعيلها من خلال الإضافات.

وضعية التصويب

تم تصميم …/input/aim/pose للتفاعل مع الأجسام من خلال مؤشر الماوس في الفضاء الثلاثي الأبعاد. على سبيل المثال، استخدام مؤشر ليزر افتراضي لتوجيهه نحو زر افتراضي على الحائط هو تفاعل مناسب لحركة "التصويب".

هذه هي الوضعية نفسها "الهدف" المحدّدة في معرّفات الوضعيات العادية. تتيح كل ملف شخصي لجهاز تحكّم قابل للتتبّع هذه الوضعية.

مثال على وضعية التصويب

الموضع

عادةً ما يكون موضع وضع "التصويب" هو رأس المستخدم، أي هو الموضع نفسه للرأس عند رصد حركة الماوس. يتم احتساب وضع التصويب لسمكة الماوس عند حدوث حركة في الماوس. سيتم الاحتفاظ بآخر موضع معروف للتصويب إلى أن تتم حركة الماوس التالية.

الاتجاه

يمكن استخدام اتجاه وضع "التصويب" لعرض شعاع مؤشر ثلاثي الأبعاد بهدف التفاعل مع عنصر افتراضي، مثل النقر على زر قائمة على الحائط.

يتم احتساب وضع التصويب للماوس عند حدوث حركة للماوس. سيتم الاحتفاظ باتجاه التصويب المعلوم الأخير إلى أن تتم معالجة حركة الماوس التالية.

اتجاه -Z هو الاتجاه الأمامي لإيماءة التصويب، أي الاتجاه الذي تشير إليه شعاع التصويب.

تُستخدَم الحركة النسبية للمحورَين X وY في الماوس لاحتساب الحركة النسبية للماوس على طول كرة حول رأس المستخدم.

مثال على وضعية التصويب

ستتوفّر إمكانية التنقّل في العمق باستخدام النقر والانتقال الأساسيَين. عندما يكون إجراء التنقّل في العمق قيد التنفيذ، يتم تعويض الموضع عن موضع الرأس في اتجاه Z موجب أو سالب على طول الشعاع استنادًا إلى قيمة التمرير الموجبة أو السالبة. سيعمل النظام على تثبيت عمق الحركة داخل الكرة حول رأس المستخدم.

ملف التفاعل لأجهزة الماوس

تم تصميم ملف تفاعل الماوس لأنظمة التشغيل التي توفّر إدخالات الماوس باستخدام أجهزة الماوس أو أجهزة لوحة اللمس التي تتضمّن أزرارًا وعناصر تنقّل. يتيح ذلك لأجهزة الماوس وأجهزة لوحة اللمس تقديم النقرات والتمرير والوضعيات الشائعة الاستخدام في نظام الإجراءات OpenXR.

مسار الملف الشخصي للتفاعل:

  • ‎/interaction_profiles/android/mouse_interaction

صالح لمسار المستخدم من المستوى الأعلى:

  • /user/mouse

مسارات المكوّنات المتوافقة:

  • …/input/aim/pose
  • …/input/select/click
  • …/input/secondary/click
  • …/input/tertiary/click
  • …/input/scroll/value

يتيح ملف التفاعل هذا وضعية الإجراء الموضّحة في هذا القسم، بالإضافة إلى مجموعتَي مدخلات الإجراءات التاليتَين.

النقر على إجراء

يتيح ملف التفاعل هذا الإجراءات …/input/select/click، …/input/secondary/click و /input/tertiary/click.

…/input/select/click هو إدخال منطقي، حيث تشير القيمة XR_TRUE إلى الضغط على الزر الأساسي على الماوس أو لوحة اللمس.

…/input/secondary/click هي إدخال منطقي، حيث تشير القيمة XR_TRUE إلى أنّه تم الضغط على الزر الثانوي على الماوس أو لوحة التتبُّع.

…/input/tertiary/click هو إدخال منطقي، حيث تشير القيمة XR_TRUE إلى أنّه تم التمرير باستخدام الماوس أو الضغط على الزر الثالث.

إجراء التمرير

يتيح ملف التفاعل هذا إجراءات …/input/scroll/value.

…/input/scroll/value هو مكوّن إدخال ثنائي الأبعاد يتراوح من -1 إلى 1 لربطه بالانتقال للأسفل وللأعلى.

أنواع العناصر الجديدة

أنواع الإبلاغ الجديدة

ثوابت قائمة التعداد الجديدة

عمليات التعداد الجديدة

التصاميم الجديدة

الدوالّ الجديدة

المشاكل

سجلّ الإصدارات

  • النسخة 1، ‎29-08-2024 (ليفانا تشين)
    • الوصف الأولي للإضافة