// UnitLensEffect效果相关 sampler2D _MainTex; float4 _MainTex_ST; sampler2D _CameraDepthTexture; float4 _CameraDepthTexture_ST; sampler2D _UnitDepthTexture; // 配合_CameraDepthTexture定位角色 float4 _UnitDepthTexture_ST; sampler2D _UnitWorldNormalTexture; float4 _UnitWorldNormalTexture_ST; sampler2D _UnitMotionVectorTexture; float4 _UnitMotionVectorTexture_ST; float4 _UnitTileOffset; // 只对一小部分进行后处理 float4 CalculateUnitTillOfssetVertex(float4 vert) { float4 v = float4(vert.xy * _UnitTileOffset.xy + _UnitTileOffset.zw, 0, 1); v.xy = v.xy * 2 - float2(1,1); return v; } 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; }