From cec37ddb003304a224b804a78479ae46dae58fed Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 16 Sep 2021 20:51:19 +0800 Subject: + motion blur --- .../Unit/ImageEffect/unit_img_colorDrift.shader | 58 +++++++++++++++++ .../ImageEffect/unit_img_colorDrift.shader.meta | 9 +++ .../Unit/ImageEffect/unit_img_glitch.shader | 58 +++++++++++++++++ .../Unit/ImageEffect/unit_img_glitch.shader.meta | 9 +++ .../Unit/ImageEffect/unit_img_motionBlur.shader | 74 ++++++++++++++++++++++ .../ImageEffect/unit_img_motionBlur.shader.meta | 9 +++ .../Unit/ImageEffect/unit_img_speedLine.shader | 58 +++++++++++++++++ .../ImageEffect/unit_img_speedLine.shader.meta | 9 +++ 8 files changed, 284 insertions(+) create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_colorDrift.shader create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_colorDrift.shader.meta create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_glitch.shader create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_glitch.shader.meta create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader.meta create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_speedLine.shader create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_speedLine.shader.meta (limited to 'Assets/Bundle/Shaders/Unit/ImageEffect') diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_colorDrift.shader b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_colorDrift.shader new file mode 100644 index 00000000..63e98344 --- /dev/null +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_colorDrift.shader @@ -0,0 +1,58 @@ +Shader "Unlit/unit_effect_colorDrift" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // make fog work + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // sample the texture + fixed4 col = tex2D(_MainTex, i.uv); + // apply fog + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } + } +} diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_colorDrift.shader.meta b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_colorDrift.shader.meta new file mode 100644 index 00000000..d42d528f --- /dev/null +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_colorDrift.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6e37e3ab4ebfc3a4aa32667859687930 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_glitch.shader b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_glitch.shader new file mode 100644 index 00000000..2e2c9fa2 --- /dev/null +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_glitch.shader @@ -0,0 +1,58 @@ +Shader "Unlit/unit_effect_glitch" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // make fog work + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // sample the texture + fixed4 col = tex2D(_MainTex, i.uv); + // apply fog + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } + } +} diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_glitch.shader.meta b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_glitch.shader.meta new file mode 100644 index 00000000..f5e3cd72 --- /dev/null +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_glitch.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f1567ae3bc1c0964cb12b2cf79240e61 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: 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 + } + } +} diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader.meta b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader.meta new file mode 100644 index 00000000..4afe3c18 --- /dev/null +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f0e5d0965cb119045abf4f057a692835 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_speedLine.shader b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_speedLine.shader new file mode 100644 index 00000000..fbc32eb5 --- /dev/null +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_speedLine.shader @@ -0,0 +1,58 @@ +Shader "Unlit/unit_effect_speedLine" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // make fog work + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // sample the texture + fixed4 col = tex2D(_MainTex, i.uv); + // apply fog + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } + } +} diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_speedLine.shader.meta b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_speedLine.shader.meta new file mode 100644 index 00000000..37726c12 --- /dev/null +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_speedLine.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1926c69018f6247438d2babd9d7b4674 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.1-26-g67d0