summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-10-01 10:12:24 +0800
committerchai <chaifix@163.com>2021-10-01 10:12:24 +0800
commit4a5ca9210f40d454aeef3e9423914fa6ffe4aabc (patch)
treecd184224792bf04e29992e78b9a0992e16763aa7
parentf0ae9393da021fe16af32f7ae1a3245f27050f92 (diff)
*misc
-rw-r--r--Assets/Bundle/Shaders/Common/Image/ImageEffect.cginc15
-rw-r--r--Assets/Bundle/Shaders/Common/Image/common_img_motionblur.shader24
-rw-r--r--Assets/Scripts/Unit/LensEffect/LensEffect_Dash.cs2
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));