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
Forwarded from Kamali
Shader " Sprites/Default "
{
Properties
{
_MainTex ("Base (RGB)", 2D) = "white" {}
_Color ("_Color", Color) = (1,1,1,1)
}
SubShader
{
Tags {"Queue"="Transparent" "IgnoreProjector"="true" "RenderType"="Transparent"}
ZWrite Off Blend SrcAlpha OneMinusSrcAlpha Cull Off
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"
struct appdata_t
{
float4 vertex : POSITION;
float4 color : COLOR;
float2 texcoord : TEXCOORD0;
};
struct v2f
{
half2 texcoord : TEXCOORD0;
float4 vertex : SV_POSITION;
fixed4 color : COLOR;
};
sampler2D _MainTex;
fixed4 _Color;
float _Speed;
v2f vert(appdata_t IN)
{
v2f OUT;
OUT.vertex = UnityObjectToClipPos(IN.vertex);
OUT.texcoord = IN.texcoord;
OUT.color = IN.color;
return OUT;
}
float4 frag (v2f i) : COLOR
{
float2 uv = i.texcoord.xy;
float4 tex = tex2D(_MainTex, uv)*i.color;
return tex*_Color;
}
ENDCG
}
}
Fallback "Sprites/Default"
}
{
Properties
{
_MainTex ("Base (RGB)", 2D) = "white" {}
_Color ("_Color", Color) = (1,1,1,1)
}
SubShader
{
Tags {"Queue"="Transparent" "IgnoreProjector"="true" "RenderType"="Transparent"}
ZWrite Off Blend SrcAlpha OneMinusSrcAlpha Cull Off
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"
struct appdata_t
{
float4 vertex : POSITION;
float4 color : COLOR;
float2 texcoord : TEXCOORD0;
};
struct v2f
{
half2 texcoord : TEXCOORD0;
float4 vertex : SV_POSITION;
fixed4 color : COLOR;
};
sampler2D _MainTex;
fixed4 _Color;
float _Speed;
v2f vert(appdata_t IN)
{
v2f OUT;
OUT.vertex = UnityObjectToClipPos(IN.vertex);
OUT.texcoord = IN.texcoord;
OUT.color = IN.color;
return OUT;
}
float4 frag (v2f i) : COLOR
{
float2 uv = i.texcoord.xy;
float4 tex = tex2D(_MainTex, uv)*i.color;
return tex*_Color;
}
ENDCG
}
}
Fallback "Sprites/Default"
}
Forwarded from z
یه ارور داره
undeclared identifier 'unity objecttoclippos'
فک کنم مشکل از لاین 52 باشه
یه لاین پنجاه و دو هم داره
لاین پنجاه و دو =
OUT.vertex = unity objecttoclippos(IN.vertex);
اخر ارور در قسمت کنسول اینو هم داره
(on d3d11)
مشکلش رو چطور حل کنم؟
undeclared identifier 'unity objecttoclippos'
فک کنم مشکل از لاین 52 باشه
یه لاین پنجاه و دو هم داره
لاین پنجاه و دو =
OUT.vertex = unity objecttoclippos(IN.vertex);
اخر ارور در قسمت کنسول اینو هم داره
(on d3d11)
مشکلش رو چطور حل کنم؟
Forwarded from Kamali
یونیتیتون چنده؟ 4؟
رو یونیتی من مشکلی نداشت
احتمالاً ورژن یونیتیتون قدیمیه
رو یونیتی من مشکلی نداشت
احتمالاً ورژن یونیتیتون قدیمیه
Forwarded from Kamali
OUT.vertex = mul(UNITY_MATRIX_MVP,IN.vertex);
اینو جایگزین کنید
اینو جایگزین کنید