From cec37ddb003304a224b804a78479ae46dae58fed Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 16 Sep 2021 20:51:19 +0800 Subject: + motion blur --- Assets/Bundle/Shaders/Unit/Effect.meta | 2 +- .../Shaders/Unit/Effect/unit_effect_blur.shader | 67 -------------------- .../Unit/Effect/unit_effect_blur.shader.meta | 9 --- Assets/Bundle/Shaders/Unit/ImageEffect.meta | 8 +++ .../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 +++ 12 files changed, 293 insertions(+), 77 deletions(-) delete mode 100644 Assets/Bundle/Shaders/Unit/Effect/unit_effect_blur.shader delete mode 100644 Assets/Bundle/Shaders/Unit/Effect/unit_effect_blur.shader.meta create mode 100644 Assets/Bundle/Shaders/Unit/ImageEffect.meta 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') diff --git a/Assets/Bundle/Shaders/Unit/Effect.meta b/Assets/Bundle/Shaders/Unit/Effect.meta index bba3c4c9..7df9a033 100644 --- a/Assets/Bundle/Shaders/Unit/Effect.meta +++ b/Assets/Bundle/Shaders/Unit/Effect.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7557aede65843b24681351bc9fd2eda4 +guid: 9cc4684b9f432f149b16a51f148c9490 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Bundle/Shaders/Unit/Effect/unit_effect_blur.shader b/Assets/Bundle/Shaders/Unit/Effect/unit_effect_blur.shader deleted file mode 100644 index 6a3aad0b..00000000 --- a/Assets/Bundle/Shaders/Unit/Effect/unit_effect_blur.shader +++ /dev/null @@ -1,67 +0,0 @@ -// 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) - } - 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; - - 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 - { - float2 uv = i.uv; - fixed4 blur = tex2D(_BlurTex, uv).r; - //uv.x += blur.r; - //uv.y += blur.r; - fixed4 col = tex2D(_MainTex, uv); - col *= blur; - - return col; - } - ENDCG - } - } -} diff --git a/Assets/Bundle/Shaders/Unit/Effect/unit_effect_blur.shader.meta b/Assets/Bundle/Shaders/Unit/Effect/unit_effect_blur.shader.meta deleted file mode 100644 index 4afe3c18..00000000 --- a/Assets/Bundle/Shaders/Unit/Effect/unit_effect_blur.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: f0e5d0965cb119045abf4f057a692835 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect.meta b/Assets/Bundle/Shaders/Unit/ImageEffect.meta new file mode 100644 index 00000000..bba3c4c9 --- /dev/null +++ b/Assets/Bundle/Shaders/Unit/ImageEffect.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7557aede65843b24681351bc9fd2eda4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: 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