مقالات إرشادية

بدء استخدام Unity وAndroid XR

قراءة لمدة 6 دقائق
عرض الملف الشخصي لـ "لوك هوبكينز"
Luke Hopkins مهندس علاقات المطوّرين في Android

سماعة الرأس Samsung Galaxy XR متوفّرة الآن وتعمل بنظام Android XR. هذه المشاركة في المدونة جزء من أسبوع Android XR Spotlight الذي نوفّر فيه موارد، مثل مشاركات في المدونة وفيديوهات ورموز برمجية نموذجية وغير ذلك، وكلها مصمّمة لمساعدتك في تعلّم كيفية إنشاء تطبيقاتك وإعدادها لنظام Android XR. 

الآن هو أفضل وقت لبدء تطوير تطبيقات الواقع الممتد. في ديسمبر الماضي، أعلنّا عن Android XR، وهو نظام Android الأساسي الجديد من Google الذي يستند إلى معايير مفتوحة، مثل OpenXR وVulkan، ما يسهّل عملية تطوير تطبيقات الواقع الممتد أكثر من أي وقت مضى.


عند الجمع بين هذا النظام وأدوات الواقع الممتد الحالية في Unity، ستحصل على مجموعة أدوات تطوير قوية وناضجة. ويتيح ذلك إنشاء تطبيقات الواقع الممتد ونشرها على أجهزة متعددة.

openxr_face_tracking2.webp

نريد مساعدتك في البدء، سواء كنت قد طوّرت تطبيقات الواقع الممتد من قبل أم لا.

ستساعدك هذه المدونة في بدء استخدام Android XR وUnity لتطوير التطبيقات. سنركّز على الخطوات العملية لضبط بيئة التطوير وفهم المنظومة المتكاملة للحزم وبدء الإنشاء.

في نهاية هذه المدونة، ستكون لديك معرفة جيدة بما يلي:

  • المنظومة المتكاملة للحزم
  • خطوات الإعداد الأساسية
  • أساليب الإدخال
  • الخصوصية والأذونات
  • طبقات التركيب

‫Unity لتطوير تطبيقات Android XR

يمكنك اختيار Unity لتوافقه من عدّة منصات، ما يتيح لك إنشاء التطبيق مرة واحدة وتفعيله على Android XR وأجهزة الواقع الممتد الأخرى.

عند استخدام Unity، ستستفيد من المنظومة المتكاملة الناضجة للواقع الممتد وأدواته. تتضمّن Unity حزمًا ثابتة، مثل XR Interaction Toolkit وOpenXR plugin وXR composition layers وXR Hands ومتجر مواد عرض شامل يتضمّن مكوّنات ونماذج جاهزة للواقع الممتد وأدوات المحاكاة والاختبار للواقع الممتد. وبما أنّ Unity 6 تم إصداره في نوفمبر الماضي، ستستفيد أيضًا من الأداء المحسّن لـ Universal Render Pipeline (URP) والدعم الأفضل لرسومات Vulkan وملفات تعريف الإنشاء المحسّنة.

في ما يلي بعض المشاريع النموذجية التي تمنحك فكرة عن الإمكانات المتاحة:

الإعداد الأساسي: أساس تطوير التطبيقات

متطلبات Unity 6 وتثبيته

ستحتاج إلى Unity 6 لإنشاء تطبيقك، لأنّ الإصدارات السابقة لا تتوافق مع Android XR. ثبِّت أولاً Unity Hub، ثم Unity 6 مع وحدة Android Build Support باتّباع هذه الخطوات.

unity6.png

ملفات تعريف إنشاء Android XR: تبسيط عملية الضبط

ملفات تعريف إنشاء Unity هي مواد عرض للمشروع تخزّن الإعدادات والضبط الخاصين بالنظام الأساسي. بدلاً من الحاجة إلى ضبط 15 إلى 20 إعدادًا مختلفًا يدويًا في قوائم متعددة، يمكنك استخدام ملف تعريف إنشاء لإجراء ذلك تلقائيًا.
يمكنك إنشاء ملفات تعريف إنشاء خاصة بك، ولكن ننصحك حاليًا باستخدام ملف تعريف إنشاء Android XR المخصّص الذي أنشأناه.

يمكنك اختيار ملف تعريف الإنشاء من خلال النقر على "ملف" (File) > "ملف تعريف الإنشاء" (Build Profile) من مشروع Unity. للحصول على التعليمات الكاملة، يُرجى الاطّلاع على صفحة سير عمل التطوير لنظام Android XR.

إذا أجريت أي تغييرات من جانبك، يمكنك بعد ذلك إنشاء ملف تعريف إنشاء جديد لمشاركته مع فريقك. بهذه الطريقة، ستضمن تجربة إنشاء متسقة على مستوى المشروع.

buildprofiles.png

بعد هذه الخطوات، يمكنك إنشاء ملف APK وتشغيله لأجهزة Android XR.

واجهة برمجة التطبيقات للرسومات: أهمية Vulkan

بعد إعداد مشروع Unity باستخدام ملف تعريف إنشاء Android XR، ننصحك أولاً بالتأكّد من ضبط Vulkan كواجهة برمجة التطبيقات للرسومات. تم تصميم Android XR كنظام أساسي يعتمد على Vulkan أولاً. في مارس 2025، أعلنت Google أنّ Vulkan هي الآن واجهة برمجة التطبيقات الرسمية للرسومات في Android. وهي واجهة برمجة تطبيقات حديثة للرسومات من المستوى الأدنى تساعد المطوّرين في زيادة أداء وحدات معالجة الرسومات الحديثة إلى أقصى حدّ وتتيح ميزات متقدّمة، مثل تتبُّع الأشعة والمعالجة المتعددة، للحصول على مرئيات ألعاب واقعية وغامرة.

توفّر هذه المعايير أفضل توافق لتطبيقاتك الحالية وتخفّف من المشاكل والتكاليف المرتبطة بنقل التطبيقات. وتتيح تفعيل ميزات Android XR المتقدّمة، مثل URP Application Space Warp والعرض البؤري

يتعامل Unity 6 مع Vulkan تلقائيًا، لذا عند استخدام ملف تعريف إنشاء Android XR، سيضبط Unity واجهة Vulkan كواجهة برمجة التطبيقات للرسومات. يضمن ذلك إمكانية الوصول إلى جميع ميزات Android XR المتقدّمة بدون أي إعداد يدوي.

يمكنك التحقّق من إعدادات واجهة برمجة التطبيقات للرسومات من خلال الانتقال إلى "تعديل" (Edit) > "إعدادات المشروع" (Project Settings) > "المشغّل" (Player) > علامة التبويب "Android" > "إعدادات أخرى" (Other settings) > "واجهات برمجة التطبيقات للرسومات" (Graphics APIs).

appentrypoint.png

فهم المنظومة المتكاملة للحزم

هناك حزمتان مختلفتان يمكنك استخدامهما لنظام Android XR في Unity. إحداهما هي استخدام Android XR Extensions for Unity، والأخرى هي استخدام Unity OpenXR: Android XR package.

قد يبدو هذان الخياران متماثلَين، ولكن يُرجى الانتباه إلى الفرق بينهما.

حزمة Unity OpenXR: Android XR هي حزمة Unity الرسمية لدعم Android XR. توفّر هذه الحزمة معظم ميزات Android XR المتاحة من خلال معايير OpenXR. تتيح أيضًا دمج AR Foundation لميزات الواقع المختلط. الميزة الأساسية لاستخدام حزمة Unity OpenXR: Android XR package هي أنّها توفّر واجهة برمجة تطبيقات موحّدة لدعم أجهزة الواقع الممتد.


أما Android XR Extensions for Unity فهي حزمة الواقع الممتد من Google، وهي مصمّمة خصيصًا للتطوير لأجهزة Android XR. تكمّل هذه الحزمة حزمة Unity OpenXR بميزات إضافية، مثل أوضاع مزج البيئة وربط المشهد وتتبُّع الصور وتتبُّع الجسم. المقابل هو أنّه يمكنك التطوير لأجهزة Android XR فقط.


يعتمد اختيارك على احتياجاتك المحدّدة، ولكن ننصحك بشكل عام باستخدام Unity OpenXR: Android XR، لأنّها تمنحك مرونة أكبر بكثير للأجهزة التي سيتوافق معها تطبيقك، ثم يمكنك إضافة Android XR Extensions for Unity استنادًا إلى متطلبات تطبيقك.

كيفية تثبيت الحزم

لإضافة حزمة جديدة، افتح مشروعك في Unity، ثم انقر على "نافذة" (Window) > "إدارة الحزم" (Package Management) > "مدير الحزم" (Package Manager).

من هنا، يمكنك تثبيت هذه الحزم من علامة التبويب "سجلّ Unity" (Unity Registry):

packagemanager.png

يمكنك تثبيت حزمة Android XR for unity من خلال GitHub عن طريق النقر على رمز ➕، ثم النقر على "تثبيت الحزمة من عنوان URL لـ git" (Install package from git URL)، ثم إدخال "https://github.com/android/android-xr-unity-package.git".

packagemanager2.png

ميزات OpenXR المطلوبة

بعد تثبيت الحزم المطلوبة، لنفعِّل بعض الميزات الأساسية لجعل مشروعنا يعمل.

يمكنك تفعيل إعداد OpenXR لنظام Android: "تعديل" (Edit) - > "إعدادات المشروع" (Project Settings) -> "إدارة المكوّنات الإضافية للواقع الممتد" (XR Plugin Management) -> انقر على Android وفعِّل OpenXR

xrpluginmgmt.png

بعد ذلك، علينا تفعيل الدعم لـ "دعم Android XR" (Android XR support)، وسنتناول ميزات OpenXR الأخرى حسب الحاجة. في الوقت الحالي، ما علينا سوى تفعيل دعم Android XR.

الإدخال

يتوافق Android XR مع أساليب الإدخال التالية: اليدان والصوت وتتبُّع العينين ولوحة المفاتيح وأجهزة التحكّم. ننصحك بتثبيت XR Interaction Toolkit وXR Hands لأنّهما يحتويان على أفضل النماذج الجاهزة للبدء. باستخدام هذه النماذج الجاهزة، سيتوفّر لديك كل ما تحتاج إليه لدعم اليدين وأجهزة التحكّم في تطبيقك.

xrinteractiontoolkit.png

بعد تثبيت كل من XR Hands وXR Interactive toolkit، ننصحك باستيراد Starter Assets وHands Interaction Demo. بعد ذلك، عليك تفعيل ملفَي تعريف Hand Interaction وKhronos Simple Controller، وتفعيل ميزتَي Hand Tracking Subsystem وMeta Hand Tracking Aim.

يمكنك تعديل هذه الإعدادات من خلال الانتقال إلى "تعديل" (Edit) > "إعدادات المشروع" (Project Settings) > "إدارة المكوّنات الإضافية للواقع الممتد" (XR Plug-in Management) > "OpenXR"

profiles.png

ننصحك أيضًا باستخدام النموذج الجاهز XR Origin من Unity الذي يمثّل موضع المستخدم واتجاهه في مساحة الواقع الممتد. يحتوي هذا النموذج على مجموعة الكاميرا ومكوّنات التتبُّع اللازمة لعرض تجربة الواقع الممتد من وجهة النظر الصحيحة.

أسهل طريقة لإضافة هذا النموذج الجاهز هي استيراده من العرض التوضيحي لتكامل اليدين الذي استوردناه سابقًا، ويمكن العثور عليه هنا: ‫Hands Integration Toolkit‏ > Hand Interaction‏ > Prefabs‏ > XR Origin.

prefabs.png

ننصحك باستخدام هذا النموذج الجاهز بدلاً من خيار "XR Origin" في عناصر اللعبة، لأنّه يستخدم XR Input Modality Manager الذي ينتقل تلقائيًا بين أيدي المستخدمين وأجهزة التحكّم. سيمنحك ذلك أفضل تجربة للتبديل بين اليدين وأجهزة التحكّم.

الخصوصية والأذونات: بناء ثقة المستخدم

مهما كان التطبيق الذي تنشئه، عليك الحصول على أذونات وقت التشغيل من المستخدمين. يرجع ذلك إلى أنّ ميزات فهم المشهد وتتبُّع العين وتتبّع تعابير الوجه وتتبُّع اليد تتيح الوصول إلى بيانات قد تكون أكثر حساسية بالنسبة إلى المستخدم.

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

على سبيل المثال، إذا كنت تستخدم حزمة XR Hands للإيماءات المخصّصة باليد، عليك طلب إذن تتبُّع اليد (انظر أدناه)، لأنّ هذه الحزمة تحتاج إلى تتبُّع الكثير من المعلومات عن أيدي المستخدم. ويشمل ذلك تتبُّع أوضاع مفاصل اليد والسرعات الزاوية والخطية، على سبيل المثال.

ملاحظة: للحصول على قائمة كاملة بالإضافات التي تتطلّب أذونات، يُرجى الاطّلاع على المعلومات على موقع الويب الخاص بمطوّري الواقع الممتد.

const string k_Permission = "android.permission.HAND_TRACKING";

#if UNITY_ANDROID
void Start()
{
    if (!Permission.HasUserAuthorizedPermission(k_Permission))
    {
        var callbacks = new PermissionCallbacks();
        callbacks.PermissionDenied += OnPermissionDenied;
        callbacks.PermissionGranted += OnPermissionGranted;
        
        Permission.RequestUserPermission(k_Permission, callbacks);
    }
}

void OnPermissionDenied(string permission)
{
    // handle denied permission
}


void OnPermissionGranted(string permission)
{
    // handle granted permission
}

#endif // UNITY_ANDROID

تحسين الجودة المرئية باستخدام طبقات التركيب

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

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


بالإضافة إلى النص، تعرض هذه الطبقات أيضًا الفيديوهات والصور وعناصر واجهة المستخدم بجودة أعلى بكثير. ويتم ذلك من خلال الاستفادة من الدعم الأصلي لطبقات برنامج التركيب في وقت التشغيل.

لتفعيل طبقات التركيب، افتح "مدير الحزم" (Package Manager)، ثم انقر على "سجلّ Unity" (Unity Register)، ثم ثبِّت "طبقات التركيب للواقع الممتد" (XR Composition Layers).

الإنشاء والتشغيل

بعد تثبيت حزم OpenXR وتفعيل الميزات، يمكنك الآن إنشاء مشهدك ونشره مباشرةً على سمّاعة الرأس للاختبار، وذلك بعد إعداد نموذج جاهز لحركة اليد والرأس.

الخطوات التالية: توسيع نطاق مهاراتك

بعد إعداد بيئة تطوير Android XR وفهم المفاهيم الأساسية، إليك الخطوات التالية لمواصلة رحلة تطوير تطبيقات الواقع الممتد:

الموارد الأساسية لمواصلة التعلّم:

المشاريع النموذجية التي يمكنك استكشافها:

Written by:
Continue reading