diff --git a/ProjectNLD/Assets/Code/Shaders/Character/NLD_Charactor_Dead.shader b/ProjectNLD/Assets/Code/Shaders/Character/NLD_Charactor_Dead.shader index 84a5d3cda8e..2829d411717 100644 --- a/ProjectNLD/Assets/Code/Shaders/Character/NLD_Charactor_Dead.shader +++ b/ProjectNLD/Assets/Code/Shaders/Character/NLD_Charactor_Dead.shader @@ -31,6 +31,7 @@ Shader "NLD_URP/NLD_Charactor_Dead" float3 normal : NORMAL; float4 tangent : TANGENT; float2 uv : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID }; struct v2f @@ -38,7 +39,9 @@ Shader "NLD_URP/NLD_Charactor_Dead" float2 uv : TEXCOORD0; float4 positionHCS : SV_POSITION; float3 normalWS : TEXCOORD1; - float3 positionWS : TEXCOORD02; + float3 positionWS : TEXCOORD2; + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO }; TEXTURE2D(_MainTex); @@ -81,7 +84,7 @@ Shader "NLD_URP/NLD_Charactor_Dead" o.positionHCS = TransformObjectToHClip(v.positionOS.xyz); o.uv = TRANSFORM_TEX(v.uv, _MainTex); o.normalWS = TransformObjectToWorldNormal(v.normal); - o.positionWS = TransformObjectToWorld(v.positionOS); + o.positionWS = TransformObjectToWorld(v.positionOS.xyz); return o; } @@ -137,7 +140,7 @@ Shader "NLD_URP/NLD_Charactor_Dead" v2f vert (appdata v) { - v2f o; + v2f o = (v2f)0; UNITY_SETUP_INSTANCE_ID(v); UNITY_TRANSFER_INSTANCE_ID(v, o); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); diff --git a/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Base.shader b/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Base.shader index cf2de42d2b8..7b3bbb9ab0b 100644 --- a/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Base.shader +++ b/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Base.shader @@ -106,7 +106,7 @@ float4 worldPosition : TEXCOORD1; #if _CUSTOMDATA_ON - float4 customData: TEXCOORD1; + float4 customData: TEXCOORD2; #endif UNITY_VERTEX_INPUT_INSTANCE_ID @@ -137,6 +137,10 @@ o.uv = v.uv; o.vColor = v.color * _BaseColor * _BaseColorScale; + #if _CUSTOMDATA_ON + o.customData = v.customData; + #endif + // #### required for RectMask2D #### o.worldPosition = v.positionOS; return o; @@ -148,16 +152,6 @@ UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); const float time = _TimeParameters.x; - // #### required for RectMask2D #### - #ifdef UNITY_UI_CLIP_RECT - color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); - #endif - - // #### required for Mask #### - #ifdef UNITY_UI_ALPHACLIP - clip (color.a - 0.001); - #endif - // 主贴图UV流动 float2 uv = TRANSFORM_TEX(IN.uv, _BaseMap); @@ -173,6 +167,16 @@ float4 col = _BaseMap.Sample(sampler_BaseMap, uv); col *= IN.vColor; + // #### required for RectMask2D #### + #ifdef UNITY_UI_CLIP_RECT + col.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + // #### required for Mask #### + #ifdef UNITY_UI_ALPHACLIP + clip (col.a - 0.001); + #endif + if (col.a < _AlphaClip) { discard; diff --git a/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Polar.shader b/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Polar.shader index 60c577e1a80..f39b1177c78 100644 --- a/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Polar.shader +++ b/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Polar.shader @@ -110,7 +110,7 @@ float4 worldPosition : TEXCOORD1; #if _CUSTOMDATA_ON - float4 customData: TEXCOORD1; + float4 customData: TEXCOORD2; #endif UNITY_VERTEX_INPUT_INSTANCE_ID @@ -145,6 +145,10 @@ o.uv = v.uv; o.vColor = v.color * _BaseColor * _BaseColorScale; + #if _CUSTOMDATA_ON + o.customData = v.customData; + #endif + // #### required for RectMask2D #### o.worldPosition = v.positionOS; return o; @@ -156,16 +160,6 @@ UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); const float time = _TimeParameters.x; - // #### required for RectMask2D #### - #ifdef UNITY_UI_CLIP_RECT - color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); - #endif - - // #### required for Mask #### - #ifdef UNITY_UI_ALPHACLIP - clip (color.a - 0.001); - #endif - // 主贴图UV流动 float2 uv = TRANSFORM_TEX(IN.uv, _BaseMap); @@ -196,6 +190,16 @@ float4 col = _BaseMap.Sample(sampler_BaseMap, uv); col *= IN.vColor; + // #### required for RectMask2D #### + #ifdef UNITY_UI_CLIP_RECT + col.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + // #### required for Mask #### + #ifdef UNITY_UI_ALPHACLIP + clip (col.a - 0.001); + #endif + if (col.a < _AlphaClip) { discard; diff --git a/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Polar_Mask.shader b/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Polar_Mask.shader index 3c73f492bfe..c9856f1fa17 100644 --- a/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Polar_Mask.shader +++ b/ProjectNLD/Assets/Code/Shaders/UI/Particle/UI_Particle_Polar_Mask.shader @@ -179,16 +179,6 @@ UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); const float time = _TimeParameters.x; - // #### required for RectMask2D #### - #ifdef UNITY_UI_CLIP_RECT - color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); - #endif - - // #### required for Mask #### - #ifdef UNITY_UI_ALPHACLIP - clip (color.a - 0.001); - #endif - // 主贴图UV流动 float2 uv = TRANSFORM_TEX(IN.uv, _BaseMap); @@ -231,6 +221,16 @@ #endif + // #### required for RectMask2D #### + #ifdef UNITY_UI_CLIP_RECT + col.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + // #### required for Mask #### + #ifdef UNITY_UI_ALPHACLIP + clip (col.a - 0.001); + #endif + if (col.a < _AlphaClip) { discard;