كيف يتم تقديم الإطار في Shadow Fight 3



تحدث الفنان الفني ثلاثي الأبعاد Banzai Games Roman Tersky حول كيفية رسم الإطار وترتيب المواد للشخصيات في لعبة Shadow Fight 3 المحمولة ، وكشف أيضًا بعض الحيل في إعداد البيئة

Shadow Fight 3 هي لعبة قتال / آر بي جي تم تطويرها على أساس محرك Unity3d. تم إصدار المشروع على نظام التشغيل iOS / Android في نوفمبر 2017 ، ومنذ ذلك الحين تجاوز إجمالي عدد منشآت اللعبة 80 مليونًا. للوصول إلى هذا الجمهور الواسع ، قام فريق التطوير بإجراء تحسين لعبة رائع ، ونتيجة لذلك ، يعمل المشروع على 60 إطارًا في الثانية على العديد من الأجهزة الحديثة باستخدام متوسط ​​الأداء.

غالبًا ما يلاحظ النقاد واللاعبون المكون البصري لـ Shadow Fight 3. في هذه المقالة ، نقترح عليك أن تبدو "تحت غطاء" اللعبة ومعرفة كيف تمكنا من تحقيق هذه الجودة.

تقديم الإطار


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

عند تقديم إطار لعبة لكل مجموعة ثابتة من الكائنات المرتبطة بواسطة مادة واحدة ، تقوم Unity بإطلاق Call Draws وتراكبها. كل مكالمة السحب تتطلب موارد وحدة المعالجة المركزية ، لذلك فإن خطوة التحسين المهمة هي تقليل عدد المكالمات. كان هدفنا تقليل هذا المؤشر إلى 100 مكالمة لكل إطار لعبة في المتوسط.


إطار واحد تجعل العملية

تتمثل المرحلة الأولى من العرض في Shadow Fight 3 في رسم ظلال شخصية ديناميكية وتأثيرات الوهج للعناصر المضيئة على دروع وأسلحة اللاعبين.



كل من هذه العمليات لها خصائصها الخاصة وينبغي النظر فيها بمزيد من التفصيل.

شبح


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


ShadowReciever المنطقة

في هذا الإطار ، استغرقت هذه العملية 20 مكالمة سحب.

توهج


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


BlurCube

في إطارنا ، استغرقت هذه العملية 15 مكالمة سحب + 2 أخرى لطمس التأثير.

رسم تنسجم


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

UI


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


الكاميرا الرئيسية تجعل النتيجة


الكاميرا UI تقديم نتيجة


الإطار النهائي تقديم النتيجة

في المجموع ، تطلب تقديم الإطار النهائي للعبة 92 مكالمة سحب.

كيف هي مادة درع الشخصية


لإنشاء مادة درع الشخصية ، يتم استخدام مواد بدقة 512 × 512: أقنعة Diffuse (1) ، RGB (2) ، MatCap (3) ، خريطة Diffuse إضافية لشكل الظل (4) ، بالإضافة إلى مادة ضجيج صغيرة MorphMask (5) المستخدمة في خلق تأثير انتقال الشخصية إلى شكل الظل.



وإذا كان كل شيء قياسيًا مع بطاقة Diffuse (هذه مجرد نسيج المدرّع نفسه) ، فسنتطرق إلى الباقي بمزيد من التفاصيل:

أقنعة الملمس RGB


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

في حالتنا ، تحتوي قنوات نسيج (قناع) RGB على معلومات للعمليات التالية:

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


MatCap



  MatCap الملمس الأخضر قناة RGB الملمس 


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

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


  قبل تطبيق MatCap بعد تطبيق MatCap 


شكل الظل


عندما ينتقل الحرف إلى شكل الظل المنتشر ، يتم استبدال نسيج المادة بنسق إضافي تم إنشاؤه خصيصًا لشكل الظل.

للانتقال السلس من نسيج إلى آخر ، يتم استخدام قناع مورف للضوضاء ، والذي يتحقق به تأثير الاستبدال التدريجي:



إضاءة الموقع


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



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

كبديل لكل موقع ، نقوم بتخزين تدرج تظليل مستقل وفريد ​​من نوعه: في الواقع ، هذا نسيج ذو دقة 1024 × 1 ، وهو تدرج يستند إلى لقطة شاشة للموقع وينقل درجة التظليل في كل جزء منه. عندما يتحرك شخص ما حول الساحة ، يتم ضرب لون درعه بعد تطبيق إضاءة الاتجاه بلون التدرج المقابل لموضعه الحالي في الموقع. وبالتالي ، في المناطق المظللة ، تكون الإضاءة المطبقة أضعف من المناطق المفتوحة.


خريطة التظليل الخريطة


إضاءة الشخصيات في الجزء المظلل من الموقع


شخصيات الإضاءة في المنطقة المفتوحة

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



آثار الساحة الديناميكية


تلعب تأثيرات FX والكائنات الديناميكية دورًا مهمًا في "تنشيط" مواقع Shadow Fight 3 ، مثل الأعلام والأوراق المتحركة على الأشجار والعشب المتمايل ، إلخ.



FX


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

كائنات ديناميكية


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


  الرسوم المتحركة لأوراق الشجر Vertex ، محاكاة الأقمشة على الأعلام. 


تأملات


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

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


  النتيجة النهائية بدون جنس 


استنتاج


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

يحتاج فريق ألعاب Banzai إلى Developer Graphics. اقرأ المزيد عن الوظيفة الشاغرة هنا .

Source: https://habr.com/ru/post/ar464355/


All Articles