MAYA材质系统的Utilities工具简介(二)
http://tech.ddvip.com 2007年08月09日 社区交流
内容摘要:MAYA材质系统的Utilities工具简介
下面用一些小例子来感受一下vectorProduct节点的作用:
Dot Product操作:
建立一个球体并指定Blinn材质。
创建一个directionalLight并将其Light Direction连接到vectorProduct节点的Input1;
建立一个SampleInfo节点并将其Normal Camera连接到vectorProduct节点的Input2;
vectorProduct节点的操作方式为Dot Product
将vectorProduct节点的Output值任意一个连接到Blinn.ColorR上。
结果如图:
现在球体红色的部分对应Blinn.ColorR的值就为Dot Product操作后产生的值,我这里的ColorR=0.660。如果将vectorProduct节点的OutputX、OutputY、OutputZ分别连接到Blinn.ColorR、Blinn.ColorG、Blinn.ColorZ上。那么由于OutputX、OutputY、OutputZ的值是相等的,都是0.660。所以Blinn.ColorR、Blinn.ColorG、Blinn.ColorZ都等于0.660。

03Cross Product操作:
建立一个球体并指定Blinn材质;
建立一个SampleInfo节点;
建立一个Set Range节点。
将SampleInfo节点的Ray Direction连接到vectorProduct节点的Input1;
提取出物体表面光线方向的信息。
将SampleInfo节点的Normal Camera连接到vectorProduct节点的Input2;
提取出物体表面法线信息。
将vectorProduct节点的Output连接到Set Range节点的Value;
将Set Range节点的outValue连接到Blinn.Color。
设置操作方式为Cross Product
打开vectorProduct节点的Normalize Output,
这样vectorProduct节点的Output值的范围在-1到1之间。
因为颜色没有负值,所有用Set Range节点来将vectorProduct节点的Output值限制在0——1之间。
Set Range节点的值按如下设置:
我们所要得到的是:
Min=0;Max=1
vectorProduct节点的Output值范围是:
OldMin=-1,OldMax=1
渲染场景。
另:如果不是很清楚的话不要紧,先感觉一下这些操作所起的作用,慢慢做得多了,就理解了。有时间的话,我再做一些实用的例子,
就象前面的卡通材质一样。

责编:豆豆技术应用