تعریف پراپرتی ها:
Properties
{
_MyTexture ("My texture", 2D) = "white" {}
_MyNormalMap ("My normal map", 2D) = "bump" {} // Grey
_MyInt ("My integer", Int) = 2
_MyFloat ("My float", Float) = 1.5
_MyRange ("My range", Range(0.0, 1.0)) = 0.5
_MyColor ("My colour", Color) = (1, 0, 0, 1) // (R, G, B, A)
_MyVector ("My Vector4", Vector) = (0, 0, 0, 0) // (x, y, z, w)
}
Properties
{
_MyTexture ("My texture", 2D) = "white" {}
_MyNormalMap ("My normal map", 2D) = "bump" {} // Grey
_MyInt ("My integer", Int) = 2
_MyFloat ("My float", Float) = 1.5
_MyRange ("My range", Range(0.0, 1.0)) = 0.5
_MyColor ("My colour", Color) = (1, 0, 0, 1) // (R, G, B, A)
_MyVector ("My Vector4", Vector) = (0, 0, 0, 0) // (x, y, z, w)
}
SubShader
{
//کد شیدر
//در این قسمت باید متغییر های متناظر با پراپرتی هاتون که تعریف کردید رو تعریف کنید
//قسمت پراپرتی برای نمایش دادن به صورت public در اینسپکتوره و صرفاً جهت نمایش متغییر های تعریف شده در این قسمته ، پس باید حتماً متغییر متناظرشو اینجا تعریف کنید.
// ...
sampler2D _MyTexture;
sampler2D _MyNormalMap;
int _MyInt;
float _MyFloat;
float _MyRange;
half4 _MyColor;
float4 _MyVector;
// Code of the shader
// ...
}
{
//کد شیدر
//در این قسمت باید متغییر های متناظر با پراپرتی هاتون که تعریف کردید رو تعریف کنید
//قسمت پراپرتی برای نمایش دادن به صورت public در اینسپکتوره و صرفاً جهت نمایش متغییر های تعریف شده در این قسمته ، پس باید حتماً متغییر متناظرشو اینجا تعریف کنید.
// ...
sampler2D _MyTexture;
sampler2D _MyNormalMap;
int _MyInt;
float _MyFloat;
float _MyRange;
half4 _MyColor;
float4 _MyVector;
// Code of the shader
// ...
}
قسمت بعدی برای نوشتن کد های شیدره
SubShader
{
Tags تگ ها
{
"Queue" = "Geometry" صف
"RenderType" = "Opaque" نوع رندر
}
اینا صرفاً تگ هستند
مثل تگی که شما به آبجکت میدی این تگ ها هم به شیدر میدید
حالا کاربردش چیه؟
مثلاً برچسب RenderType برای Replacement shaders استفاده می شود. شیدر جایگزین این برچسب ها رو می خونه و از یک شیدر مناسب استفاده می کنه.
حتی اگر از شیدر های جایگزین استفاده نکنید بهتره که شیدرهای خودتونو برای استفاده در آینده تگ دار کنید.
CGPROGRAM آغاز
// Cg / HLSL در این قسمت کد رو بنویسید
// ...
ENDCG پایان
}
SubShader
{
Tags تگ ها
{
"Queue" = "Geometry" صف
"RenderType" = "Opaque" نوع رندر
}
اینا صرفاً تگ هستند
مثل تگی که شما به آبجکت میدی این تگ ها هم به شیدر میدید
حالا کاربردش چیه؟
مثلاً برچسب RenderType برای Replacement shaders استفاده می شود. شیدر جایگزین این برچسب ها رو می خونه و از یک شیدر مناسب استفاده می کنه.
حتی اگر از شیدر های جایگزین استفاده نکنید بهتره که شیدرهای خودتونو برای استفاده در آینده تگ دار کنید.
CGPROGRAM آغاز
// Cg / HLSL در این قسمت کد رو بنویسید
// ...
ENDCG پایان
}
Kamali
Photo
یک رفرنس جامع برای یاد گیری شیدر به نظرم همینه
من خودم قبلاً این شیدر هارو تجزیه و تحلیل کردم و خیلی چیزا ازش یادگرفتم
من خودم قبلاً این شیدر هارو تجزیه و تحلیل کردم و خیلی چیزا ازش یادگرفتم
Forwarded from Deleted Account
بلوک
Pass
{
}
تو شیدر چیکار میکنه و چه کاربردی داره؟
Pass
{
}
تو شیدر چیکار میکنه و چه کاربردی داره؟
#جواب_سوال_2
در شیدر شما می تونید یک جلوه ی پیچیده رو در پاس های مختلف دسته بندی کنید به عنوان مثال:
پاس اول: نورپردازی و سایه زنی
پاس دوم:افکت اول
پاس سوم:افکت دوم
پاس چهارم:افکت سوم
بعد می تونید با قابلیت هایی که داره افکت هایی که لازم ندارید رو غیر فعال کنید
در شیدر شما می تونید یک جلوه ی پیچیده رو در پاس های مختلف دسته بندی کنید به عنوان مثال:
پاس اول: نورپردازی و سایه زنی
پاس دوم:افکت اول
پاس سوم:افکت دوم
پاس چهارم:افکت سوم
بعد می تونید با قابلیت هایی که داره افکت هایی که لازم ندارید رو غیر فعال کنید
Shader Laboratory
یکی از اعضای گروه سوالی در رابطه با صف رندر یا Render Queue پرسید که سوال متداولی هم هست که پاسخ آن را می توانید در زیر مشاهده کنید
#اصلاح
(خط بعدی مشکلی داشت که برطرف شد...)
به طور خلاصه:
برای رندر شدن متریال آبجکت ها یک استانداردی تعریف کردند که هر کدوم یک عددی داره
"Queue" = "BackGround"
"Queue" = "Geometry"
مثلاً اول شیدر های پس زمینه رندر میشه و بعد شیدر هندسه
(خط بعدی مشکلی داشت که برطرف شد...)
به طور خلاصه:
برای رندر شدن متریال آبجکت ها یک استانداردی تعریف کردند که هر کدوم یک عددی داره
"Queue" = "BackGround"
"Queue" = "Geometry"
مثلاً اول شیدر های پس زمینه رندر میشه و بعد شیدر هندسه
Forwarded from Kamali
ببین این داره اسم شیدر ها تو نسخه های قبلی و نسخه ی 5 رو میگه
Forwarded from Kamali
ببین ما دو جور شیدر داریم یکی مبناشون بر specular هست که بهش میگن ( standard(Specular setup و یکی دیگه metallic که بهش میگن standard