给lambert材质添加三个自定义属性:
Hue:最小值=0、最大值=255、缺省值=128,float;
Saturation:最小值=0、最大值=255、缺省值=128,float;
Value:最小值=0、最大值=255、缺省值=128,float;
然后将Hue、Saturation、Value分别连接到setRange的ValueX、ValueY、ValueZ上。
将setRange的OldMaxX、OldMaxY、OldMaxZ都设置为255,OldMin和Min都为0。
用IPR渲染场景,你会发现,我们随意更改Hue、Saturation、Value的值就可以改变
贴图的色相、饱和度和亮度。
解释一下这个材质的实现原理:
通过前面的教程我们知道,Set Range节点是将Old Min到Old Max范围之间的值,重新
映射到Min到Max的范围内。三个通道分别代表着R、G、B。
将file.outColor通过rgbToHsv节点转换为H、S、V模式,然后送入setRange节点里,
这时,setRange节点的通道从左到右就等于代表H、S、V。所以我们用lambert材质的
三个自定义属性分别控制setRange节点的Value值,就可以改变最后渲染结果的H、S、V。
因为lambert.Color要接受RGB模式的颜色,所以我们又通过hsvToRgb节点将已经变为HSV模式
的颜色转换为RGB模式的颜色。
MAYA材质系统确实具有极大的灵活性,在MAYA中,现成的东西不是太多,但它给我们提供了
思想、工具、空间并指明了道路。古人说过,“受之以鱼不如授之以渔”,我以为MAYA正象
一位导师,教我们方法而不是替我们写作业。
材质的连接方式如图: