Go Beyond Retro Pixel Art مع Flat Shaded 3D in Unity
() translation by (you can also view the original English article)
في هذا البرنامج التعليمي ، سأوضح لك كيفية إنشاء رسومات ثلاثية الأبعاد مظللة بشكل مسطح في لعبة الوحدة الخاصة بك ، وشرح سبب رغبتك في القيام بذلك في المقام الأول.
اليوم ، هناك وفرة من الأدوات والمحركات ثلاثية الأبعاد التي تسمح لأي شخص بعمل ألعاب ثلاثية الأبعاد. ومع ذلك ، فإن تحديات الفن ثلاثي الأبعاد مهمة شاقة وغالباً ما تتطلب قدراً هائلاً من الوقت والجهد والخبرات التي لا يمتلكها الفرد المنفرد أو الهاوي. تعمل النماذج المنخفضة المضلع ، بالتزامن مع التظليل المسطح ، على إعادة نمط التسعينيات مبكرًا ، باستخدام تقنيات يمكن لأي شخص تعلمها. وهي ليست مجرد ردة حنين إلى الماضي. يمكن دمج التظليل المسطح بسهولة مع التقنيات الحديثة مثل خرائط الغلق المحيط لإضفاء مظهرك المذهل والأنيق على لعبتك.
احصل على مثال لمشروع Unity هنا
يفترض هذا البرنامج التعليمي أنك تعرف بالفعل كيفية عمل نماذج ثلاثية الأبعاد ، أو يمكنك العثور على نماذج ثلاثية الأبعاد مجانية على الإنترنت. سأكون قد سحبت نماذج من الهواء الرقيق. هناك الكثير من البرامج التعليمية على الإنترنت لكيفية البدء في النمذجة ثلاثية الأبعاد. إذا كنت قد بدأت للتو ، فيمكنني أن أوصي بشدة بـ Wings 3D و SketchUp. كلاهما لهما واجهات يمكن الوصول إليها للغاية مقارنة مع تطبيقات النمذجة المهنية ، وسوف التصدير إلى الأشكال التي يمكن أن تستخدمها خلاط والوحدة.
لماذا استخدام تظليل مسطح؟
لذلك قررت أن تضع يديك في قذر مع يونيتي وأن تبدأ في صنع لعبة ثلاثية الأبعاد بالكامل. ربما لم تكن لديك مهارات سابقة في فن اللعب ، أو ربما قمت بعمل بعض الفن للألعاب ثنائية الأبعاد ؛ في كلتا الحالتين ، ستتعلم بسرعة أن الألعاب ثلاثية الأبعاد تتطلب مجموعة كبيرة جدًا من المهارات لإنشاء. لا تحتاج فقط إلى تعلم كيفية إنشاء نماذج ثلاثية الأبعاد ، بل تحتاج إلى إزالة هذه النماذج لرسم نسيج على سطح نموذجك بشكل صحيح. تحتاج أيضا إلى إنشاء نسيج ، بشق الأنفس.
ماذا لو كان بإمكانك إنشاء النموذج فقط ، ولكن هل تم الانتهاء منه وجاهزًا للعب بعد بضع خطوات إضافية للون وتظليلها؟ قد ينتهي الأمر مع شيء من هذا القبيل:
أو هذا
بالتأكيد ، النظرة سبارتا و lo-fi - لكن هذه هي النقطة! سواء كنت تهدف إلى الحنين في أوائل التسعينيات أو مظهرًا حديثًا مجرّدًا أو تريد فقط توفير الكثير من الوقت في صنع أصول لعبة مربى ، فإن التظليل المسطح هو خيار ممتاز من حيث الأسلوب للمبتدئين والخبراء ثلاثي الأبعاد على حد سواء.
إذا كنت بدأت للتو بفن اللعبة ، فإن بساطة سير العمل تسمح لك بالتركيز على الأساسيات: تعلم كيفية إنشاء نموذج ثلاثي الأبعاد مع صورة ظلية جميلة وشكل ، وتلوينها بمجموعة صغيرة من الألوان المختارة يدويًا. التركيز على هذه الأساسيات يعلمك المهارات الأساسية للفن دون الانحرافات.
كيف يعمل تظليل مسطح
يتكون نموذج 3D للغاية من مجموعة من القمم التي تحدد شكل هذا النموذج. بالنسبة لكل قمة رأس ، هناك أيضًا ناقلة تدعى طبيعيًا - فكر في هذا كدب صغير ملتصق من قمة الرأس.
يستخدم محرك التقديم الوضع الطبيعي لكل رأس ، ويقارن اتجاهه باتجاه أي مصدر (مصادر) مصدر واردة ، والاتجاه الذي تواجهه الكاميرا ، من أجل تحديد مقدار الضوء المطلوب تطبيقه على تلك الرأس.
يذرف العارض ببطء كمية الضوء من قمة الرأس إلى القمة التالية ، مما يعطي نموذجًا ثلاثي الأبعاد أساسيًا مظهرًا "مرنًا". ما لم تقوم بتطبيق نسيج (وغالبا ، حتى لو كنت تفعل) ، وهذا يبدو رهيب حقا على أي شيء في الواقع ليست متعرج ، وسطح "وسطح":



مع التظليل المسطح ، يتلقى سطح المضلع بأكمله كمية موحدة من الضوء ، محسوبة من سطحية عادية إلى الخارج من مركز المضلع:



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

الخطوة 2
انتقل إلى قسم Normals & Tangents ، وفي القائمة المنسدلة Normals ، اختر Calculate.

الخطوه 3
اضبط Smoothing Angle على 0
وانقر فوق Apply.

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



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

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



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



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



فويلا لديك نموذج ملون ومظلل بشكل مسطح يمكنك استيراده إلى لعبتك.



ماذا عن الطرق الأخرى؟
في حال كنت تتساءل ، وهنا بعض الأسباب لتجنب الطرق الأخرى اثنين:
مواد متعددة
تخلق هذه الطريقة الكثير من المواد التي سيكون عليك تتبعها في Unity ، والأهم من ذلك ، لن تقوم Unity بدفع النماذج الخاصة بك ديناميكيًا واستخدام استدعاء سحب كامل لكل مادة ، والتي تكون في الغالب أصغر اختناق على أجهزة الرسومات الحديثة.
ببساطة ، ستحصل على أداء رهيب إذا استخدمت هذه الطريقة على نطاق واسع.
ألوان الرأس
هذا بالفعل يعمل بشكل جيد إلى حد ما ، وقد ترغب في الواقع في استخدام هذا اعتمادًا على احتياجاتك الخاصة أو سير العمل الفني. ومع ذلك ، ستلاحظ شيئًا على الفور: عندما تقوم باستيراد النموذج الخاص بك وتستخدم تظليل أساسي منتشر ، لا يبدو أن ألوان قمة الرأس الخاصة بك تظهر!
وذلك لأن تظليل أساسي تجاهلها ؛ ستحتاج إلى استخدام أدوات التظليل الخاصة التي تستخدم بيانات ألوان قمة الرأس في الواقع. يمكن العثور على هذه بسهولة ، ولكن الأمور تتعقد إذا كنت تريد أيضًا تأثيرات عرض أخرى من أدوات التظليل الأخرى: فهذه الشادرات لا تستخدم ألوان الذروة في الغالب ، وستحتاج إلى تعديل المظلل بنفسك.
إذا كنت لا تعرف بالفعل كيفية كتابة تظليل ، فقد يؤدي ذلك إلى الكثير من الوقت والجهد الذي قد ترغب في إنفاقه على بقية اللعبة. أيضا ، قد يكون أنا فقط ، ولكن أجد أنه من الأسهل كثيرا تغيير ألوان متعددة في وقت واحد مع نسيج بدلا من وضعها يدويا في modeller أو في اللعبة مع برنامج نصي.
تحسين
الآن بعد أن أصبح لديك لوحة نسيج وتقنية أساسية ، يمكنك الاستمرار في إنشاء بقية الموديلات الخاصة باللعبة. كما قد تشك ، يمكنك فقط إضافة الألوان إلى لوح الألوان الخاص بك واستخدام نفس الملمس للعبة بأكملها.
هناك بالفعل بعض مزايا الأداء الكبيرة للقيام بذلك: إذا التزمت باستخدام نفس المادة في اللعبة بأكملها ، فستقوم الوحدة عادة برسم كل الأشياء الخاصة بك بشكل أكثر كفاءة من خلال "الخلط" بينها. كما ذكرت من قبل ، "سحب المكالمات" هي اختناق رئيسي في رسومات الكمبيوتر ، ومن المفيد الاحتفاظ بها إلى الحد الأدنى.
ستحاول الوحدة تلقائيًا رسم المشهد الخاص بك في أقل عدد ممكن من مكالمات السحب إذا كنت تستخدم مادة واحدة لكل شيء ، على الرغم من أن كل طراز يحتاج إلى القياس بنفس الطريقة ولديه أقل من 300 رأس تقريبًا. وسوف يعلمك جيدا كيف يتم ذلك في نافذة الإحصائيات:






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



تذكر كيف قمت بتلوين النموذج الخاص بك عن طريق دفع إحداثيات الأشعة فوق البنفسجية إلى صناديق ملونة؟ يتيح لك Unity تعديل القمم الخاصة بنموذجك على الطاير ، بما في ذلك إحداثيات الأشعة فوق البنفسجية ، لذلك يمكنك تحديد إحداثيات الأشعة فوق البنفسجية في مربع اللون الصحيح عبر البرنامج النصي لكل نوع مختلف من التضاريس.
أنشئ نص C # جديدًا في Unity يسمى PaletteColorizer
وألصق هذا الرمز فيه:
1 |
using UnityEngine; |
2 |
using System.Collections; |
3 |
|
4 |
public class PaletteColorizer : MonoBehaviour |
5 |
{ |
6 |
public int colorsPerRow = 4; |
7 |
public int colorIndex = 0; |
8 |
public bool overrideUVs = false; |
9 |
|
10 |
void Awake () |
11 |
{ |
12 |
if(!enabled) |
13 |
{ |
14 |
return; |
15 |
} |
16 |
|
17 |
SetUVsToColor(colorIndex); |
18 |
} |
19 |
|
20 |
void Update() |
21 |
{ |
22 |
} |
23 |
|
24 |
public void SetUVsToColor(int colorIndex) |
25 |
{ |
26 |
if(overrideUVs) |
27 |
{ |
28 |
SetUVs(gameObject, GetColorOffset(colorIndex)); |
29 |
} |
30 |
else |
31 |
{ |
32 |
TranslateUVs(gameObject, GetColorOffset(colorIndex)); |
33 |
} |
34 |
} |
35 |
|
36 |
Vector2 GetColorOffset(int colorIndex) |
37 |
{ |
38 |
Vector2 offset = new Vector2(); |
39 |
float row = Mathf.Floor(colorIndex / colorsPerRow); |
40 |
float step = 1.0f / colorsPerRow; |
41 |
|
42 |
offset.x = (colorIndex - (row * colorsPerRow)) * step; |
43 |
offset.y = (1.0f - (row / colorsPerRow)); |
44 |
|
45 |
return offset; |
46 |
} |
47 |
|
48 |
static public void TranslateUVs(GameObject obj, Vector2 offset) |
49 |
{ |
50 |
var meshFilter = obj.GetComponent(); |
51 |
Mesh mesh = meshFilter.mesh; |
52 |
|
53 |
var newUVs = new Vector2[mesh.uv.Length]; |
54 |
|
55 |
for(int i=0; i < mesh.uv.Length; i++) |
56 |
{ |
57 |
newUVs[i] = new Vector2(mesh.uv[i].x + offset.x, mesh.uv[i].y + offset.y); |
58 |
} |
59 |
|
60 |
mesh.uv = newUVs; |
61 |
} |
62 |
|
63 |
static public void SetUVs(GameObject obj, Vector2 offset) |
64 |
{ |
65 |
var meshFilter = obj.GetComponent(); |
66 |
Mesh mesh = meshFilter.mesh; |
67 |
|
68 |
var newUVs = new Vector2[mesh.uv.Length]; |
69 |
|
70 |
for(int i=0; i < mesh.uv.Length; i++) |
71 |
{ |
72 |
newUVs[i] = new Vector2(offset.x + 0.01f, offset.y - 0.01f); |
73 |
} |
74 |
|
75 |
mesh.uv = newUVs; |
76 |
} |
77 |
} |
لاستخدام هذا البرنامج النصي ، يمكنك ببساطة إضافته كمكوِّن إلى أي كائن لعبة باستخدام مادة باستخدام لوح ألوان ، وتعيين عدد الألوان لكل صف ، وتعيين مؤشر اللون (بدءًا بـ 0 في الزاوية العلوية اليسرى والفرز إلى اليمين والاسفل).
إذا لم يتم إعداد إحداثيات الأشعة فوق البنفسجية الخاصة بالنموذج الخاص بك لتناسب داخل صناديق الألواح (كما في حالة رباعية "الماء" حول السداسي) ، فحدد خانة الاختيار تجاوز الأشعة فوق البنفسجية ؛ كما ترون أعلاه ، فإن هذا سيجعل البرنامج النصي يكتب إحداثيات جديدة بالكامل بدلاً من تحويل الإحداثيات الموجودة.
شيء واحد أن نأخذ في الاعتبار حول هذه الطريقة هو أنه عند تعديل أي شبكة ، سوف تقوم الوحدة بإنشاء شبكة جديدة في الذاكرة بهدوء. إذا قمت بذلك بشكل خاص على عدد كبير من الشبكات ، فقد تواجه مشكلات في الذاكرة ، وستحتاج إلى البحث في وسيلة للتخزين المؤقت ومشاركة الشبكات التي تم تلوينها بنفس الطريقة. بالنسبة لعدد معقول من النماذج منخفضة الكثافة ، ربما لن تحتاج أبدًا للقلق بشأنها.
المخبوزات المحيطة



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



كل ما عليك القيام به هو إزالة النموذج الخاص بك و "خبز" تأثير انسداد المحيط على نسيج. هذا يتطلب منك قضاء بعض الوقت والجهد لتخليص نموذجك بشكل صحيح ، ولكن بعد هذه الخطوة ستكون مسألة عدد قليل من النقرات وقليلا من التلاعب في برنامج الطلاء الخاص بك لإعطاء نموذجك مظهرا أكثر واقعية وأكثر طرافة
الخطوة 1
أولاً ، ستحتاج إلى تشغيل Blender مع مشهد فارغ: اضغط A
لتحديد كل الكائنات في مشهد بدء التشغيل ، اضغط على Delete
، ثم اضغط D
للتأكيد. أنت لا تريد أي مصابيح أو كاميرات لأن هذه سوف يتم استيرادها ككائنات خردة فارغة في Unity.
الخطوة 2
ثم قم باستيراد النموذج الخاص بك فيه. (ملف> استيراد> Wavefront (.obj)). على سبيل المثال ، لنبدأ بصخرة.

الخطوه 3
افتح محرر UV وقم بإنشاء نسيج قادر على احتواء كمية التفاصيل التي تريدها تقريبًا. أنا بخيل جدا ، لذا ألتزم 256x256px لأي شيء حول حجم اللاعب (صخرة أو شجرة) ، وأكبر فقط للأجسام الكبيرة جدا (مثل الجبل الذي يمشي عليه).



الخطوة 4
الآن ، قم بإلغاء النموذج الخاص بك. هناك العديد من الطرق للقيام بذلك ، والتي يتم تناولها بتفاصيل أكثر بكثير مما كنت أتمناه ، لذا يرجى الرجوع إلى وثائق Blender أو البرامج التعليمية الأخرى عبر الإنترنت حول كيفية إلغاء نموذجك بشكل صحيح وكفء.
الخطوة 5
الآن بعد أن أصبح لديك نموذج غير مغطى ، تكون مستعدًا لخبز الإطباق المحيط على نسيجك. سوف يجعل الخلاط الإغلاق المحيط مباشرة على نسيجك ، مع احترام إحداثيات الأشعة فوق البنفسجية التي قمت بلفها فقط. ببساطة اتبع هذه الخطوات:
- انقر على زر التقديم (رمز الكاميرا) في لوحة الخصائص على الجانب الأيمن من الشاشة.
- انتقل لأسفل إلى القسم الفرعي Bake (في الأسفل) وتوسيعه.
- تغيير وضع Bake من العرض الكامل إلى انسداد Ambient Amblusion.
- انقر فوق الزر Bake الموجود فوق ذلك مباشرةً.




الخطوة 6
الآن لديك نسيج AO المخبوز ونموذج يحتوي على إحداثيات UV الصحيحة لاستخدامه. احفظ الملمس في ملف صورة وقم بتصدير النموذج في Blender إلى تنسيق يمكن لـ Unity استخدامه (مثل .fbx
).
الخطوة 7
اعتمادا على احتياجاتك ، قد تتمكن من استخدام النسيج كما هو. ما عليك سوى إنشاء مادة Diffuse جديدة تستخدم نسيج AO المخبوز الجديد وتعيين اللون على شيء يبدو لطيفًا.



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






الخطوة 8
افتح نسيج AO المخبوز مع برنامج الدهان الذي تختاره (أي شيء يدعم الطبقات سوف يفعل ، مثل GIMP). قم بإنشاء طبقة جديدة ووضعها فوق طبقة AO ، باستخدام طبقة AO كدليل لتلوين الطبقة الجديدة وفقًا للألوان التي تريد رؤيتها في النموذج.
استخدم أداة Lasso ، أو أداة تحديد أخرى من اختيارك ، لتحديد أجزاء المادة التي تريد تلوينها ، ثم املأ تلك باللون الصحيح.






الخطوة 9
لديك الآن إعداد الألوان ، لذا فقد حان الوقت للمهمة النهائية: مزج AO أعلى الألوان. قم بتحريك طبقة AO أعلى الطبقة الملونة وقم بتغيير وضع المزج إلى Multiply.



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



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



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