今天是:
 | 网站首页 | 设计资讯 | 大赛征集 | 视觉欣赏 | 院校同盟 | 设计教程 | 酷站推荐 | 创意人才 | 交流论坛 | 设计服务 | 
您现在的位置: 西部视觉 >> 设计教程 >> maya教程 >> 材质教程 >> 文章正文 用户登录 新用户注册
[组图]MAYA材质系统的Utilities工具简介           ★★★
MAYA材质系统的Utilities工具简介
作者:佚名 文章来源:本站原创 点击数: 更新时间:2008-4-20 8:47:42
01常规工具节点(续)

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,它的颜色就会根据旋转的方向和角度变化。


 
02vectorProduct

vectorProduct节点允许一个矢量乘以另一个矢量或矩阵,它实际上就是一个运算器。在程序语言中经常用到这种运算。vectorProduct节点的主要部分的解释如下:
Operation
No operation:将Input1的值不做处理,然后输出;
Dot Product:这是缺省值。Input1和Input2做点乘运算。点乘运算的原理如以下公式:
假设有两个矢量(a,b,c)和(d,e,f)

Dot Product = (a*d) + (b*e) + (c*f)
 
注意Dot Product的值是一个单一的值,这就意味着vectorProduct节点在输出的时候,选择OutputX、OutputY、OutputZ三个值中的任何一个都可以。
Cross Product:叉乘产生一个新的矢量,原理如下:
x = (b*f)-(c*e)
y = (c*d)-(a*f)
z = (a*e)-(b*d)
注意不要将它和Multiply Divide节点弄混了,Multiply Divide节点的原理是:
x = a*d, y=b*e, z=c*f
Vector Matrix Product:将Input1乘以矩阵生成一个新的矢量,公式如下:
Outvector = Input x Matrix
假设有一个Input矢量为(a,b,c)
和一个Input矩阵:
A B C D
E F G H
I J K L
M N O P
则:
x = (a*A) + (b*B) + (c*C)
y = (a*E) + (b*F) + (c*G)
z = (a*I) + (b*J) + (c*K)

Point Matrix Product的原理是:
Output = Input x Matrix
x = (a*A) + (b*B) + (c*C) + D
y = (a*E) + (b*F) + (c*G) + H
z = (a*I) + (b*J) + (c*K) + L
注意以上两种算法都会忽略Input2。
 
Normalize Output:
缺省情况下是关闭的。当打开时,它生成的矢量值在-1到1的范围之间。
在使用Point Matrix Product操作时,Normalize Output无效。

Matrix:
Matrix不出现在属性面板中,只出现在Connection Editor中。
使用Matrix可以将场景中的对象从相机坐标空间转换到世界坐标空间。
 
下面用一些小例子来感受一下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
渲染场景。
另:如果不是很清楚的话不要紧,先感觉一下这些操作所起的作用,慢慢做得多了,就理解了。有时间的话,我再做一些实用的例子,
就象前面的卡通材质一样。



 
 
 
免责声明:作品版权所属媒体与作者所有,本站刊载此文不代表同意其说法或描述,仅为提供更多信息!有异议请联系我们。
  • 上一篇文章: 一篇老外的旧金属材质教程

  • 下一篇文章: 电子显微镜下的材质
  • 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    最新文章
    普通文章Maya制作篮球投篮时篮筐的震荡效…
    普通文章MAYA的hair系统制作柔软的辫子
    普通文章MAYA影视广告制作中的爆破特效
    普通文章模拟人体和衣服的碰撞
    普通文章maya中cloth做布料衣服等(很适合…
    普通文章从建模到渲染制作生长的鲜花
    普通文章防止穿插篇
    普通文章角色服装,骨骼和布料同时控制篇
    普通文章用MAYA制作下雨的教程
    普通文章初步了解场与约束.
    热门文章
    普通文章Maya制作篮球投篮时篮筐的震荡效…
    普通文章MAYA的hair系统制作柔软的辫子
    普通文章MAYA影视广告制作中的爆破特效
    普通文章模拟人体和衣服的碰撞
    普通文章maya中cloth做布料衣服等(很适合…
    普通文章从建模到渲染制作生长的鲜花
    普通文章防止穿插篇
    普通文章角色服装,骨骼和布料同时控制篇
    普通文章用MAYA制作下雨的教程
    普通文章粒子与物体碰撞时发射粒子的效果
    | 设为首页 | 关于我们 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务 | IDC服务|
    客服QQ:787944052|416084008 TEL:13790730575|E-mail:lanmo8@126.com
    Copyright © 2007-2009 WestVisual.Com Inc. All Rights Reserved.
    备案许可证号:陕ICP备07500051号
    西部视觉™ 版权所有