将资源包导入任意Unity项目中,找到Onoty3D/Scripts目录下的OnePointColorEffect脚本并绑定到摄像机上。然后将Onoty3D/Materials目录下的OnePointColorEffect材质手动赋值给脚本的Material字段。如下:
脚本各参数表示的含义如下:
Target Color:希望保留的颜色
Near:与Target Color的色调值(0~1)相近的范围。例如,色调值为0.5,如果将Near设为0.1,那么色调值在0.4~0.6范围内的颜色会被保留。
着色器的原理也非常简单,GetHue函数用于获取指定颜色的色调值并正规化至0~1的范围。再在顶点函数中将顶点坐标从模型空间转换到投影空间。然后在片段函数中保留指定色相值范围内的颜色值,并将其余部分颜色均做灰度处理。
如果使用得当,就可以实现如下效果:
使用也非常方便,先取消脚本名称前的勾选,然后使用吸管工具选定适当的颜色,之后再勾选脚本即可。操作如下:
原文链接:http://onoty3d.hatenablog.com/entry/2016/05/15/205451
原文作者:onotchi
|