inline float SoftUnityGet2DClipping (in float2 position, in float4 clipRect) { float2 xy = (position.xy-clipRect.xy)/float2(_ClipSoftX,_ClipSoftY)*step(clipRect.xy, position.xy); float2 zw = (clipRect.zw-position.xy)/float2(_ClipSoftX,_ClipSoftY)*step(position.xy,clipRect.zw); float2 factor = clamp(0, zw, xy); return saturate(min(factor.x,factor.y)); } c.a *= SoftUnityGet2DClipping(i.wpos.xy, float4(_MinX, _MinY, _MaxX, _MaxY));