بكسل لو فاي في الوحدة

صورة

يعتمد النمط المرئي للعبة التطوير LAUNDRY GAME (نعم ، هذا إعلان وقح) على وحدات بكسل كبيرة وواضحة ثلاثية الأبعاد. أنا أحب دقة منخفضة 3D. سُئلت الكثير من الأسئلة حول كيفية القيام بذلك ، لذلك قررت أن أكتب تعليميًا.

ملاحظة: هذا هو قراري فقط! هناك طرق لاستخدام التظليل ، والرسومات المزججة وغيرها من الحيل ، ولكن في مشروعي الصغير المنفرد ، كان هذا الحل كافيًا.

الإضافة 1: أرسل الرجل الذكي Pete Brisburn سيناريو هنا في حال لم تعجبك خدعة "quad in the sky" (الخطوات 4-6)!

المرحلة 1: إعداد المشهد المصدر



تحتاج أولا إلى إعداد المشهد! أنا خلقت هذا المكعب الصغير مع صديقي الطيور أوسكار J. الكشكشة . يركض حول المكعب ويصرخ باستمرار. (هذه ليست سوى وحدة تحكم الشخصيات والرسوم المتحركة متصلة ببعضها البعض.)

لكن انظر إلى هذه الخطوط التنموية المثيرة للاشمئزاز! فو ، دعونا نتخلص منهم.

المرحلة 2: إزالة كاميرات MSAA



قم بتمييز الكاميرا الرئيسية وإلغاء تحديد المربع السماح لـ MSAA . كما ترون ، بكسل أكثر حدة. ولكن ليس هناك رفع مستوى حتى الآن! أي أن جميع وحدات البكسل ستكون صغيرة. يجب أن تكون ثابتة.

المرحلة 3: تقديم الكاميرا في نسيج العرض



أقوم بتكبير (للحصول على وحدات بكسل ضخمة واضحة ) باستخدام RenderTexture وجعل الكاميرا الرئيسية في هذا الملمس. هذا سوف يسمح لنا باستخدام RenderTexture مثل أي نسيج منتظم!


فيما يلي الخيارات التي سأستخدمها في RenderTexture . الحجم هو الحجم الذي نتكبر فيه. أصغر عدد ، أكبر بكسل. بالنسبة إلى كلتا القيمتين ، عادةً ما أستخدم الأرقام في النطاق من 300 إلى 600 ( سيليست ممتازة ، على سبيل المثال ، ينفذ التكبير من 320 × 200).

وضع التصفية هو طريقة لأداء / تصغير الحجم. لا يضيف وضع "Point" صقلًا ، أي أنه يحافظ على حدة البكسل التي نحتاجها حقًا.

لكن ماذا حدث؟


الآن نحن لا نقدم الكاميرا على الشاشة ، ولكن في RenderTexture ، لذلك لا يتم عرض أي شيء على الشاشة!

لإصلاح ذلك ، نحتاج إلى إعداد كاميرا أخرى ، لكن هذه المرة مختلفة بعض الشيء.

المرحلة 4: إنشاء كاميرا تكبير + رباعية



لنبدأ بإنشاء كاميرا جديدة في المشهد (دعنا نسميها QuadCamera ) ونعلقها على رباعي الأبعاد ثلاثي الأبعاد وهو طفل.

المرحلة 5: ضعه في مكان ما في الفراغ



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

الخطوة 6: قم بإرفاق بنية التجسيد بالرباعية ووضعها أمام الكاميرا



ثم نأخذ رباعية. قمت بتعيين Sprites-Default لها (مادة قياسية في الوحدة لا تتأثر بالإضاءة) بحيث لا تتأثر بأي إضاءة عشوائية في المشهد. ثم اسحب RenderTexture إلى رباعية. الآن يظهر رباعية مشهدنا! بعد ذلك ، ننقل الكواد بحيث يكون أمام كوادكاميرا (الكاميرا التي تعرض الآن الشاشة المستهدفة).


كما ترون ، تم الآن زيادة نطاق التقديم! أوسكار يمكن النقر باستمرار منقار بكسل لها! لكن في الوقت نفسه ، اقتربنا من رأسه.

المرحلة 7: ضبط الكاميرات



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

المكافأة: تأكد من أن القوام ليست ضبابية



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

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


All Articles