اجعل لعبة Unity رائعة من جميع الجوانب

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

إتاحة إمكانية تغيير حجم الشاشة

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

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

الشكل 1. مربّع حوار لتوافق الإعدادات

لمزيد من المعلومات، راجِع مقالة إتاحة إمكانية تغيير حجم الشاشة الكبيرة.

وضع النوافذ المتعددة

الشكل 2. واجهات مستخدم مختلفة على سطح المكتب وقابلة للطي في وضع "التثبيت على سطح مستوٍ".

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

لتجنُّب استخدام وضع التوافق عند تشغيل لعبتك في وضع النوافذ المتعددة، يُرجى التوضيح بأنّ لعبتك قادرة على التعامل مع إمكانية تغيير الحجم من خلال تفعيل خيار النافذة القابلة لتغيير الحجم في إعدادات إصدار Unity.

الشكل 3. إعدادات درجة الدقة والعرض التقديمي في Unity لنظام التشغيل Android

خطوط عرض

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

الشكل 4. صورة مقطوعة للشاشة

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

أوضاع قابلة للطي

يمكن أن تكون الأجهزة القابلة للطي في حالات مختلفة مطوية، مثل FLAT (مفتوحة بالكامل) أو HALF_OPENED (في مكان ما بين الفتحة الكاملة والمغلقة تمامًا). عندما يكون الجهاز في حالة HALF_OPENED، يمكن وضعَين، بناءً على اتجاه الجزء المرئي من الصفحة: وضعية على الطاولة (الطيّ الأفقي) ووضعية الكتاب (الطيّ العمودي). استخدِم وضعية "التثبيت على سطح مستوٍ" لزيادة التركيز على اللاعبين وتعزيز تفاعلهم.

الشكل 5. اللعبة في وضع "التثبيت على سطح مستوٍ" مع وضع العرض الرئيسي على الشاشة العمودية، وعناصر التحكّم في الجزء الأفقي.

لتنفيذ وضع "التثبيت على سطح مستوٍ"، عليك تمديد نشاط Unity التلقائي ثم استخدام مكتبة تنسيق Jetpack WindowManager لالتعرّف على الجزء المرئي من اللعبة.

نموذج لمشروع Unity

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

يتوفّر نموذج المشروع للتنزيل الآن. يحتوي المشروع على أربعة مشاهد مختلفة:

  • الصورة الأصلية: إتاحة الميزة الأساسية التي يمكن تغيير حجمها
  • التثبيت: مماثل للمشهد "الأصلي"، ولكنه يتكيّف مع نِسَب عرض إلى ارتفاع مختلفة مع تجنّب الصورة المقتطعة للشاشة
  • HingeAware: يشبه مشهد "التثبيت"، ولكنه يتيح وضع "التثبيت على سطح مستوٍ".
  • القائمة الرئيسية: بداية المشهد، يسمح بالتنقل إلى المشاهد الأخرى ويتوافق بشكل كامل مع جميع اتجاهات الجهاز، والطي، وفتحه، ووضعية السطح

عند إنشاء المحتوى لنظام Android، حدد كل المشاهد وعيِّن مشهد "القائمة الرئيسية" كمشهد البداية.

الشكل 6. يتيح لك مشهد "القائمة الرئيسية" الانتقال إلى المشاهد الأخرى في وضع "التثبيت على سطح مستوٍ".

البدء بتوفير إمكانية تغيير حجم النوافذ

إتاحة التوافق مع مختلف أحجام الشاشات ونِسب العرض إلى الارتفاع في تطبيق Android للشاشة الكبيرة، وذلك لضمان عرض لعبتك أو تطبيقك بشكل صحيح على الأجهزة المختلفة فعِّل خيار تغيير حجم اللعبة وتغيير نسبة العرض إلى الارتفاع من خلال ضبط الخاصية تغيير حجم النافذة ضمن إعدادات إصدار Unity (راجِع القسم "وضع النوافذ المتعددة"). اضبط نسبة العرض إلى الارتفاع للكاميرا ولوحة الرسم لتلائم الشاشات المختلفة بشكلٍ أفضل. يمكنك الاطّلاع على إعدادات المشروع في إعدادات الإصدار وفي ملف Plugins/Android/AndroidManifest.xml. جرب ميزة تغيير حجم ملء الشاشة في المشهد "الأصلي" للمشروع.

الشكل 7. يدعم المشهد "الأصلي" ميزة "النافذة التي يمكن تغيير حجمها".

عرض المحتوى الغامر بملء الشاشة أثناء التعامل مع الصور القاطعة للشاشة

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

يستخدم مشهد "الارتساء" النص البرمجي CameraAspectLock للاستجابة للتغييرات في إعدادات الجهاز من خلال نشاط موسّع (راجع Assets/Plugins/Android/LargeScreenPlayableActivity.java). يتم عرض safeArea API من Unity في النص البرمجي SafeZoneAPI، الذي يرتبط بالكائن SafeZone داخل المشهد "التثبيت".

مشاهد اللعبة بملء الشاشة على شاشات داخلية وخارجية لجهاز قابل للطي
الشكل 8. مشهد "تثبيت" صورة مقطوعة للشاشة

تحسين التطبيق للأجهزة القابلة للطي

يحتوي المشهد الأخير من نموذج مشروع Unity، الذي يحمل اسم "HingeAware"، على كائن ConfigurationManager يستجيب للحالات المختلفة للطي للجهاز المستهدف من خلال واجهات برمجة تطبيقات مكتبة Jetpack ونشاط موسّع (راجع Assets/Plugins/Android/LargeScreenPlayableActivity.java). يستخدم المشهد النص البرمجي PanelOnFold للتحكم في واجهة المستخدم بناءً على حالة طي الجهاز، على سبيل المثال، عرض اللوحة السفلية لوحدة التحكم عندما يكون الجهاز في وضع الكاميرا وإعداداته.

الشكل 9. يدعم المشهد "HingeAware" وضعية الطاولة.