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

النماذج والقواعد العادية والاجتياح


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

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

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

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

الجزء 1. بكسل هنا .
الجزء 2. أقنعة والقوام هنا .
الجزء 3. PBR والمواد هنا .
الجزء 4. النماذج ، والقواعد الطبيعية والمسح الضوئي - تقرأه.
الجزء 5. نظام المواد هنا .

النماذج و PBR. ممارسة


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

لكن أولاً ، سنقوم بتركيب النموذج ، ولإلقاء نظرة واحدة على القيد الأول. سوف نعمل على هذا المحل:

صورة

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

وأود أيضا أن تجعل قاعدتها خشبية والساقين المعدنية. حسنا ، انتشر القليل من الأوساخ. وفقا لذلك ، نحن بحاجة إلى 2 المواد:

  1. الشجرة
  2. تشكيله المعادن.

لن نخرج الأوساخ من مادة منفصلة ، لكننا نستخدم المولد في Substance Painter وننشئ الأوساخ داخل البرنامج.

لنبدأ التدريب وإنشاء مشروع قياسي ، وتحديد مقعد ، والقوام وتشغيله:

صورة

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

لقد قمنا بتحميل 9 القوام + شبكة الرئيسية.

لن نقوم الآن بإنشاء أي طبقات أو مجلدات ، ولكن دعونا ننظر إلى المتجر في أقرب وقت ممكن. نحن مهتمون بشكل خاص بحواف الكائن:

صورة

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

هذا هو القيد الأول للنموذج.

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

صورة

حتى مجرد النظر إلى مجموعة من المعلمات في شكل هذه الخريطة ، يمكنك أن تشعر كيف ستسهل الخريطة العادية الزوايا.

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

صورة

وانظر إلى النتيجة:

صورة

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

لكننا نتجاهل موضوع الخبز المائل ونستمر في تركيب مقاعد البدلاء.

إذا كانت القواعد الطبيعية مقعرة
إذا لم تصبح غرفك سلسة مثل غرفتي ، لكن الوهم الذي حدث في أحواض المياه قد ظهر ، فعند إنشاء مشروع في Substance Painter ، نسيت تغيير تنسيق العرض العادي من DirectX إلى OpenGL.

الآن قم بإنشاء مجلدين للطبقات ، وقم بإنشاء ونقل طبقة واحدة لكل منهما وإدراج جميع خرائط النسيج في كل طبقة. لا تنس تسمية ، لذلك لا تشعر بالارتباك:

صورة

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

صورة

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

صورة

انقر على النموذج الموجود على المقعد الرئيسي (إذا اخترت قناع الشجرة) وحصلت على النتيجة التالية:

صورة

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

صورة

لم تكن مادة الشجرة نفسها هي الأكثر نجاحًا ، لكن هدفنا الآن هو عدم القيام بكل ما هو جميل بقدر الإمكان ، ولكن فهم مبادئ العمل.

سنفعل نفس الشيء مع قناع للمعادن ، مع ملاحظة المنطقة المرئية بجزر الساقين. حدد القناع المعدني وحدد الأجزاء اللازمة للكائن:

صورة

من الضروري أيضًا الوصول إلى الأماكن التي يصعب الوصول إليها عند التقاطعات وتحديد الجزر التي نحتاجها هناك لكل من الخشب والمعادن:

صورة

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

صورة

هذا هو بالضبط القيد ، الذي يمكن التغلب عليه عن طريق تسوية الجزر وتمديدها. تبدو الآن الجزيرة التي يتم رسم السهم المتجه لأسفل عليها (مظللة باللون البرتقالي):

صورة

لحل المشكلة ، من الضروري تقويم الجزيرة في سطر واحد:

صورة

ثم سنحل هذا التقييد ، ولكن سيكون لدينا سحب آخر:

صورة

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

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

يجرجر على مقاعد البدلاء

كما نعلم ، عاجلاً أم آجلاً ، يبدأ الطلاء ، أو أجزاء من المواد ، في القضاء على جميع وجوه كل الأشياء. يظهر عدد كبير من الخدوش والرقائق هناك:

صورة

لذلك ، دعونا نخلق قناعًا يسمح لنا بعرض نفس الخدوش والخدوش والرقائق الموجودة تحته في المستقبل.

للقيام بذلك ، افتح إعدادات الملمس الرئيسية (حيث أشرنا إلى الخريطة العادية) ، حدد Bake Mesh Maps هناك .

في النافذة التي تظهر ، قم بإزالة جميع علامات الاختيار غير الضرورية ، وترك فقط الانحناء وخبزها عن طريق النقر على Bake [اسم إضافي] خرائط شبكة :

صورة

عند الانتهاء من إنشاء النسيج ، سيكون متاحًا في الرف تحت علامة المشروع:

صورة

وأيضًا سيتصل هذا النسيج تلقائيًا باعتباره المعلمة الرئيسية للانحناء في إعدادات النسيج. نزيلها من هناك:

صورة

إذا أنشأنا طبقة جديدة في أعلى التسلسل الهرمي وقمنا بتعيين النسيج الناتج كمعلمة Base Color ، فسنرى النتيجة التالية:

صورة

الآن حذف هذه الطبقة ، لأننا كنا في حاجة إليها فقط لفهم.

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

صورة

نشير إلى أن قناع الطين يجب أن يتكون من تأثيرات التعبئة لإضافة النسيج الذي أنشأناه (الانحناء) وتأثير "المستويات" الإضافي.

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

يجب أن تكون النتيجة النهائية كما يلي:

صورة

بهذه الطريقة ، أنشأنا " الحدود " للأوساخ. الآن نحن بحاجة إلى الحد من الأوساخ نفسها. للقيام بذلك ، قم بتطبيق قناع أسود على طبقة LowLayer_Dirt نفسها. بعد ذلك ، أضف تأثير Fill ، وحدد فيه قناع Dirt4 ، المخفي تحت علامة الإجراءات:

صورة

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

صورة

أكرر. الآن هدفنا ليس في اللوحة النوعية المثالية للمقعد ، ولكن العمل مع الأساسيات والتدريب للعمل مع الأقنعة.

الآن الواجبات المنزلية

بشكل عام ، لقد درسنا الآن كيفية تطبيق الأقنعة بسرعة على مواد محددة لا تتقاطع مع بعضها البعض. كما تعتقد ، لتطبيق الورنيش على شجرة - نحتاج إلى إنشاء طبقة في المجلد مع الشجرة. لكننا الآن لن نفعل ذلك ، والمهمة نفسها تبقى للواجب المنزلي:

  • الورنيش شجرة
  • إنشاء خدوش على الورنيش (تلك الخدوش التي تظهر فقط بزاوية ، لأنها تدفع بالورنيش ، ولكنها لا تلحق الضرر بالخشب)
  • إنشاء الخدوش تحت الورنيش

رمي الحرف في التعليقات - المثير للاهتمام =)

في المجموع

لقد غطينا كيفية تركيب النماذج باستخدام الأقنعة. كيفية تطبيق الأوساخ ، رقائق والخدوش.

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

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

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

لقد بحثنا في بعض القيود التي لديها حلول.

  • قيود مع الشطب.
  • قيود على موقع الجزر.

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

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

تفحص


توضع جانباً في الوقت الحالي. لا تغلق المشروع ، وسوف يكون مفيدًا في وقت لاحق عندما نصدر مواد إلى Unreal Engine 4.

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

تيكسل

texel هي بكسل نسيج (ba-dum-s).

كثافة texel والجزر

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

هناك مقال كامل إلى حد ما حول هذا الموضوع هنا . والترجمة هنا .

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

من هذه اللحظة ، نبدأ في التحدث بشكل صحيح - بكسل وتكسيل. بكسل هو عنصر الشاشة. Texel هو عنصر الملمس.

لذلك ، دعونا نكرر الماضي ، texel هي وحدة وهمية لعرض المعلومات. إنه موجود فقط بالأرقام (مجموعة من الأرقام من قنوات مختلفة) ، ولكن لتسهيل العمل مع معلمات التجسيد ، تم إدخال مواد بديلة بصرية لمجموعة من الأرقام. أعتقد أنه لن يسعد أحد أن يرسم سفينة فضاء بالأرقام وحدها ، مع الأخذ في الاعتبار فكرة أن يكون texel في الصف 8 والعمود 453 1 أقل من texel في الصف 284 والعمود 112. من الأسهل وضع فرشاة في Photoshop.
Renders (أنظمة التصور) قراءة هذه الأرقام وعرضها كمربعات (texels). عرض texel في شكل مربع هو مسألة مشروطة. ويعتمد بشكل خاص على كثافة وتوتر جزر الاجتياح النموذجية.

سنتحدث عن كثافة جزر الاجتياح بعد ذلك بقليل ، ولكن الآن سنتعامل مع توتر الجزر.

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

صورة

يقع فحص الجانبين الأيسر والأيمن على النحو التالي:

صورة

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

صورة

حيث يظهر أحمر ضغط قوي ، والأزرق - تمتد.

كثافة الجزيرة

يجب أن تصويب جزيرة المسح بشكل صحيح دون إنشاء قدد. لا يزال ينبغي تحجيم الجزر فيما بينها. وهذا يعني أن المنطقة التي تحتلها الجزيرة يجب أن تتوافق مع مساحة جزيرة أخرى. خلاف ذلك ، اتضح أن جزيرة واحدة تبلغ مساحتها الحقيقية 20 مترًا مربعًا ، ستشغل 20٪ من مساحة النسيج ، وستشغل جزيرة تبلغ مساحتها الحقيقية 100 متر مربع ، وستشغل 5٪ من مساحة النسيج. ومن هنا نختلف حول عرض عدد من texels في الجزيرة:

صورة

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

على اليسار ، الجزيرة كبيرة جدًا - تغطي مساحة كبيرة من القماش ويمكنها استيعاب المزيد من الأقمشة ، وهو ما حدث على الشاشة. الجانب العلوي لديه متوسط ​​الحجم.

وهذا يعني أنه لكي تتم تهيئة النموذج بشكل صحيح ، فإنك تحتاج إلى محاذاة مساحة جميع الجزر بحيث تكون متساوية بالنسبة لبعضها البعض:

صورة

أعلاه صورة من مقال لهابروكانان أوسماندوس . مقاله هو هنا . القراءة الموصى بها.

حجم النسيج

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

صورة

هذا يخبرنا أن الحجم الحالي للنسيج ليس بجودة عالية بما يكفي ، لذلك نرى texels. لكن هل هذا صحيح؟

تخيل أن النسيج الحالي (يطلق عليه عادة "المدقق" - نسيج للتحقق من إعدادات الجزيرة الصحيحة) له بعد 63 في 63 texels. والآن نرى texels مع هذا ، لأن الكائن يقع بالقرب من الكاميرا الخاصة بنا بحيث يحتل حجم texel واحد مساحة 30 × 30 بكسل من الشاشة (بشكل مشروط).

وإذا نقلنا المكعب بعيدًا عن الكاميرا؟

صورة

محاولة لجعل texels على هذا المكعب الآن؟

الآن 1 texel متساوي في الحجم إلى 1 بكسل (ولكن هذا غير دقيق). وحجم مثل هذا الملمس مثالي ، لأنه يتيح لك عرض كل ما تبذلونه من texels ، وأيضا لا يعرض أي شيء زائدة ولا يخفي أي شيء زائدة عن الحاجة. هذا هو الحجم المثالي لمثل هذه المسافة.
أي أن حجم النسيج يعتمد إلى حد كبير على المساحة التي تشغلها عملية المسح النموذجية وعلى مسافة الكائن إلى الكاميرا. إذا كان الكائن موجودًا على مسافة كبيرة بما فيه الكفاية منا ، فلا جدوى من إعطائه 8 كيلو من القوام على الظفر. حتى إذا قمت بتصنيع مواد للفيلم ، فلن يرى أحد سوى شريطًا أبيض على مسمار فتاة تشغل يدها 3٪ من مساحة الشاشة.

المجموع

: من المهم أن نفهم حجم النماذج غالبًا ما رأيت ألعابًا من مطورين مستقلين

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

صورة

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

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


ما هو الخبز الملمس؟

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

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

وعندما نشعر بالرضا عن النتيجة ومستعدون لتحميلها على محرك اللعبة ، نطلب من Substance Painter إجراء آخر الحسابات وإنشاء نسيج مع معلمات لكل لون بكسل ، و 3 أشكال إضافية مع معلمات Metallic و Roughness و Normal Map. سيتيح لنا ذلك عدم تحميل أطنان من الأقنعة والمواد الإضافية في اللعبة ، وليس إجبار المحرك على إعادة حساب كل شيء ، ولكن ببساطة تزويده بنتيجة نهائية ، والتي سيتم تحويلها إلى مواد للنموذج.

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

نعود الآن إلى Substance Painter ، في مشروعنا ، ونبدأ في تفريغ القوام. للقيام بذلك ، افتح نافذة تصدير القوام (ملف - مواد التصدير):

صورة

هكذا تبدو من البداية. إذا قمنا بتوسيع مجموعة النسيج ، فسنرى قائمة بالملفات التي سيتم تحميلها كتصدير:

صورة

كما ترون ، هناك 4 ملفات نسيج يجب تصديرها ، مقابل 9 ملفات قمنا بتنزيلها.

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

صورة

أولاً ، قم بإنشاء إعدادات مسبقة جديدة وحددها حتى لا تضبط الإعدادات النهائية:

صورة

انتبه الآن إلى اللوحة على اليمين:

صورة

خرائط الإدخال هي قائمة بالقنوات التي استخدمناها. معظمهم لديهم أسماء ، لأنها تستخدم ل PBR لأغراض محددة. هناك 8 قنوات (من 0 إلى 7) قابلة للتحرير ، ولكن لا يعرف رسام المواد سبب احتياجك إليها ، لذلك تحتوي القنوات على الأسماء القياسية User0 - User7.

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

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

الآن النظر في لوحة إنشاء نسيج:

صورة

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

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

RGB - يخلق نسيجًا مع 3 قنوات متصلة. وهذا يعني أنه مخصص لمعلمات مثل اللون (BaseColor) ، الخريطة العادية. وهذا هو ، لجميع المعلمات التي تستخدم 3 قنوات لتحقيق أنفسهم تماما.

R + G + B - لإنشاء نسيج مع 3 قنوات غير متصلة. وهذا هو ، لدينا نسيج مع ثلاث قنوات رمادي. يمكننا تحديد معلمة ذات قناة واحدة في كل قناة نسيج بشكل منفصل. وغالبا ما يستخدم هذا ل ORM - (انسداد ، خشونة ، لامع). بمعنى ، يتم تخزين Ambient Occasion في القناة الأولى ، ويتم تخزين الخشونة في الثانية ، والمعدنية في الثالثة.

RGB + A - لقد فكرت - 3 قنوات متصلة و 1 غير متصل.

R + G + B + A - أربع قنوات غير متصلة.

الآن ، مع العلم بذلك ، فكر في عدد الملفات التي نحتاجها لتحميل جميع المعلومات حول الشكل الذي يجب أن يبدو عليه الملمس النهائي للكائن.

هذا صحيح ، على الأقل 3 القوام:

  1. RGB - BaseColor
  2. R + G + B - ORM
  3. RGB - خريطة عادية

انقر فوق القوام الذي تحتاجه واحداً تلو الآخر ، وستحصل على القائمة التالية:

صورة

لا تنسى أن تسمي القوام بشكل صحيح ، وإلا فلن نعرف ماذا وأين وكيف.

نحتاج الآن إلى الإشارة إلى المعلمات التي سيتم تخزين القنوات بها. للقيام بذلك ، ما عليك سوى نقل المعلمات من خرائط الإدخال إلى القنوات المطلوبة. يجب ترحيل الخريطة العادية إلى DirectX ، لأن UE4 يستخدم تنسيق القراءة العادي هذا.

نتيجة لذلك ، حصلنا على المجموعة التالية:

صورة

الآن العودة إلى التصدير. نحن هنا:

  • نحن نشير إلى الطريق حيث حفظ.
  • حدد الإعدادات المسبقة التي أنشأناها في خيارات التكوين.
  • حدد نوع النسيج - Targa.
  • انقر فوق تصدير.

صورة

وفويلا - تصدير الملمس كان النجاح. افتح نسيج BC (BaseColor) في Photoshop وانظر إليه:

صورة

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

إذا فتحنا خريطة ORM في Photoshop ، فانتقل إلى وضع عرض القناة وحدد آخر شاشة (زرقاء) ، فسنرى الخريطة المعدنية المخبوزة:

صورة

من هذه الخريطة ، يمكنك أن تتخيل أين يجب أن تكون الجزر معدنية ، وأين - وليس معدنية.

في المجموع

لقد تعلمنا كيفية إنشاء مواد جاهزة لمحرك اللعبة.

هذا مهم. لقد تعلمنا الآن كيفية خبز القوام ، والقيام بالحساب الكامل لإنشاء هذه القوام في رسام المواد. أي أننا بذلنا كل ما في وسعنا للحصول على مواد جاهزة ، والتي يمكننا استخدامها الآن في محركات مختلفة (مع التحذير من معالجة بعض معلمات PBR). الجانب السلبي لهذا النهج - إذا كنا بحاجة إلى تغيير شيء جذري - يجب علينا العودة إلى البرنامج وإعادة العناصر.

لحساب كيفية عرض اللون والضوء بشكل صحيح من texel - تحتاج بطاقة الفيديو إلى إجراء حسابات لكل texel. ولن يعتمد ذلك على عدد البكسلات الموجودة على الشاشة. يعتمد هذا على عدد texels المستخدم في تكوين النسيج (نستخدم الإعدادات القياسية في staker ، مما يعني أننا نستخدم 1024 * 1024 texels). وهذا يعني ، لعرض النسيج بشكل صحيح ، يحتاج الرسام إلى حساب كل بكسل ، ومراعاة جميع الطبقات التي قمت بإنشائها فيه. هذه مهمة تستغرق وقتًا طويلاً ، لذلك تم إنشاء مواد PBR السابقة (والآن) بشكل أساسي في برامج التركيب.

محرك غير واقعي 4


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

الآن سننظر فقط في استيراد متجرنا والقوام الناتجة ، وإنشاء تظليل بدائي وتلخيصه.

أولاً ، افتح المشروع وقم بإنشاء مجلد "Bench" فيه ، حيث سنقوم بإسقاط جميع موادنا والكائن. لاستيراد جميع القوام - ما عليك سوى نقلها من المتصفح إلى المشروع. يتم استيرادها دون أي مشاكل ولن تطلب إعدادات إضافية. بالنسبة للكائن ، عند استيراده ، سيطلب منك Unreal Engine تحديد بعض الإعدادات. بشكل عام ، لا يجب تغيير أي شيء باستثناء معلمتين. يجب تعطيلها:

صورة

هذه المعلمات هي المسؤولة عن استيراد القوام ، ولدينا تخزينها بشكل منفصل.

نتيجة لذلك ، يوجد في مجلدنا 3 مواد وكائن واحد:

صورة

الآن في أي مساحة خالية في مستعرض المشروع ، انقر فوق RMB وحدد المواد:

صورة

سمها M_Bench.

فتحه واسحب جميع القوام لدينا فيه. نحصل على الصورة التالية:

صورة

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

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

نحتاج فقط إلى توصيل المسامير بشكل صحيح واطلب من المحرك حساب النتيجة بالنسبة لنا:

صورة

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

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

صورة

حسنا هنا. لقد استلمت الآن أول كائن تم الانتهاء منه.

تستطيع أن ترى النتيجة بنفسك ، لكنني سألخصها فقط.

في المجموع

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

Offtopic. حل القضايا الشطب

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

صورة

صورة

صادفت معلومات حول هذا الموضوع فقط على الموارد باللغة الإنجليزية. هنا

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

صورة

تجدر الإشارة إلى أننا نحتاج إلى خريطة عادية لكائن في 99٪ من الحالات لإنشاء غرف. والخرائط العادية للمواد وبعض العناصر الفردية هي موضوع مختلف قليلاً.

في المجموع

Ooooooh. حسنا ، الجزء الأكبر كان هذا واحد. لكن كان من الضروري تغطية موضوع التركيب القياسي بالكامل. وعلى هذا يمكننا التوقف.

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

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

يجب أن تتذكر دائمًا أننا نأخذ في الاعتبار نطاق القيم من 0 إلى 1. هذا مهم لأن الأنسجة القياسية تحتوي على 8 بتات لكل قناة ، ولأنسجة HDR لها قنوات أوسع (من 16 بت أو أكثر) ، مما يعني أن نطاق الأرقام كثير أكبر من 0 إلى 255. ولكن هذا لا يزال يتراوح من 0 إلى 1.

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

لكن هل هذا صحيح؟ هل وصلنا حقًا إلى الحد الأقصى في التركيب وسوف نفشل بعد الآن؟
أم لا يزال هناك المزيد لتنمو؟

نعم! ولدينا مدرس آخر متبقي ، والذي سيأخذ التركيب إلى قفزة تكنولوجية جديدة ، وفي رأيي المتواضع ، سيمثل الجيل التالي من التركيب.

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


All Articles