summaryrefslogtreecommitdiff
path: root/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader')
-rw-r--r--Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader74
1 files changed, 74 insertions, 0 deletions
diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader
new file mode 100644
index 00000000..c4802a07
--- /dev/null
+++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader
@@ -0,0 +1,74 @@
+// 1:09 https://www.youtube.com/watch?v=LhqI_yj3zO0
+Shader "Erika/Unit/Effect/unit_effect_blur"
+{
+ Properties
+ {
+ _MainTex("Texture", 2D) = "white" {}
+ _BlurTex("Texture", 2D) = "black" {}
+ _MaskColor ("Mask Color", Color) = (1,1,1,1)
+ _Angle("Angle", float) = 0
+ }
+ SubShader
+ {
+ Tags { "RenderType"="Opaque" "Queue" = "Transparent"}
+ LOD 100
+
+ Blend SrcAlpha OneMinusSrcAlpha
+
+ Pass
+ {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+
+ #include "UnityCG.cginc"
+
+ struct appdata
+ {
+ float4 vertex : POSITION;
+ float2 uv : TEXCOORD0;
+ };
+
+ struct v2f
+ {
+ float2 uv : TEXCOORD0;
+ float4 vertex : SV_POSITION;
+ };
+
+ sampler2D _MainTex;
+ float4 _MainTex_ST;
+
+ sampler2D _BlurTex;
+ float4 _BlurTex_ST;
+
+ fixed4 _MaskColor;
+
+ float _Angle;
+
+ v2f vert (appdata v)
+ {
+ v2f o;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ o.uv = TRANSFORM_TEX(v.uv, _MainTex);
+ return o;
+ }
+
+ fixed4 frag (v2f i) : SV_Target
+ {
+ fixed2 uv = i.uv;
+ fixed2 offset = fixed2(0.05, 0.05);
+ float sampleCount = 30;
+ fixed4 color = fixed4(0,0,0,0);
+ float radian = radians(_Angle);
+ float distance = 0.3f;
+ 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);
+ }
+ return color;
+ }
+ ENDCG
+ }
+ }
+}