الأدلّة الخاصة بالأنظمة الأساسية
Android (Kotlin/Java)
Android NDK (C)
الانسجام (AR Foundation)
لعبة Unreal Engine
وبصفتك مطوّر تطبيقات الواقع المعزّز، عليك أن تمزج بسلاسة بين المحتوى الافتراضي والواقعي للمستخدمين. عندما يضع المستخدم كائنًا افتراضيًا في المشهد، فإنه يريد أن يبدو كما لو أنه ينتمي إلى العالم الحقيقي. إذا كنت تنشئ تطبيقًا للمستخدمين لشراء الأثاث، فأنت تريد أن يكونوا واثقين من أن الكرسي ذو الذراعين الذي هم على وشك شرائه يتناسب مع مساحتهم.
تساعد واجهة Depth API كاميرا الجهاز على فهم حجم وشكل العناصر الحقيقية في المشهد. فهو ينشئ صورًا متعمقة، أو خرائط مفصَّلة، وبذلك تضيف طبقة من الواقعية إلى تطبيقاتك. يمكنك استخدام المعلومات المقدّمة في صورة العمق لتقديم تجارب مستخدم غامرة وواقعية.
حالات استخدام التطوير باستخدام واجهة برمجة التطبيقات Depth API
يمكن لواجهة Depth API تعزيز تظليل العناصر وتحسين الانغماس في التفاصيل والتفاعلات الجديدة التي تعزّز الواقعية في تجارب الواقع المعزّز. وفيما يلي بعض الطرق التي يمكنك استخدامها في مشروعاتك الخاصة. للحصول على أمثلة على العمق، يمكنك استكشاف مشاهد نموذجية في معمل ARCore Depth Lab الذي يوضّح طرقًا مختلفة للوصول إلى بيانات العمق. تطبيق Unity هذا مفتوح المصدر على GitHub.
تفعيل التظليل
لضمان تجربة غامرة للواقع المعزّز، سواء كان أمام الكاميرا جسم افتراضي خلف أجسام حقيقية، أو إذا كان يعرضها بدقة. ضع في اعتبارك شخصية آندي افتراضية قد يرغب المستخدم في وضعها في مشهد يحتوي على صندوق بجانب الباب. ويتم عرضه بدون انسداد، سيتداخل آندي بشكل غير واقعي مع حافة الجذع. وإذا اعتمدت على عمق مشهد وأدركت مدى بُعد "آندي" الافتراضي عن البيئة المحيطة، مثل الجذع الخشبي، يمكنك عرض صور "آندي" بدقة مع جعله مغلقًا، ما يجعله يبدو أكثر واقعية في محيطه.
تحويل مشهد
يمكنك عرض المستخدمين في عالم جديد غامر من خلال عرض ندفة ثلج افتراضية للاستقرار على أذرع ووسائد الأرائك، أو إلقاء الضوء على غرفة معيشةهم وسط الضباب الضبابي. استخدِم ميزة "العمق" لإنشاء مشهد تتفاعل فيه الأضواء الافتراضية وتختبئ خلفه وتُعيد إضاءة العناصر الحقيقية.
مسافة وعمق الحقل
هل تحتاج إلى إظهار أن هناك شيئًا ما بعيدًا؟ يمكنك استخدام قياس المسافة وإضافة تأثيرات عمق الحقل، مثل تمويه خلفية أو مقدمة المشهد، وذلك باستخدام واجهة برمجة التطبيقات Depth API.
تفعيل تفاعلات المستخدم مع كائنات الواقع المعزّز
امنح المستخدمين إمكانية "لمس" العالم من خلال تطبيقك من خلال تفعيل المحتوى الافتراضي للتفاعل مع العالم الحقيقي من خلال التصادم والفيزياء. اجعل الكائنات الافتراضية تتخطى عقبات حقيقية، أو وجّه كرات الطلاء الافتراضية إلى شجرة حقيقية. ومن خلال الجمع بين أسلوب الاصطدام المبني على عمق اللعب، يمكنك الاستمتاع بتجربة لعب رائعة.
تحسين اختبارات النتائج
يمكن استخدام العمق لتحسين نتائج اختبار النتائج. لا تعمل اختبارات نجاح الطائرات إلا على الأسطح المستوية التي تحتوي على زخرفة، في حين أنّ اختبارات النتائج بالعمق تكون أكثر تفصيلاً وتعمل حتى على المناطق غير المستوية والمنخفضة الزخرفة. ويرجع ذلك إلى أنّ اختبارات العمق تستخدم معلومات العمق من المشهد لتحديد عمق نقطة ما واتجاهها الصحيحَين.
في المثال التالي، يمثل Andys الأخضر اختبارات ضرب الطائرة القياسية بينما يمثل Andys الأحمر اختبارات عمق العمق.
توافق الجهاز
لا تتوافق واجهة برمجة التطبيقات Depth API إلا مع الأجهزة التي تتيح معالجة البيانات. ويجب تفعيلها يدويًا في ARCore، على النحو الموضَّح في تفعيل العمق:
قد توفر بعض الأجهزة أيضًا أداة استشعار لعمق الجهاز، مثل وقت الطيران (ToF). يمكنك الرجوع إلى صفحة الأجهزة المتوافقة مع ARCore للحصول على قائمة بأحدث الأجهزة التي تتوافق مع Depth API وقائمة بالأجهزة التي تحتوي على جهاز استشعار عمق خارجي متوافق، مثل جهاز استشعار ToF.
الصور المتعمقة
تستخدم واجهة برمجة التطبيقات Depth API خوارزمية العمق من الحركة لإنشاء صور بالعمق تُقدّم عرضًا ثلاثي الأبعاد للعالم. ترتبط كل وحدة بكسل في صورة عمق بقياس لمدى بُعد المنظر عن الكاميرا. وتلتقط هذه الخوارزمية العديد من الصور للأجهزة من زوايا مختلفة وتقارنها لتقدير المسافة إلى كل بكسل أثناء تحريك المستخدم لهاتفه. ويتم فيها استخدام تكنولوجيا تعلُّم الآلة بشكل انتقائي لزيادة المعالجة العميقة، حتى بأقل حركة للمستخدم. كما أنه يستفيد من أي أجهزة إضافية قد تكون موجودة في جهاز المستخدم. إذا كان الجهاز يحتوي على أداة استشعار عمق مخصّصة، مثل ToF، ستدمج الخوارزمية تلقائيًا البيانات من جميع المصادر المتاحة. يؤدي ذلك إلى تحسين صورة العمق الحالية وتفعيل العمق حتى في حال عدم تحريك الكاميرا. ويوفّر أيضًا عمقًا أفضل للأسطح ذات العناصر القليلة أو المعدومة، مثل الجدران البيضاء أو في المشاهد الديناميكية التي تتضمّن أشخاصًا أو أشياء متحركة.
تعرض الصور التالية صورة كاميرا لرواق مع دراجة على الحائط، وتصورًا لصورة العمق التي تم إنشاؤها من صور الكاميرا. تكون المناطق ذات اللون الأحمر أقرب إلى الكاميرا، والمناطق ذات اللون الأزرق أبعد.
العمق من الحركة
تتوفّر بيانات العمق عندما ينقل المستخدم جهازه. تستطيع الخوارزمية الحصول على تقديرات دقيقة وفعّالة للعمق على بُعد 0 إلى 65 مترًا. وتظهر النتائج الأكثر دقةً عندما يكون الجهاز على مسافة نصف متر إلى حوالي خمسة أمتار من المشهد الحقيقي. ستحصل التجارب التي تشجع المستخدم على تحريك جهازه أكثر على نتائج أفضل.
الحصول على صور في العمق
باستخدام واجهة Depth API، يمكنك استرداد صور بعمق تناسب كل إطار للكاميرا. الصورة ذات العمق المكتسب لها الطابع الزمني ومجال الرؤية نفسيهما مثل الكاميرا. لا تتوفّر بيانات العمق الصالحة إلا بعد أن يبدأ المستخدم في تحريك جهازه، حيث يتم اكتساب العمق من الحركة. وسيتم ربط الأسطح التي تحتوي على عناصر قليلة أو لا تحتوي على أي عناصر، مثل الجدران البيضاء، بالعمق غير الدقيق.
الخطوات التالية
- يمكنك الاطّلاع على معمل ARCore Depth Lab الذي يعرض طرقًا مختلفة للوصول إلى البيانات المتعمّقة.