07常规工具节点(续)
Set Range
Set Range节点将一段范围内的值,重新映射到另一段范围内,然后输出。
注意它和Clamp节点的区别,Clamp节点是专门针对颜色值的。
举一个MAYA帮助中的小例子可以理解Set Range节点的作用。
建立一个nurbsSphere,然后指定一个Blinn材质。
生成一个Set Range节点。
我们下面要做的是用nurbsSphere的X、Y、Z轴向的旋转来控制Blinn的ColorR、ColorG、ColorB。
换句话说,是将0——360这一范围的值,重新映射到0——1这一范围内。
打开Connection Editor,
将nurbsSphere的RotateX、RotateY、RotateZ、分别连接到Set Range节点的ValueX、ValueY、ValueZ上。
把Set Range.OutValue输出到Blinn.Color上。然后设置Set Range节点的各项值如图:
现在说明一下Set Range节点的各项参数:
Min和Max的值是我们所希望得到的,在这个例子里是Min=0,Max=1;
而Old Min和Old Max代表原来范围的值,在这里是Old Min=0,Old Max=360。
Value可以理解为输入值的接口。
Set Range节点的工作原理可以由如下公式来解释:
OutValue = Min + (((Value-OldMin)/(OldMax-OldMin)) * (Max-Min))
现在,我们旋转nurbsSphere,它的颜色就会根据旋转的方向和角度变化。

08lihanfeng
在MAYA中很多节点的属性在属性面板中是看不到的,要用Connection Editor才能看到。你打开Connection Editor,然后将节点导入里面,就会看到的。
添加自定义属性可以在Surface Shader的属性面板中进行,Attributes>Add Attributes。
或者在菜单中进行,Modify>Add Attributes。
这样会打开Add Attributes窗口,里面有很多选项。
float的意思是这个自定义属性是浮点类型,你理解成小数类型就可以。
Sclar的意思是这个自定义属性是标量,这些其实都是Add Attributes的缺省选项。