يمكنك اتّباع أفضل الممارسات التالية لتحسين مظهر الزخارف وأدائها في لعبة Android.
الزخارف هي أحد العناصر الأساسية في الرسم الثلاثي الأبعاد. إنّ الألعاب الثلاثية الأبعاد التي تعمل بشكل جيد على أكبر عدد من الأجهزة تبدأ برسومات ثلاثية الأبعاد تم تصميمها للاستفادة على أفضل وجه من معالجات الرسومات. يسلّط هذا الدليل الضوء على التحسينات وأفضل الممارسات المتعلقة بزخارف الأجهزة الجوّالة من أجل تحسين أداء لعبتك وتقليل استهلاك الطاقة مع الحفاظ على جودة مرئية عالية.
تستند أجزاء من هذه المقالة إلى عمل ساهمت به شركة Arm Limited ومحمية بموجب حقوق الطبع والنشر.
إنشاء أطقم الهيئة
أطلس الهيئة هو زخرفة مصممة لاحتواء بيانات الصورة لكائنات رسومية متعددة، مثل الشبكات ثلاثية الأبعاد أو تركيبات ثنائية الأبعاد. وبدلاً من أن يكون لكل كائن زخرفةه الخاصة، يتم استخدام زخرفة أطلس لدمج الصور من كل كائن.
يعد تقليل عدد استدعاءات الرسم لإطار اللعبة عنصرًا مهمًا في تحقيق الأداء الأمثل للعرض. يعد استخدام نفس الهيئة لكائنات مختلفة أحد العوامل لدمجها في استدعاء رسم واحد. يُعد تقليل طلبات السحب أمرًا مهمًا بشكل خاص في الألعاب المرتبطة بوحدة المعالجة المركزية (CPU)، لأنّ كل طلب سحب يؤدي إلى زيادة الحمل على وحدة المعالجة المركزية (CPU)، حيث تتم معالجته بواسطة برنامج تشغيل الرسومات. وتقلل أطلس الزخرفة أيضًا من عدد ملفات أصول الزخرفة في بيانات وقت تشغيل لعبتك. يمكن دمج المئات أو حتى الآلاف من الزخارف في عدد أصغر بكثير من ملفات أطلس الزخرفة.
يجب عليك تخطيط تخطيط أطلس الهيئة عند إنشاء شبكات ثلاثية الأبعاد. إذا تم تأليف الأطلس قبل إنشاء مادة عرض الشبكة المتداخلة، يجب أن تكون مادة عرض الشبكة المتداخلة UV غير شاملة بعد أطلس الهيئة. إذا تم إنشاء الأطلس بعد الكتابة، باستخدام أدوات الدمج أو أدوات الإنشاء في برنامج الطلاء، فيجب إعادة ترتيب جزيرة الأشعة فوق البنفسجية وفقًا للهيئة.
تجميع طلبات الرسم الخاصة بالمحرّك
يحتوي محرِّك ألعاب Unity على ميزة رسم حزم المكالمات التي يمكنها دمج العناصر تلقائيًا. لكي تكون الكائنات مؤهّلة للتجميع التلقائي، يجب أن تشترك في مادة مشتركة، بما في ذلك الزخارف، وأن تكون مميزة كثابتة.
يتطلب Unreal Engine 4 الإعداد اليدوي لإرسال الدفعات. يمكنك دمج الكائنات في برنامج ثلاثي الأبعاد قبل استيرادها إلى Unreal. يشتمل تطبيق Unreal أيضًا على أداة دمج ممثل UE4 التي يمكنها دمج الشبكات وإنشاء ملفات أطلس مزخرفة.
إنشاء Mipmaps
تُعد Mipmaps إصدارات أقل دقة من إحدى القوام. تسمى مجموعة mipmaps لزخرفة معينة سلسلة mipmap. كل مستوى لاحقة من mipmap في سلسلة ما هو دقة أقل من المستوى السابق. تُستخدم Mipmaps لتنفيذ مستوى التفاصيل) أثناء العرض. عند ربط زخرفة مقطوعة بطبقة زخرفة، تستخدم أجهزة الرسومات مساحة الزخرفة التي يشغلها كسر لاختيار مستوى من سلسلة mipmap. عند عرض مشهد ثلاثي الأبعاد، سيستخدم عنصر ما بعيدًا عن الكاميرا صورة mipmap بدرجة دقة أقل من الكائن نفسه الأقرب من الكاميرا.
يستخدم الزخرفة المشوهة ذاكرة أكبر مقارنةً بالزخرفة التي لا تتضمن تشويشًا. تزيد مستويات mipmap الإضافية من مساحة الذاكرة للزخرفة بنسبة 33٪. في حالة رسم زخرفة على مسافة ثابتة من الكاميرا، فإن إنشاء mipmaps يعد استخدامًا غير ضروري للذاكرة.
يؤدي استخدام mipmaps بشكل صحيح إلى تحسين أداء وحدة معالجة الرسومات. يؤدي توافر مستويات mipmap أقل دقة إلى تقليل استخدام معدل نقل البيانات للذاكرة وتحسين الإقامة في ذاكرة التخزين المؤقت للزخارف.
يمكن أن يؤدي تأثير التشكيلة المتشابكة إلى تحسين جودة الصورة عن طريق تقليل الاسم المستعار للزخرفة. يمكن ملاحظة تلاشي القوام كتأثير وامض على المناطق البعيدة من الكاميرا.
تفاصيل mipmap الخاصة بالمحرّك
تتطلب Unreal Engine 4 أبعادًا للزخرفة ذات قوتها اثنان (على سبيل المثال 512x1024 و128x128) لاستخدام mipmapp. لن يتم إنشاء سلاسل Mipmap إذا لم يكن أحد أبعاد الزخرفة أو كليهما قوة اثنتين.
وسيقوم محرك Unity بضبط حجم الزخارف تلقائيًا باستخدام أبعاد لا تعتمد على قوة الضعف لإنشاء خرائط mipmaps. تأكد من أن ملفات زخرفة المصدر لها قوة ثنائية الأبعاد لتجنب هذا التحجيم.
تحديد أوضاع تصفية الهيئة المناسبة
تصفية الزخارف هي ميزة لعرض الأجهزة وتؤثر في المظهر المرئي للمثلث المعروض. يمكن أن يؤدي الاستخدام المناسب لتصفية الهيئة إلى تحسين الجودة المرئية للمشهد. هناك أوضاع متعددة لتصفية الهيئة، لكل منها توازن مختلف بين تحسين العرض والتكلفة. تشمل التكلفة كلاً من وقت الحساب ومعدل نقل بيانات الذاكرة. والأوضاع الثلاثة المتاحة بشكل شائع لفلترة الهيئة هي: الأقرب (أو النقطة) والثنائية الخطية وثلاثية الخطوط. متباين الخواص هو طريقة إضافية لتصفية القوام يمكن دمجها مع التصفية ثنائية الخط أو التصفية الثلاثية الخط.
الفعالية الأقرب
الأقرب هو أبسط وأقل وضع لتصفية الزخرفة. لعينات أقرب عينات تكسل واحد باستخدام الإحداثيات المحددة في نسيج المصدر. ستكون المثلثات المعروضة بأقرب شكلاً ممتلئًا أو متقطّعًا، خاصةً عند عرضها بالقرب من الكاميرا.
ثنائي الخط
عينات التصفية الثنائية الخطية من الأجزاء الأربعة المحيطة بالإحداثيات المحددة في زخرفة المصدر. يتم حساب متوسط هذه الأجزاء الأربعة لتحديد لون الزخرفة للجزء. ينتج عن التصفية الثنائية الخط تدرج أكثر سلاسة بين وحدات البكسل، مما يؤدي إلى تجنب المظهر الكثيف لأقرب تصفية. ستظهر المثلثات المعروضة بالقرب من الكاميرا ضبابية بدلاً من تقطيعها. تكون تكلفتها ثنائية الخط أكثر من الأقرب بسبب عينات التكسل الإضافية ومتوسط تكلفتها.
ثلاثي الخطوط
عند عرض شبكة حيث تختلف مسافة رؤوسها عن الكاميرا، يمكن تحديد مستويات متعددة من mipmap أثناء العرض. قد تؤدي التغييرات بين مستويي mipmap إلى قطع حاد بشكل ملحوظ عند نقطة الانتقال. تعمل التصفية ثلاثية الخطوط على تخفيف هذه التحولات عن طريق إجراء تصفية ثنائية الخط على مستويين مختلفين لمخطط mipmap واستكمال النتائج. يؤدي استخدام مستويات mip المتعددة والاستقراء الداخلي إلى جعل ثلاثي الخط أكثر تكلفة حسابية من ثنائية الخط.
متباين الخواص
تزيد التصفية المتباينة الخواص من الجودة البصرية للشبكات المزخرفة التي يتم عرضها بزاوية أقصى بالنسبة إلى الكاميرا. المستوى الأرضي هو مثال شائع على هذا النوع من الشبكات. تتطلب التصفية متباينة الخواص زخارف مختلطة لتعمل. يمكن ضبط نسبة أو مستوى التصفية متباينة الخواص المطبَّقة أثناء العرض. تزداد تكلفة التصفية متباينة الخواص مع زيادة المستوى.
استراتيجية اختيار وسيلة النقل
تعد التصفية الثنائية الخطية عمومًا أفضل توازن بين الأداء والجودة المرئية. تتطلب التصفية ثلاثية الخطوط معدل نقل بيانات أكبر بكثير في الذاكرة ويجب استخدامها بشكل انتقائي. وفي العديد من الحالات، ستبدو التصفية ثنائي الخط جنبًا إلى جنب مع التصفية متباينة الخواص 2x وتحقق أداءً أفضل من التصفية ثلاثية الخطوط مع التصفية متباينة الخواص 1x. إن زيادة المستويات متباينة الخواص إلى أكثر من الضعف أمر مكلف للغاية ويجب القيام بذلك بشكل انتقائي للغاية لأصول اللعبة المهمة.
قد تمثل تصفية الزخارف ما يصل إلى نصف إجمالي استهلاك الطاقة لوحدة معالجة الرسومات، ويُعد اختيار فلاتر زخرفة بسيطة كلما أمكن طريقة ممتازة لتقليل متطلبات الطاقة في لعبتك.
تحسين أحجام زخارف
احرِص على أن تكون أبعاد الزخرفة صغيرة قدر الإمكان مع الحفاظ على جودة الصورة التي تريدها. راجع أصول الزخرفة للتحقق من زخارف كبيرة بشكل خاطئ. وينطبق هذا المبدأ على زخارف منفصلة وزخارف أطلس. إذا كانت لعبتك تدعم العديد من الأجهزة التي تضم مجموعة واسعة من الدقة وإمكانات الأداء، يمكنك إنشاء إصدارات منخفضة وعالية الدقة من مواد عرض الزخرفة لفئة الجهاز المناسبة.
عند عرض شبكة تستخدم عدة زخارف في المادة، يجب التفكير في تقليل دقة بعض الزخارف بشكل انتقائي. على سبيل المثال، عند استخدام زخرفة منتشرة 1024×1024، قد يكون من الممكن تقليل خشونة أو زخرفة الخريطة المعدنية إلى 512×512 بأقل تأثير على جودة الصورة. تحقق من تأثير جميع تجارب تغيير الحجم هذه لضمان عدم التأثير سلبًا في مستوى الجودة المطلوب.
استخدام مساحة اللون المناسبة
يتم تشغيل العديد من حزم البرامج المستخدمة لكتابة الهيئة وتصديرها باستخدام مساحة اللون sRGB. قد تستخدم الزخارف المبعثرة، التي تتم معالجتها كلون، مساحة لون sRGB. لا يجب تصدير الزخارف التي لا تتم معالجتها كلون، مثل المعدن أو الخشنة أو الخرائط العادية، في مساحة لون sRGB.
تتضمّن إعدادات زخرفة محرك اللعبة معلَمة لمعرفة ما إذا كانت الزخرفة تستخدم مساحة اللون sRGB.
نظرًا لعدم استخدام بيانات البكسل لهذه الزخارف كبيانات لون، سيؤدي استخدام مساحة اللون sRGB إلى إنتاج عناصر مرئية غير صحيحة.
استخدام ضغط القوام
ضغط القوام هو خوارزمية لضغط الصور يتم تطبيقها على بيانات وحدات البكسل غير المضغوطة والتي ينتج عنها بنية يمكن فك ضغطها بسرعة باستخدام أجهزة الرسومات أثناء العرض. قد يؤدي الاستخدام الفعال لضغط الهيئة إلى تقليل استخدام الذاكرة وتحسين الأداء بأقل تأثير على جودة الصورة المرئية. هناك ثلاث خوارزميات هي الأكثر شيوعًا لضغط البنية على Android، وهي: ETC1 وETC2 وASTC. بالنسبة إلى الألعاب الحديثة، تُعد ASTC الخيار الأساسي الأفضل بشكل عام، حيث يكون ETC2 خيارًا احتياطيًا إذا كانت لعبتك تستهدف الأجهزة التي لا تتوافق مع ASTC.
ETC1
تتوافق جميع أجهزة Android مع ETC1. لا يتوافق ETC1 إلا مع وضع واحد أربع بت لكل بكسل لبيانات الألوان RGB. لا تتوافق قناة ETC1 مع قنوات ألفا. تسمح العديد من محرّكات الألعاب المتوافقة مع ETC1 باستخدام تصميم زخرفة ETC1 ثانية لتمثيل بيانات قناة ألفا.
ETC2
يتوافق ETC2 مع أكثر من% 90 من أجهزة Android النشطة. ويتعذّر على الأجهزة القديمة جدًا التي لا تتوافق مع OpenGL ES 3.0 API استخدام ETC2. مقارنةً بـ ETC1، يضيف ETC2 ما يلي:
- توافق قناة ألفا، سواء بثماني بتات أو "ثقب" واحد
- إصدارات sRGB من زخارف RGB وRGBA
- زخرفة قناتَين وR11 وRG11
اختبار ASTC
وتدعم ميزة ASTC من خلال أكثر من% 75 من أجهزة Android النشطة. يتميز ASTC بأحجام كتل ضغط قابلة للضبط، ما يمنحك تحكُّمًا أكثر دقة لتحقيق التوازن في نسبة الضغط مع جودة الصورة في زخرفة معيّنة. غالبًا ما تكون ASTC قادرة على تحقيق جودة فائقة في الحجم نفسه للذاكرة مثل ETC2، أو كمية مماثلة بحجم ذاكرة أصغر من ETC2.
سرعة ضغط الهيئة
يمكن أن يستغرق ضغط القوام وقتًا طويلاً إذا كانت اللعبة تتضمن الكثير من الزخارف. يحتوي كل من ETC وASTC على إعدادات لجودة ضغط يمكن اختيارها. يتطلب ضغط الإعدادات ذات الجودة الأعلى وقتًا أطول. فأثناء عملية التطوير، يمكنك تقليل مستوى الجودة لخفض وقت الضغط وزيادة مستوى الجودة قبل إنشاء إصدارات مهمة.
ضغط القوام في محركات الألعاب
إذا كنت تستخدم أحد محركات الألعاب، قد تضطر إلى اختيار تنسيق ضغط البنية (ETC أو ASTC) على مستوى المشروع. وقد يتطلب الأمر عملاً إضافيًا لتحقيق أفضل توافق ممكن مع تنسيقات الضغط المتعددة. إنّ ميزة "استهداف تنسيق ضغط القوام" في "عرض المواد في Google Play" يمكن أن تساعدك في تضمين تنسيقات متعددة في لعبتك وتقديم التنسيق الأمثل فقط لجهاز فردي أثناء التثبيت.
إظهار الأشعة فوق البنفسجية
اجعل جزيرة الأشعة فوق البنفسجية مستقيمة قدر الإمكان. يساعد هذا في زخرفة موقعك بالطرق التالية:
- وبالتالي، أصبح من الأسهل تعبئة قوالب الأشعة فوق البنفسجية، ما يقلّل من هدر المساحة.
- تقلل الأشعة فوق البنفسجية المستقيمة من "تأثير السلالم" على الزخارف.
- يضمن التغليف الجيد للأشعة فوق البنفسجية الحصول على دقة مثالية من القوام.
- جودة أفضل، حتى في حال تشوّه الأشعة فوق البنفسجية بعض الشيء من التسوية.
تبدو الطبقات المرئية على النموذج سيئة. حاول وضع أي وصلات للأشعة فوق البنفسجية في الأماكن التي تكون أقل وضوحًا فيها. للمساعدة في إنشاء خرائط طبيعية أفضل، قسِّم جزيرة الأشعة فوق البنفسجية حيث تكون الحواف حادة واترك بعض المساحة حول الجزيرة.
تجنب التفاصيل غير الملموسة
عند إنشاء أعمال فنية، لا تضِف تفاصيل لا يمكن رؤيتها، خاصة في الألعاب المصمَّمة للأجهزة ذات الشاشات الأصغر. إنشاء صورة بتفاصيل دقيقة بدقة 4096x4096 يتم إهدارها على نموذج كرسي صغير بالكاد يظهر في ركن الغرفة. في بعض الحالات، قد تحتاج إلى تكبير الحواف (إضافة إضافة تمييزات إضافية) والتظليل لتحسين إدراك الشكل.
تفاصيل الخَبز
تحتوي الأجهزة المحمولة على شاشات أصغر وأجهزة رسومات أقل قوة من أجهزة الكمبيوتر الشخصية أو وحدات تحكم الألعاب. بدلاً من حساب التأثيرات مثل الانسداد المحيط أو التظليل الخفي في وقت التشغيل، يمكنك "تحويلها" إلى بنية منتشرة قدر الإمكان. يساعد هذا في الأداء ويضمن رؤية تفاصيلك.
استخدام تلوين الألوان
إذا كانت لديك القدرة على إنشاء أدوات تظليل مخصصة ولديك شبكات ذات ألوان مشابهة أو موحدة، ففكر في استخدام درجات الألوان على الشبكات الملائمة. مع التلوين الخفيف للألوان، يتم استخدام زخرفة تدرّج الرمادي، ما يستهلك ذاكرة زخرفة أقل من نسيج نموذج أحمر أخضر أزرق. يتم تطبيق بيانات لون الرأس بواسطة التظليل لتلوين الشبكة. هناك طريقة بديلة للتلوين وهي استخدام قناع نموذج أحمر أخضر أزرق وتطبيق الهيئة بناءً على نطاق لون القناع.
تجميع قنوات الزخرفة
عند عرض مواد ذات زخارف متعددة، ابحث عن فرص لدمج الزخارف التي تستخدم قناة لون واحدة فقط في بنية واحدة تستخدم قنوات الألوان الثلاث جميعها. يؤدي ذلك إلى تقليل استخدام الذاكرة ويقلل من عدد عمليات عينة الهيئة التي تنفذها أداة تظليل الأجزاء.
عند إنشاء حزمة محتوى، خصِّص البيانات بأكبر قدر من التفاصيل إلى القناة الخضراء. ونظرًا لأن العين البشرية أكثر حساسية للأخضر، فإن أجهزة الرسومات تخصص عادةً المزيد من وحدات البت للقناة الخضراء. على سبيل المثال، عادةً ما تحتوي خريطة الخشونة/التجانس على تفاصيل أكثر من الخريطة المعدنية، وهي خيار أفضل لتخصيصها للقناة الخضراء.
بالنسبة إلى المواد التي تستخدم قناة ألفا، إذا كنت تستخدم قناتين فقط في الهيئة المعبأة، فيمكنك وضع بيانات قناة ألفا في الهيئة المعبأة بدلاً من الهيئة المنتشرة. اعتمادًا على تنسيق الهيئة المنتشرة، يمكن أن يساعدك ذلك في تقليل حجمها أو زيادة جودتها المرئية عن طريق حذف بيانات قناة ألفا.
وتأكد من ضبط الزخارف المعبأة على مساحة لون نموذج أحمر أخضر أزرق خطي وليس sRGB.
إنشاء خرائط عادية
التعيين العادي هو أسلوب يمنح النموذج الثلاثي الأبعاد مظهر التفاصيل بدون استخدام هندسة إضافية. يمكن محاكاة ميزات مثل التجاعيد أو المسامير التي قد تتطلب إنشاء العديد من المثلّثات باستخدام خريطة عادية. قد تكون الخريطة العادية مناسبة أو غير مناسبة حسب النمط الفني واتجاه اللعبة.
تتكبد الخرائط العادية بعض تكاليف الأداء ويجب استخدامها باعتدال على الأجهزة ذات المواصفات المنخفضة. تتطلب الخريطة العادية زخرفة إضافية، مما يؤدي إلى المزيد من عينات النسيج وحسابات أداة تظليل الأجزاء.
أفضل الممارسات العادية على الخريطة
وفي ما يلي بعض أفضل الممارسات لإنشاء الخرائط العادية:
استخدام قفص
القفص هو نسخة أكبر أو منحدر من نموذجك المضلّع المنخفض. يجب أن تشمل نموذج المضلّع العالي حتى يعمل بشكل جيد أثناء خبز الخرائط العادي. ويتم استخدام القفص لتحديد مسافة راياست أثناء خَبْز الخريطة العادي ويساعد في تجنب حدوث مشاكل في تقسيم الدرزات العادية على الخريطة العادية.
مطابقة الخَبْز حسب اسم الشبكة المتداخلة
إذا كان برنامج الخَبز يتيح ذلك، يمكنك تحضير المطابقة حسب اسم الشبكة المتداخلة. تخفف هذه الميزة من مشكلة الإسقاط العادي للخريطة. عندما تكون الكائنات قريبة جدًا من بعضها البعض، فقد تعرض بشكل غير متوقع خريطتها العادية على الوجه الخطأ. وتضمن المطابقة حسب اسم الشبكة أن تتم عملية الخَبز على السطح الصحيح فقط. للحصول على مزيد من المعلومات حول هذه الميزة في "طلاء المواد"، اطّلِع على هذه الصفحة. لمزيد من المعلومات حول هذه الميزة في Marmoset Toolpack، اطّلِع على هذه الصفحة.
انفجر الشبكة
إذا لم تتمكّن من المطابقة حسب اسم الشبكة عند الخبز، فكّر في تفجير الشبكة. يؤدي تفجير الشبكة إلى نقل الأجزاء بعيدًا عن بعضها البعض حتى لا تظهر الخريطة العادية على السطح الخطأ. إذا كنت أيضًا تخبز طعمًا آخر للانسداد المحيط، قد تحتاج إلى إعداد هذا الخبز بشكل منفصل باستخدام شبكة غير متفجّرة.
تقليل الدرزات
يؤدي استمرار الأشعة فوق البنفسجية على الحواف الصلبة إلى ظهور وصلات مرئية وتقسيم الأشعة فوق البنفسجية على الحواف الصلبة لتقليل هذا التأثير. عند إعداد مجموعات التجانس، كقاعدة إرشادية، حافظ على الزاوية أقل من 90 درجة. ينبغي أن تكون دوال الأشعة فوق البنفسجية مجموعة تجانس مختلفة على المثلثات.