يوضّح لك هذا الدليل كيفية استخدام Google Cardboard XR Plugin for Unity في Unity لإنشاء تجارب الواقع الافتراضي الخاصة بك.
يمكنك استخدام حزمة تطوير البرامج (SDK) في Cardboard لتحويل هاتف جوّال إلى منصة واقع افتراضي. يمكن للجهاز الجوّال عرض مشاهد ثلاثية الأبعاد باستخدام العرض المجسّم، وتتبُّع حركات الرأس والتفاعل معها، والتفاعل مع التطبيقات من خلال رصد وقت ضغط المستخدم على زر العارض.
للبدء، عليك استخدام HelloCardboard، وهي لعبة تجريبية توضّح الميزات الأساسية لحزمة تطوير البرامج (SDK) الخاصة بـ Cardboard. في اللعبة، يتجوّل المستخدمون في عالم افتراضي للعثور على كائنات وجمعها. يوضّح لك هذا المثال كيفية:
- إعداد بيئة التطوير
- تنزيل تطبيق العرض التوضيحي وإنشاؤه
- مسح رمز الاستجابة السريعة الخاص بنظّارة Cardboard لحفظ مَعلمات النظّارة
- تتبُّع حركات رأس المستخدم
- عرض صور مجسّمة من خلال ضبط التشويش الصحيح لكل عين
- تفعيل "وضع الواقع الافتراضي" وإيقافه
إعداد بيئة التطوير
متطلبات البرامج:
- Unity 2021.3.44f1 أو إصدار أحدث
- احرص على تضمين "دعم الإصدارات على Android وiOS" أثناء التثبيت.
- تأكَّد من تثبيت الإصدار 44f1 أو إصدار أحدث من التصحيح.
- يجب تثبيت Git ويجب أن يكون الملف التنفيذي
git
ضمن متغير البيئةPATH
. يمكنك الاطّلاع على مستندات توافق مدير الحِزم في Unity مع Git للحصول على مزيد من التفاصيل.
استيراد حزمة SDK وإنشاء مشروع جديد
اتّبِع الخطوات التالية لاستيراد حزمة تطوير البرامج (SDK) من Unity وإنشاء مشروع جديد.
- افتح Unity وأنشئ مشروع ثلاثي الأبعاد جديدًا.
- في Unity، انتقِل إلى Window (نافذة) > Package Manager (إدارة الحِزم).
- انقر على + واختَر إضافة حزمة من عنوان URL على Git.
- ألصِق
https://github.com/googlevr/cardboard-xr-plugin.git
في حقل إدخال النص.
يجب إضافة الحزمة إلى الحِزم المثبَّتة. - انتقِل إلى حزمة Google Cardboard XR Plugin for Unity. في قسم العينات، اختَر استيراد إلى المشروع.
يجب تحميل مواد العرض النموذجية فيAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
ضبط مشهد HelloCardboard
- انتقِل إلى
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
، ثم انقر على إضافة مشاهد مفتوحة، واختَر HelloCardboard لفتح المشهد النموذجي. - افتح قائمة الطبقات واختَر تعديل الطبقات....
- أنشئ طبقة جديدة باسم "تفاعلية".
- انقر على عنصر Treasure GameObject لفتح نافذة "الفحص" (Inspector). اضبط طبقتها على "تفاعلية". إذا ظهرت نافذة منبثقة تسألك عمّا إذا كنت تريد ضبط الطبقة على "تفاعلية" لجميع العناصر الفرعية أيضًا، انقر على "نعم، تغيير العناصر الفرعية".
- انقر على عنصر GameObject Player > Camera > CardboardReticlePointer لفتح نافذة Inspector. في نص برمجة "مؤشر شبكة التصويب في Cardboard"، اختَر "تفاعلي" كـ قناع طبقة التفاعل مع شبكة التصويب.
ضبط إعدادات إصدار Android
انتقِل إلى ملف (File) > إعدادات الإنشاء (Build Settings).
- اختَر Android ثمّ تبديل النظام الأساسي.
- انقر على إضافة مشاهد مفتوحة (Add Open Scenes) واختَر HelloCardboard.
إعدادات المشغّل
انتقِل إلى تعديل > إعدادات المشروع....
ضبط إعدادات الدقة والعرض
انتقِل إلى المشغّل > الدقة والعرض.
- اضبط الاتجاه التلقائي على أفقي إلى اليسار أو أفقي إلى اليمين.
- أوقِف خيار Optimized Frame Pacing.
ضبط الإعدادات الأخرى
انتقِل إلى المشغّل > الإعدادات الأخرى.
- اختَر
OpenGLES2
أوOpenGLES3
أوVulkan
أو أي مجموعة منها في واجهات برمجة التطبيقات للرسومات. - اختَر
Android 8.0 'Oreo' (API level 26)
أو مستوى أعلى في الحد الأدنى لمستوى واجهة برمجة التطبيقات. - اختَر
API level 35
أو مستوى أعلى في مستوى واجهة برمجة التطبيقات المستهدَف. - انقر على
IL2CPP
في الواجهة الخلفية للبرمجة النصية. - اختَر البُنى المطلوبة من خلال اختيار
ARMv7
أوARM64
أو كليهما في البُنى المستهدَفة. - انقر على
Require
في الوصول إلى الإنترنت. - انقر على
Input System Package (New)
في معالجة الإدخال النشطة. - حدِّد نطاق شركتك ضمن اسم الحزمة.
- في حال اختيار
Vulkan
كـ واجهة برمجة تطبيقات الرسومات:- أزِل العلامة من مربّع الاختيار تطبيق دوران شاشة العرض أثناء العرض في إعدادات Vulkan.
- إذا كان إصدار Unity هو 2021.2 أو إصدارًا أحدث، اختَر
ETC2
في تنسيق ضغط النسيج.
- إذا كان إصدار Unity هو 2023.1 أو إصدارًا أحدث، اختَر
Activity
وأزِل العلامة من المربّعGameActivity
في نقطة دخول التطبيق.
ضبط إعدادات النشر
انتقِل إلى المشغّل > إعدادات النشر.
- في قسم إنشاء، اختَر
Custom Main Gradle Template
وCustom Gradle Properties Template
. أضِف الأسطر التالية إلى قسم التبعيات في
Assets/Plugins/Android/mainTemplate.gradle
:implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.gms:play-services-vision:20.1.3' implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
أضِف الأسطر التالية إلى
Assets/Plugins/Android/gradleTemplate.properties
:android.enableJetifier=true android.useAndroidX=true
ضبط إعدادات "إدارة المكوّن الإضافي للواقع الممتد"
انتقِل إلى إدارة المكوّنات الإضافية لتقنيات الواقع الممتد (XR).
- انقر على
Cardboard XR Plugin
ضمن موفّرو الإضافات.
إنشاء مشروعك
انتقِل إلى ملف (File) > إعدادات الإنشاء (Build Settings).
- انقر على إنشاء أو اختَر جهازًا وانقر على إنشاء وتشغيل.
ضبط إعدادات مشروع iOS
انتقِل إلى ملف (File) > إعدادات الإنشاء (Build Settings).
- اختَر iOS وانقر على تبديل النظام الأساسي.
- انقر على إضافة مشاهد مفتوحة (Add Open Scenes) واختَر HelloCardboard.
إعدادات المشغّل
انتقِل إلى تعديل > إعدادات المشروع....
ضبط إعدادات الدقة والعرض
انتقِل إلى المشغّل > الدقة والعرض.
- اضبط الاتجاه التلقائي على أفقي إلى اليسار أو أفقي إلى اليمين.
ضبط الإعدادات الأخرى
انتقِل إلى المشغّل > الإعدادات الأخرى.
- في وصف استخدام الكاميرا، اكتب
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - في الحد الأدنى المستهدف لإصدار iOS، اكتب
12.0
. - حدِّد نطاق شركتك ضمن اسم الحزمة.
- ضَع علامة في المربّعات
Top Edge
وLeft Edge
وRight Edge
ضمن تأجيل إيماءات النظام على الحواف.
ضبط إعدادات "إدارة المكوّن الإضافي للواقع الممتد"
انتقِل إلى إدارة المكوّنات الإضافية لتقنيات الواقع الممتد (XR).
- انقر على
Cardboard XR Plugin
ضمن موفّرو الإضافات.
إنشاء مشروعك
انتقِل إلى ملف (File) > إعدادات الإنشاء (Build Settings).
- انقر على إنشاء أو إنشاء وتشغيل.
إعادة التوسيط
تتيح لك حزمة تطوير البرامج (SDK) في Cardboard إعادة توسيط أداة تتبُّع حركة الرأس باستخدام Recenter()
.
اتّبِع الخطوات التالية لتجربتها باستخدام التطبيق النموذجي:
- حرِّك الجهاز إلى الموضع الذي تريد إعادة توسيطه فيه (استخدِم وضعية الرأس الجديدة للنظر إلى الأمام).
- اضغط مع الاستمرار على زر التشغيل في جهاز Cardboard لمدة ثلاث ثوانٍ على الأقل.
- ارفع إصبعك عن زر التشغيل.
- أصبحت الوضعية الأولية الآن في الاتجاه الذي تشير إليه الكاميرا.
تفعيل "وضع الواقع الافتراضي" وإيقافه
تتيح لك Unity XR Plugin Management API تفعيل وضع الواقع الافتراضي أو إيقافه في Google Cardboard XR Plugin for Unity. تتوفّر مستندات المستخدم النهائي وأمثلة الاستخدام في مستندات المستخدم النهائي الخاصة بمنصة Unity.
يعرض مشهد VrMode في نموذج HelloCardboard طريقة استخدام أساسية لواجهة برمجة التطبيقات المذكورة أعلاه. في هذا المشهد، يمكن إيقاف وضع الواقع الافتراضي من خلال النقر على خروج
، ويمكن تفعيله مرة أخرى
من خلال النقر على أي مكان على الشاشة. راجِع
VrModeController.cs
للحصول على تفاصيل حول كيفية تنفيذ ذلك.