العمق يضيف الواقعية

أدلة خاصة بالنظام الأساسي

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

تساعد واجهة برمجة التطبيقات Depth API كاميرا الجهاز على فهم حجم العناصر الحقيقية وشكلها في المشهد. فهي تنشئ صورًا معمّقة أو خرائط للعمق، ما يؤدي إلى إضافة طبقة من الواقعية إلى تطبيقاتك. يمكنك استخدام المعلومات التي تقدّمها صورة تفصيلية لتفعيل تجارب المستخدِم الغامرة وواقعية.

حالات الاستخدام لتطوير البرامج باستخدام Depth API

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

تفعيل ميزة إيقاف تحميل المحتوى في الخلفية

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

تحويل أجواء الإضاءة

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

المسافة والعمق في الحقل

هل تريد إظهار أنّ المنتج بعيد؟ باستخدام واجهة برمجة التطبيقات Depth API، يمكنك استخدام قياس المسافة وإضافة تأثيرات عمق الحقل، مثل تمويه الخلفية أو الواجهة.

تفعيل تفاعلات المستخدمين مع كائنات الواقع المعزّز

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

تحسين اختبارات النتائج

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

في المثال التالي، يمثل "آندي" الأخضر اختبارات الطائرات العادية، بينما يمثل "آندي" الأحمر اختبارات الضرب العميقة.

توافق الجهاز

لا تتوافق واجهة برمجة التطبيقات Depth API إلا على الأجهزة التي تتضمّن طاقة المعالجة لتوفير العمق، ويجب تفعيلها يدويًا في ARCore، كما هو موضَّح في مقالة تفعيل العمق.

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

صور العمق

وتستخدم واجهة برمجة التطبيقات Depth API خوارزمية عمق التحوّل لإنشاء صور بالعمق تقدّم عرضًا ثلاثي الأبعاد للعالم. ترتبط كل بكسل في صورة العمق بقياس المسافة التي تفصل بين المشهد. تلتقط هذه الخوارزمية صورًا متعددة للأجهزة من زوايا مختلفة وتقارنها لتقدير المسافة لكل وحدة بكسل عندما ينقل المستخدم هاتفه. تستخدم هذه الأداة تكنولوجيا تعلُّم الآلة بشكل انتقائي لزيادة المعالجة المتعمّقة، حتى مع أقل قدر من الحركة من المستخدم. وتستفيد أيضًا من أي أجهزة أخرى قد تتوفّر على جهاز المستخدم. إذا كان الجهاز يحتوي على جهاز استشعار عمق مخصص، مثل ToF، ستدمج الخوارزمية البيانات من جميع المصادر المتاحة تلقائيًا. ويؤدي ذلك إلى تحسين الصورة الحالية للعمق وتفعيل العمق حتى في حال عدم حركة الكاميرا. توفّر هذه الواجهة أيضًا عمقًا أفضل في الأسطح التي تتضمّن القليل من الميزات أو لا تحتوي على أي ميزات، مثل الجدران البيضاء أو في المشاهد الديناميكية مع التحرّك أو أشخاص.

توضّح الصور التالية صورة كاميرا لرواق مع دراجة على الحائط، وصورة مرئية للعمق الذي يتم إنشاؤه من صور الكاميرا. تكون المناطق ذات اللون الأحمر أقرب إلى الكاميرا، والمناطق البعيدة باللون الأزرق.

العمق من الحركة

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

الحصول على صور بالعمق

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

الخطوات التالية

  • يمكنك الاطّلاع على ARCore Depth Lab الذي يوضّح طرقًا مختلفة للوصول إلى البيانات التفصيلية.