مدونة Metlivi

كيفية تصميم معاينات وضع الأثاث لمنع التداخلات والوضع الخاطئ

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

30 سبتمبر 20266 دقائق للقراءةالترفيه والسفر وتجارب المدينةبقلم Metlivi Editorial Team
القسم 1

ما الذي يجب أن توضحه المعاينة؟

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

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

القسم 2

كيف يجب أن تختلف الصلاحية عن اكتشاف التصادم؟

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

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

يجب أن يتطابق الفحص التقني مع مساحة القاعدة المحولة للمعاينة. تصف واجهة برمجة تطبيقات التداخل في Unreal Engine فحص شكل التصادم المحدد عند موضع وتدوير معينين، بينما تقبل Physics.OverlapBox في Unity 6 نقطة مركزية، ونصف الأبعاد، والاتجاه، وقناع الطبقات (layer mask)، وسلوك الإطلاق (trigger behavior). توضح واجهات برمجة التطبيقات هذه سبب ضرورة أن يؤدي تغيير التدوير إلى تشغيل فحص للشكل بعد تدويره. يختلف سلوك المحرك وتفاصيل واجهات برمجة التطبيقات باختلاف الإصدار؛ لذا استخدم الوثائق المخصصة لإصدار المحرك وإعدادات التصادم المعتمدة فعلياً في اللعبة. واجهة برمجة تطبيقات التداخل في Unreal Engine وPhysics.OverlapBox في Unity 6

القسم 3

كيف يجب أن تبدو الأوضاع الصالحة وغير الصالحة؟

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

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

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

القسم 4

ما هي المؤشرات والاستجابات التي يجب أن يوفرها التدوير؟

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

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

القسم 5

كيف يجب أن تعمل عمليتا الإلغاء والاستعادة؟

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

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

القسم 6

مثال تطبيقي: وضع خزانة كتب

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

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

القسم 7

قائمة مراجعة عملية للتصميم

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

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

قراءات ذات صلة

متابعة استكشاف الموضوع