المواد والتظليل

اتّبِع ما يلي من أفضل الممارسات لتحسين استخدام المواد وأدوات التظليل في لعبة Android.

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

تستند أجزاء من هذه المقالة إلى عمل ساهمت به شركة Arm Limited ومحمية بموجب حقوق الطبع والنشر.

أدوات التظليل المتوافقة مع الأجهزة الجوّالة لمحركات الألعاب

تختلف محركات الألعاب في كيفية ربط المواد وأدوات التظليل. يمكن لمحرك Unity إنشاء العديد من وحدات التظليل، ولكن يمكن تخصيص تظليل واحد لكل مادة فقط. وبإمكان Unreal Engine 4 استخدام أدوات تظليل مختلفة على مادة معينة بناءً على النظام الأساسي المستهدف.

للحصول على تعريف لأدوات التظليل والمواد، اطّلِع على أفضل الممارسات المتعلّقة بمواد التظليل والتظليل للفنانين.

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

الانسجام

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

محرك Unreal Engine 4

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

إعداد عرض المعاينة على الأجهزة الجوّالة في Unreal editor
الشكل 1. إعداد عرض معاينة الجوّال في محرر Unreal.

تقليل عينات القوام

يجب أن تستخدم الألعاب التي تستهدف الأجهزة الجوّالة أقل عدد ممكن من الزخارف في موادها. تتطلب كل زخرفة مضافة المزيد من عينات الزخارف، والتي تستهلك معدل نقل بيانات الذاكرة وتزيد من استهلاك الطاقة. Unreal Engine 4 يوصي بخمس زخارف مواد كحد أقصى عند التشغيل على الأجهزة الجوّالة. حتى خمسة عينات زخرفية قد تكون مكلفة للغاية للاستخدام على نطاق واسع على العديد من الأجهزة. تشمل الاستراتيجيات لتقليل عدد عينات التركيبة ما يلي:

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

إيقاف الإضاءة إن أمكن

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

مقارنة نموذج معروض بإضاءة وبدونها
الشكل 2. مثال على عرض نموذج بإضاءة في الوقت الفعلي (يسارًا) وبدون إضاءة في الوقت الفعلي (يمينًا) (إلى اليمين).

التقليل من استخدام الشفافية

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

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

مثال على أداة عرض تجاوز الحد الأقصى في Unity
الشكل 3. مثال على أداة عرض تجاوز الحد الأقصى لعرض الفيديو في محرِّر Unity
.
مثال على أداة عرض البيانات بشكل زائد في محرّر Unreal
الشكل 4. مثال على أداة عرض تجاوز الحد الأقصى لعرض الفيديو في محرّر Unreal.

استخدام طريقة ألفا المناسبة

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

يُساعد اختبار ألفا على جعل المادة الأساسية تبدو معتمة بنسبة 100% أو شفافة بنسبة 100%. يمكنك ضبط حدّ ألفا لقيمة هذا القطع النهائي. في الانسجام، يُطلق على هذا النوع من الشفافية اسم القطع. وفي Unreal Engine 4، يُسمى وضع المزج Masked.

يسمح مزج ألفا لمادة الكائن بأن يكون لها نطاق من الشفافية، ويمكن أن يجعل الكائن يبدو شفافًا جزئيًا. تسمي الانسجام هذا النوع من الشفافية بأنه شفاف. وفي Unreal Engine 4، يطلق عليه وضع المزج شبه شفاف.

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

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

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

تعقيد أداة تظليل الملف الشخصي

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

يشتمل Unreal Engine 4 على وضع عرض تعقيد حاجب الذي يوفر تقديرات لتكلفة العناصر في المشهد.

وضع عرض Shader المعقدة في محرر Unreal
الشكل 6. وضع العرض Shader تحكم في مُحرِّر Unreal

يمكنك أيضًا استخدام ميزة إحصاءات المواد في Unreal لتحديد تكلفة المواد أثناء تأليفك لها.

عرض "إحصاءات المواد" في Unreal editor
الشكل 7. يتم عرض إحصاءات المادة في محرر Unreal.

الحساب في أداة تظليل الرأس

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

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

تجنب العمليات الحسابية المكلفة

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

  • الإضافة
  • الطرح
  • الضرب

تشمل العمليات الأكثر تكلفة ما يلي:

  • القسم
  • الأعداد الفائقة (جيب، جيب تمام، قوّة، لوغاريتم، تان)

الأداء المعتاد للملف الشخصي

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