Chacmool: الواقع المعزّز في Chrome Canary

Chris Wilson
Chris Wilson

عند الاستعداد لمؤتمر Google I/O، أردنا تسليط الضوء على الإمكانات المشوّقة للواقع المعزّز (AR) على الويب. Chacmool هو عرض توضيحي تعليمي لتجربة الويب أنشأناه لتوضيح مدى سهولة الاستعانة بالواقع المعزّز المستند إلى الويب في مساعدة المستخدمين على التفاعل مع تجارب الواقع المعزّز. يجعل الويب الواقع المعزّز ملائمًا وسهل الوصول إليه من أي مكان.

لقد فعّلنا الآن هذا العرض التوضيحي على Chrome Canary على أجهزة Android المتوافقة مع ARCore التي تعمل بنظام التشغيل Android O أو إصدار أحدث. عليك أيضًا تثبيت ARCore. ويستند هذا العمل إلى اقتراح WebXR جديد (WebXR Hit Test API)، ولذلك لا يزال في مرحلة الاختبار ويهدف إلى البقاء في إصدار Canary بينما نختبر اقتراح واجهة برمجة التطبيقات الجديد ونحسّنه مع أعضاء آخرين في مجموعة Immersive Web Community Group. في الواقع، عليك تفعيل علامتَين في chrome://flags: #webxr و#webxr-hit-test للوصول إلى العرض التوضيحي. بعد تمكين كل من هذين الإصدارين وإعادة تشغيل إصدار Canary، يمكنك الاطلاع على العرض التوضيحي لـ Chacmool.

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

تم إنشاء هذا العرض التوضيحي على مدار شهر تقريبًا لإنشائه، والاستفادة من بعض المكوّنات من أول عرض توضيحي لل الواقع المعزّز المستند إلى الويب لفريق WebXR، WebAR-Article. تم الحصول على معلومات حول المنحوتة من صفحة Google للفنون والثقافة، وقد تم تقديم النموذج الثلاثي الأبعاد من قِبل، CyArk، شريك "Google للفنون والثقافة". لتجهيز النموذج الثلاثي الأبعاد للويب، تم استخدام مزيج من Meshlab وMesh Mixer لإصلاح النموذج وتقليل الشبكة المتداخلة لتقليل حجم الملف. بعد ذلك، تم استخدام Draco، وهي مكتبة لضغط الشبكات الهندسية الثلاثية الأبعاد والسُحب النقطية وفك ضغطها لتقليل حجم ملف النموذج من 44.3 ميغابايت إلى 225 كيلوبايت فقط. وأخيرًا، يتم استخدام عامل على الويب لتحميل النموذج على سلسلة رسائل خلفية حتى تظل الصفحة تفاعلية أثناء تحميل النموذج وفك ضغطه، وهي عملية تؤدي عادةً إلى إيقاف مؤقت لعرض الصفحة ومنع تمريرها.

بما أنّنا كنا نطوّر البرامج على أجهزة الكمبيوتر المكتبي وننشرها على الهاتف، فإنّنا نستخدم أدوات تصحيح الأخطاء عن بُعد في Chrome للمساعدة في فحص التجربة، ما يؤدي إلى إنشاء دورة تكرار سريع وسريعة بين التغييرات في الرموز البرمجية، وهناك أدوات رائعة للمطوّرين في Chrome تتيح لهم تصحيح الأخطاء وفحص الأداء.

أفضل الممارسات لتجارب الواقع المعزّز والواقع الافتراضي

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

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

بالإضافة إلى ذلك، بسبب تنوّع الأجهزة المستخدَمة لتجارب الويب، من المهم تحسين الأداء لتقديم أفضل تجربة للمستخدم. لذلك: قلّل عدد الأشكال المضلعة، وحاول الابتعاد بأقل عدد ممكن من الأضواء، وحساب الظلال مسبقًا إن أمكن، وتقليل عدد استدعاءات الرسم. عند عرض نص بتقنية الواقع المعزّز، استخدِم تقنيات عرض النص الحديثة (أي القائمة على حقل المسافة الموقَّعة) للتأكّد من أنّ النص واضح وقابل للقراءة من جميع المسافات والزوايا. عند وضع تعليقات توضيحية، فكر في نظرات المستخدم كمدخل آخر ولا تُظهر التعليقات التوضيحية إلا عندما تكون ذات صلة (أي التعليقات التوضيحية القائمة على التقارب التي تظهر عندما يركز المستخدم على مجال اهتمام).

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

إذا كنت مهتمًا بتطوير تجاربك للواقع المعزز على الويب، ننشر هنا منشورًا مصاحبًا يقدم لك المزيد من التفاصيل حول كيفية بدء إنشاء الواقع المعزّز على الويب. (يمكنك أيضًا الاطلاع على مصدر العرض التوضيحي لـ Chaacmool). نعمل حاليًا على تطوير WebXR Device API، ويسعدنا تلقّي ملاحظاتك لنتأكّد من أنّها تتيح جميع أنواع التطبيقات وحالات الاستخدام، لذلك يُرجى التوجّه إلى GitHub والانضمام إلى المحادثة.