diff options
author | chai <chaifix@163.com> | 2021-10-01 10:12:24 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-10-01 10:12:24 +0800 |
commit | 4a5ca9210f40d454aeef3e9423914fa6ffe4aabc (patch) | |
tree | cd184224792bf04e29992e78b9a0992e16763aa7 | |
parent | f0ae9393da021fe16af32f7ae1a3245f27050f92 (diff) |
*misc
3 files changed, 20 insertions, 21 deletions
diff --git a/Assets/Bundle/Shaders/Common/Image/ImageEffect.cginc b/Assets/Bundle/Shaders/Common/Image/ImageEffect.cginc index 7f657e59..de9dccdd 100644 --- a/Assets/Bundle/Shaders/Common/Image/ImageEffect.cginc +++ b/Assets/Bundle/Shaders/Common/Image/ImageEffect.cginc @@ -17,6 +17,7 @@ float4 _UnitMotionVectorTexture_ST; float4 _UnitTileOffset; + // functions // 只对一小部分进行后处理 @@ -31,3 +32,17 @@ fixed2 CalculateUnitTillOfssetUV(fixed2 uv0) { return uv0 * _UnitTileOffset.xy + _UnitTileOffset.zw; } + +struct image_v2f +{ + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; +}; + +image_v2f image_vert(appdata_img v) +{ + image_v2f o; + o.vertex = CalculateUnitTillOfssetVertex(v.vertex); + o.uv = CalculateUnitTillOfssetUV(TRANSFORM_TEX(v.texcoord, _MainTex)); + return o; +}
\ No newline at end of file diff --git a/Assets/Bundle/Shaders/Common/Image/common_img_motionblur.shader b/Assets/Bundle/Shaders/Common/Image/common_img_motionblur.shader index 16ec6fe7..bcc60fa3 100644 --- a/Assets/Bundle/Shaders/Common/Image/common_img_motionblur.shader +++ b/Assets/Bundle/Shaders/Common/Image/common_img_motionblur.shader @@ -24,36 +24,18 @@ Shader "Erika/Common/Image/MotionBlur" Pass { CGPROGRAM - #pragma vertex vert + #pragma vertex image_vert #pragma fragment frag #include "UnityCG.cginc" - #include "./ImageEffect.cginc" - struct v2f - { - float2 uv : TEXCOORD0; - float4 vertex : SV_POSITION; - }; - float _Angle; - fixed _Distance; - float _Iterate; // 杩唬娆℃暟 - float _AlphaMultiplier; // - v2f vert(appdata_img v) - { - v2f o; - o.vertex = CalculateUnitTillOfssetVertex(v.vertex); - o.uv = CalculateUnitTillOfssetUV(TRANSFORM_TEX(v.texcoord, _MainTex)); - return o; - } - - fixed4 frag(v2f i) : SV_Target + fixed4 frag(image_v2f i) : SV_Target { _Distance = 0.1; @@ -74,6 +56,8 @@ Shader "Erika/Common/Image/MotionBlur" color.a *= _AlphaMultiplier; + //color = fixed4(1,0,0,0.5f); + return color; } ENDCG diff --git a/Assets/Scripts/Unit/LensEffect/LensEffect_Dash.cs b/Assets/Scripts/Unit/LensEffect/LensEffect_Dash.cs index dc14cf09..a779b6d1 100644 --- a/Assets/Scripts/Unit/LensEffect/LensEffect_Dash.cs +++ b/Assets/Scripts/Unit/LensEffect/LensEffect_Dash.cs @@ -72,7 +72,7 @@ public class LensEffect_Dash : LensEffectBase MaterialEntry blur = ClaimMaterial(StaticDefine.shaders[EShader.MotionBlur].name); - Vector4 tileOffset = RenderingUtility.GetTillingOffset(MainCamera.Instance.camera, trs.position, owner.unitDetail.snapshotBound);
+ Vector4 tileOffset = RenderingUtility.GetTillingOffset(MainCamera.Instance.camera, trs.position, 6);
blur.material.SetVector("_UnitTileOffset", tileOffset);
blur.material.SetFloat("_Angle", Mathf.Rad2Deg * angle);
blur.material.SetFloat("_AlphaMultiplier", Mathf.Clamp(1 - curTime / lifeTime, 0, 1));
|