


思路:
1:场景去色
//屏幕UVfloat4 screenPos = IN.ase_texcoord3;float4 grabScreenPos = ComputeGrabScreenPos( screenPos );float4 grabScreenPosNorm = grabScreenPos / grabScreenPos.w;float4 tex2DNode28 = tex2D( _AfterPostProcessTexture, grabScreenPosNorm.xy );float3 desaturateInitialColor7 = tex2DNode28.rgb;//去色常用公式float desaturateDot7 = dot( desaturateInitialColor7, float3( 0.299, 0.587, 0.114 ));
2:利用模型的顶点色去改变颜色(在shader里面添加顶点色,添加一个判断,可以让模型直接变成纯白或纯黑)
//加一个判断,只去色,不作阈值#if _GrayColor = desaturateDot7.xxx;#endif//Alpha用1也行其他也行return half4( Color, Alpha );
3:设定一个值?0~1是原本颜色,1~2是白色,2~3是黑色
拓展:
CZ——Wang的黑白闪
https://zhuanlan.zhihu.com/p/460631289
