طرق التنفيذ

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

قراءة لمدة 6 دقائق
Luke Hopkins
مهندس علاقات المطوّرين، Android

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

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


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

openxr_face_tracking2.webp

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

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

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

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

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

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

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

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

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

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

يجب استخدام الإصدار 6 من Unity لإنشاء تطبيقك، لأنّ الإصدارات السابقة لا تتوافق مع 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 المتقدّمة بدون أي إعدادات يدوية.

يمكنك التحقّق من إعدادات واجهة برمجة التطبيقات للرسومات من خلال الانتقال إلى "تعديل" > "إعدادات المشروع" > "المشغّل" > علامة التبويب "Android" > "إعدادات أخرى" > "واجهات برمجة التطبيقات للرسومات".

appentrypoint.png

التعرّف على النظام الشامل للحِزم

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

قد يبدو هذان المفهومان متشابهين، ولكن تابع معي.

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


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


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

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

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

من هنا، يمكنك تثبيت هذه الحِزم من علامة التبويب "Unity Registry" باتّباع الخطوات التالية:

packagemanager.png

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

packagemanager2.png

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

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

يمكنك تفعيل إعداد OpenXR لنظام التشغيل Android: "تعديل" -> "إعدادات المشروع" -> "إدارة المكوّنات الإضافية لتقنيات الواقع الممتد" -> انقر على Android وفعِّل OpenXR

xrpluginmgmt.png

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

الإدخال

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

xrinteractiontoolkit.png

بعد تثبيت كلّ من XR Hands وXR Interactive، أنصحك باستيراد Starter Assets وHands Interaction Demo. بعد ذلك، عليك تفعيل ملفَي التفاعل باليد ووحدة التحكّم البسيطة من Khronos، وتفعيل ميزات "النظام الفرعي لتتبُّع اليد" و"استهداف تتبُّع اليد من Meta".

يمكنك تعديل هذه الإعدادات من خلال الانتقال إلى "تعديل" > "إعدادات المشروع" > "إدارة المكوّنات الإضافية للواقع الممتد" > "OpenXR"

profiles.png

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

أسهل طريقة لإضافة هذا العنصر الجاهز هي استيراده من العرض التوضيحي لدمج اليدين الذي استوردناه سابقًا، ويمكن العثور عليه هنا "أداة دمج اليدين" > "تفاعل اليد" > "العناصر الجاهزة" > "XR Origin"

prefabs.png

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

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

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

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

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

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

  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" (XR Composition Layers).

إنشاء وتشغيل

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

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

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

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

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

تأليف:

متابعة القراءة