AR Foundation من Unity هو إطار عمل لعدة منصات يتيح لك كتابة تجارب الواقع المعزّز مرة واحدة، ثم إنشاء تجارب لأجهزة Android أو iOS بدون إجراء أي تغييرات إضافية. يتوفّر إطار العمل من خلال حزمة AR Foundation في Unity.
تضيف حزمة إضافات ARCore لإطار عمل الواقع المعزّز الاختيارية في ARCore وظائف إضافية، ما يتيح لك استخدام ميزات مثل محطات الربط في السحابة الإلكترونية، فلاتر ضبط الكاميرا، وتسجيل المحتوى وتشغيله في تطبيقك.
نقل بيانات المشاريع الحالية أو ترقيتها
- لنقل مشروع حالي من حزمة تطوير البرامج (SDK) لـ ARCore (التي سيتم إيقافها نهائيًا) من أجل Unity إلى AR Foundation من Unity وARCore Extensions اختياريًا، يُرجى الاطّلاع على دليل نقل البيانات.
- لترقية مشروع حالي من إصدار سابق من AR Foundation، اطّلِع على أدلة الترقية ونقل البيانات في Unity.
المتطلبات
استنادًا إلى المنصة المستهدَفة، تتطلّب حزمة AR Foundation ما يلي:
الأجهزة
- جهاز Android أو محاكي متوافق مع ARCore
- كابل USB لتوصيل جهازك بجهاز التطوير
البرامج
الأجهزة
- جهاز iOS متوافق مع ARCore
- كابل USB لتوصيل جهازك بجهاز التطوير
البرامج
تثبيت AR Foundation
اتّبِع الخطوات التالية لتثبيت حزمة AR Foundation Unity.
- افتح مشروع Unity حاليًا أو أنشئ مشروعًا ثلاثي الأبعاد جديدًا.
- انتقِل إلى Window > Package Manager.
بجانب Packages، انقر على Unity Registry.
في شريط البحث، اكتب "AR Foundation".
انقر على Install.
ضبط مسار التقديم
تثبيت حِزم المكوّنات الإضافية الخاصة بالنظام الأساسي وتفعيلها
تقدّم حزمة AR Foundation واجهة يمكن لمطوّري Unity استخدامها، ولكنها لا تنفّذ أي ميزات للواقع المعزّز بنفسها. لاستخدام AR Foundation على جهاز مستهدَف، عليك أيضًا تثبيت حِزم منفصلة وتفعيل المكوّن الإضافي المناظرِن لكل منصة.
تتيح لك حِزمة مكوّن ARCore الإضافي للواقع المعزّز (XR) إنشاء تطبيقات واقع معزّز لأجهزة Android. اتّبِع الخطوات التالية لتثبيته في مشروع Unity إذا كان تطبيقك موجهًا لأجهزة Android. استخدِم الإصدار نفسه المُستخدَم في حزمة AR Foundation لتجنُّب أي مشاكل في التوافق.
في مشروعك، انتقِل إلى Window > Package Manager.
بجانب Packages، انقر على Unity Registry.
في شريط البحث، اكتب "مكوّن ARCore الإضافي لتجربة الواقع المعزّز".
انقر على Install.
انتقِل إلى Edit > Project Settings. في XR Plug-in Management، افتح علامة التبويب Android وفعِّل ARCore.
يتيح لك مكوّن ARKit XR الإضافي إنشاء تطبيقات واقع معزّز لأجهزة iOS. اتّبِع الخطوات التالية لتثبيته في مشروع Unity إذا كان تطبيقك موجهًا لأجهزة iOS. استخدِم الإصدار نفسه لحزمة AR Foundation لتجنُّب أي مشاكل في التوافق.
في مشروعك، انتقِل إلى Window > Package Manager.
بجانب Packages، انقر على Unity Registry.
في شريط البحث، اكتب "مكوّن ARKit XR الإضافي".
انقر على Install.
انتقِل إلى Edit > Project Settings. في XR Plug-in Management، افتح علامة التبويب iOS وفعِّل ARKit.
ضبط جلسة واقع معزَّز وإضافة مكونات AR Foundation إلى المشهد
يحتاج المشهد إلى جلسة الواقع المعزّز لتفعيل عمليات الواقع المعزّز، مثل تتبُّع الحركة وفهم البيئة وتقدير الإضاءة. ستحتاج إلى عناصر اللعبة التالية لتفعيل جلسة الواقع المعزّز:
AR Session: للتحكّم في دورة حياة تجربة الواقع المعزّز
AR Session Origin: تحوّل إحداثيات الواقع المعزّز إلى إحداثيات العالم في Unity.
قبل إضافة عناصر اللعبة الجديدة، احذف العنصر التلقائي Main Camera. وسيتم استبداله بـ AR Camera جديد في AR Session Origin.
أضِف عناصر ألعاب الواقع المعزّز الجديدة إلى المشهد: انقر بزر الماوس الأيمن على pane (لوحة) Hierarchy واختَر XR. أضِف AR Session جديدًا وAR Session Origin جديدًا.
AR Session: للتحكّم في دورة حياة تجربة الواقع المعزّز
XR Origin: تحوّل إحداثيات الواقع المعزّز إلى إحداثيات العالم في Unity.
قبل إضافة عناصر اللعبة الجديدة، احذف العنصر التلقائي Main Camera. وسيتم استبداله بـ AR Camera جديد في XR Origin.
أضِف عناصر ألعاب الواقع المعزّز الجديدة إلى المشهد: انقر بزر الماوس الأيمن على pane (لوحة) Hierarchy واختَر XR. أضِف AR Session جديدًا وXR Origin جديدًا.
AR Session: للتحكّم في دورة حياة تجربة الواقع المعزّز
XR Origin: تحوّل إحداثيات الواقع المعزّز إلى إحداثيات العالم في Unity.
قبل إضافة عناصر اللعبة الجديدة، احذف العنصر التلقائي Main Camera. وسيتم استبداله بـ AR Camera جديد في XR Origin.
أضِف عناصر ألعاب الواقع المعزّز الجديدة إلى المشهد: انقر بزر الماوس الأيمن على pane (لوحة) Hierarchy واختَر XR. أضِف AR Session جديدًا وXR Origin جديدًا.
ضبط إعدادات المشغّل
- انتقِل إلى File > Build Settings لفتح Build Settings النافذة.
- ضمن Platform، اختَر Android وانقر على Switch Platform.
- انقر على Player Settings.
طبِّق التغييرات التالية:
Player Settings > … القيمة Other Settings > Rendering أزِل العلامة من المربّع Auto Graphics API.
إذا كان Vulkan مُدرَجًا ضمن Graphics APIs، أزِله لأنّ واجهة برمجة التطبيقات Vulkan غير متوافقة مع ARCore بعد.Other Settings > Package Name أنشئ معرّف تطبيق فريدًا باستخدام تنسيق اسم حزمة Java.
على سبيل المثال، استخدِمcom.example.helloAR
.Other Settings > Minimum API Level إذا كنت بصدد إنشاء تطبيق يتطلب استخدام الواقع المعزّز، حدِّد Android 7.0 'Nougat' (API Level 24) or higher.
إذا كنت بصدد إنشاء تطبيق AR اختياري، حدِّد Android API Level 19 or higher.Other Settings > Scripting Backend اختَر IL2CPP بدلاً من Mono للسماح بتفعيل التوافق مع ARM64 في الخطوة التالية. أثناء التطوير:
- استخدام الإصدار Mono والإصدار 32 بت (ARMv7)
- تثبيت حزمة APK لتطبيق ARCore بتنسيق FAT (32 بت و64 بت)
عند الشحن إلى "متجر Play":
- استخدام IL2CPP
- تفعيل إصدارَي 32 بت (ARMv7) و64 بت (ARM64) لاستيفاء متطلبات إصدار 64 بت من "متجر Play"
- اختياري (متاح في الإصدار 2018.3 والإصدارات الأحدث): في Build Settings، فعِّل Android App Bundles
Other Settings > Target Architectures لاستيفاء متطلّبات نظام التشغيل 64 بت في Google Play، فعِّل ARM64 (معالج ARM 64 بت). اترك الخيار ARMv7 (ARM 32 بت) مفعَّلاً لتوفير التوافق مع الأجهزة التي تعمل بنظام 32 بت.
- انتقِل إلى File > Build Settings لفتح Build Settings النافذة.
- ضمن Platform، اختَر iOS وانقر على Switch Platform.
- انقر على Player Settings.
اضبط الإعدادات التالية:
Player Settings > … القيمة Other Settings > Bundle Identifier أضِف اسم تطبيقك بتنسيق نظام أسماء النطاقات العكسي.
على سبيل المثال، استخدِمcom.mycompany.myapp
.Other Settings > Camera usage description أدخِل وصفًا لشرح كيفية استخدامك للواقع المعزّز (على سبيل المثال، ARKit). Other Settings > Target minimum iOS version 11.0 أو أعلى Other Settings > Architecture ARM64
الخطوات التالية
- ابدأ باستخدام حزمة ARCore Extensions الاختيارية، والتي توفر وظائف إضافية لإطار عمل AR Foundation.
- إنشاء لعبة واقع معزّز باستخدام AR Foundation في Unity (درس تطبيقي)