diff options
Diffstat (limited to 'Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader')
-rw-r--r-- | Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader index c4802a07..e3308547 100644 --- a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader @@ -1,18 +1,22 @@ // 1:09 https://www.youtube.com/watch?v=LhqI_yj3zO0 -Shader "Erika/Unit/Effect/unit_effect_blur" +Shader "Erika/Unit/ImageEffect/unit_img_motionBlur" { Properties { _MainTex("Texture", 2D) = "white" {} _BlurTex("Texture", 2D) = "black" {} _MaskColor ("Mask Color", Color) = (1,1,1,1) - _Angle("Angle", float) = 0 + _Angle("Angle", float) = 0 + _Distance("Distance", float) = 0 } SubShader { - Tags { "RenderType"="Opaque" "Queue" = "Transparent"} + Tags { "RenderType"="Opaque" "Queue" = "Geometry"} LOD 100 + ZWrite Off + ZTest LEqual + Blend SrcAlpha OneMinusSrcAlpha Pass @@ -45,6 +49,8 @@ Shader "Erika/Unit/Effect/unit_effect_blur" float _Angle; + fixed _Distance; + v2f vert (appdata v) { v2f o; @@ -57,15 +63,17 @@ Shader "Erika/Unit/Effect/unit_effect_blur" { fixed2 uv = i.uv; fixed2 offset = fixed2(0.05, 0.05);
- float sampleCount = 30;
+ const float sampleCount = 20;
fixed4 color = fixed4(0,0,0,0);
float radian = radians(_Angle);
- float distance = 0.3f;
- for(int i = 0; i < sampleCount; i++){
+ float distance = _Distance;
+ for(int i = 0; i < sampleCount; i++)
+ {
float dx = distance * cos(radian) / sampleCount * i;
float dy = distance * sin(radian) / sampleCount * i;
color += tex2D(_MainTex,float2(uv.x + dx,uv.y + dy)) * (1 / sampleCount);
}
+ //color.rgb *= 0.5f;
return color; } ENDCG |