پریستهای سایه زن (Shader) ابزار فوقالعاده مفید و کاربردی برای پروژههای مدلسازی به شمار میروند، اما بسیاری از کاربران اغلب در تشخیص تفاوتهای پریستهای شیدر و متریال دچار اشتباه میشوند. اگر بخواهیم یک توضیح ساده در این خصوص ارائه دهیم میتوان گفت متریال میتواند از شیدر و یا تکسچر تشکیل شود.
در این مقاله قصد داریم تعاریفی در خصوص شیدر، متریال، کاربرد و تفاوت آنها از یکدیگر ارائه دهیم.
شیدرها اسکریپتهایی حاوی الگوریتمها و محاسبات ریاضی هستند که امکان تعیین رندر را براساس نور و ویژگیهای تجهیزات فراهم میکند. به عبارتی این شیدرها هستند که ویژگیهای متریالها را تعیین نموده و رنگ اعمال شده بر روی سطح مدل پس از برخورد نور با آن را مشخص میکنند. این برنامههای کوچک پیش از رندر شدن اطلاعات با هدف ایجاد تغییراتی در پروژه اجرا میشوند. این تغییرات میتواند شامل تغییراتی در geometry (مانند اضافهکردن یا جابهجا کردن ورتکسها) یا تغییراتی در رنگ باشد.
شیدرها با انجام محاسباتی بر روی رفتار نور باعث میشوند تا مدل شما واقعیتر به نظر برسند. برای مثال اگر بنا باشد مدل شما مانند شیشه شفاف باشد، بدرخشد یا نور را منعکس کند به کمک ویژگیهای شیدر میتوانید این کار را انجام دهید. همچنین میتوان برای ایجاد طیف گستردهای از متریالها مانند رنگ متالیک ماشین، کریستالهای جادویی و… تعدادی از شیدرها را باهم ترکیب کرد. ترکیب و استفاده از شیدرها برای ساخت ظاهر دلخواه برای مدل بسیار کاربردی است؛ برای مثال اگر به جای یک آبجکت سه بعدی با یک کارتون یا کمیک سر و کار داشته باشید میتوانید برای فلت نمودن صحنه از Cel shading استفاده کنید.
ساخت شیدرها کار دشواری نیست. کافی است یک متریال را انتخاب کرده و به تب شیدر بروید. در پایین آیکون ویرایش یک فیلد با بلوکهایی به نام نود مشاهده میشود که هرکدام از آنها میتوانند چگونگی به نظر رسیدن متریال را انتخاب کنند. نودها دارای لیبل ورودی و خروجی هستند. این لیبلها شما را برای اتصال نودها یاری میکنند؛ میتوانید بر روی یک لیبل ورودی کلیک کنید و آن را به سوی خروجی بکشید و برعکس. انواع مختلف نودها عبارتند از: رنگ، نرمال، تصاویر، تکسچر، سایهزن.
شیدرها بر اساس قدرت پردازش دسته بندی میشوند؛ مهمترین آنها عبارتند از: Vertex Shader، Geometry Shader، Fragment Shader و Pixel Shader. در ادامه توضیحاتی مختصر در مورد هر یک آورده شدهاست.
متریالها چگونگی رندر شدن سطوح یک آبجکت را تعیین میکنند. از ویژگیهای مختلف متریال میتوان به تناژ رنگ، نوع واکنش به نور (مات یا براق بودن)، شفافیت، تکسچر، نحوه قرارگیری آن بر روی آبجکت و… اشاره نمود. ویژگیهای متریال بر اساس نوع شیدری که به کار میرود مشخص میشود. به عبارتی دیگر هر متریال یک شیدر خاص را برای استفاده مشخص میکند و شیدر انتخاب شده گزینههای فعال و موجود در متریال را تعیین خواهد کرد.
سایهزن یک یا چند متغیر تکسچر را که انتظار میرود مورد استفاده قرار گیرد را مشخص میکند و Material Inspector موجود در Unity به شما اجازه میدهد تا مجموعه تکسچر خود را به این متغیرهای تکسچر اختصاص دهید.
Standard Shader بهترین انتخاب برای اکثر رندرهای معمولی (کاراکترها، آبجکتهای جامد و شفاف، محیطها، سطوح سخت، نرم و…) است. این سایهزن میتواند انواع مختلفی از سطوح را به روشی بسیار واقعی رندر کند.
وظیفه شیدرها در یونیتی توصیف محاسبات ریاضی است که برای تعیین رنگهای نمایش دادهشده بر روی صفحه به کار میروند. به کمک این اسکریپتها میتوان رنگ هر پیکسل را تعیین نمود.
بنابراین وقتی گیم را مشاهده میکنید در حقیقت شیدر را میبینید. شیدرها تعیین میکنند که با توجه به نور و سایر تنظیمات چه چیزی نمایش داده شود.
از سوی دیگر نحوه رندر یا ترسیم سطوح مختلف روی صفحه نمایش توسط متریال مشخص میشود. هر متریال دارای شیدر مخصوص به خود است که به کمک آن میتوان گزینههای خاصی را فعال نموده یا پارامترهای دلخواهی را وارد کنید. برخی از این پارامترها شامل مقادیر رنگهای مختلف میشود. البته این پارامترها میتوانند شامل اعداد دیگر و تکسچرهای متفاوت شوند.
تکسچرها تصویر بیتمپ هستند و بسته به نوع سایهزن ممکن است به چندین تصویر نیاز داشته باشید.
در نهایت اگر بخواهیم به صورت خلاصه بیان کنیم شیدرها اسکریپتهایی هستند که به زبان (HLSL) نوشته شدهاند و ممکن است به پارامترهای معین و تکسچر هاصی نیاز داشته باشند. در متریال تمامی این مسائل مشخص خواهند شد.
پس از ایجاد یک متریال یک شیدر به آن اختصاص میدهیم. برای مثال شما میتوانید یک مکعب و یک متریال ایجاد کنید و در نهایت متریال را به مکعب اختصاص دهید. به بیانی دیگر در نرمافزارهای سهبعدی برای استفاده از شیدر جهت رندر کردن و اعمال آن بر روی مدل به متریال نیاز خواهیم داشت. متریالها مجموعهای از شیدرها هستند که به روی مدل اعمال میشوند.
یونیتی دارای یک شیدر به نام شیدر استاندارد است که چند منظوره بوده و بسیار کارآمد است.
این مطلب و آموزش توسط گروه cg3ds جمع آوری شده است.
داده رایا
36 مطلب منتشر شده
تیم داده رایا بهترین انتخاب برای کسب و کارهایی است که قصد حضور در فضای آنلاین در بالاترین سطح را دارند.
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *
ذخیره نام و ایمیل در مرورگر برای زمانی که دوباره دیدگاهی مینویسم.
Δ