Maya的粒子替换功能和高级的MEL命令colorAtPoint(3)
在文件纹理file1的属性编辑器里的image Name后面的小按钮上点击,打开纹理浏览窗口。(图19)
图19
选择序列的第一个文件,点击Open,打开文件纹理,然后在属性编辑器里勾选Use Image Sequence,这时会为该文件纹理自动创建一个表达式。(图20)
图20
文件贴图已经就绪,现在只要修改粒子的表达式,使其读取新创建的文件纹理file1,而不读取程序纹理noise1就可以了。打开粒子表达式编辑窗口,修改表达式。(图21)
图21
注意:colorAtPoint命令可以返回贴图的RGBA(红、绿、蓝和亮度)四种颜色信息,如果表达o后面只有一个大写A,就是只返回亮度信息,如果是RGBA就是会全部返回四个颜色信息,因为笔者使用的贴图序列的亮度信息不是很理想,所以这里就使用了贴图的红色信息。
修改完表达式,点击Edit按钮,这时视图里的效果。(图22)
图22
在Hypershade里,创建一个blinn材质球将其付给替换粒子的物体pCube1,修改材质球的属性。(图23)
图23
创建一盏聚光灯,强度设置为0.8,打开光线跟踪。(图24)
图24
再创建一盏补光和背景光,灯光强度分别为0.2和0.3。显示灯光效果。(图25)
图25
在全局渲染设置里设置产品级别,打开光线跟踪,渲染效果。(图26)
图26
这时观察渲染出来的图像会看出来是一个很朦胧的脸型,但感觉好像有点不舒服,因为头发眼睛和嘴都是是凹进去的,而不是凸出来的,这样的原因是因为我们读取的贴图的红色,二头发的颜色是很暗的颜色,很暗的颜色里面红色的数值很低(当然绿色和蓝色在很暗的颜色里也很低,这跟效果没关系,不过读者也可以尝试读取贴图的绿色和蓝色做为粒子替换缩放的控制数值)。如图所示是本例中读取的贴图的红色信息。(图27)
图27
最终的粒子替换的Z轴的缩放就是根据这张贴图的红色数值来决定的,这就很容易看出,头发和眼睛的红色值很低,那样这些部位肯定就是凹下去了,解决的方法很多,可以用后期软件先处理贴图序列,也可在Maya里使用程序节点提取红色信息,再翻转它,但这里还可以修改一下表达式来达到预期的效果。先选择粒子,在每粒子属性卷展栏里打开表达式编辑窗口,修改表达式。(图28)
图28
表达式里只是把原贴图的红色值用1减去,这样原来数值低的头发和眼睛的地方就是变为数值高的地方。同时也适当调整了缩放的倍数,把原来乘以的5倍改为乘以7.5倍,使凸起的效果更明显。(图29)
图29
效果基本完成。现在简单搭建一个环境。创建桌子、笔筒、书籍、带灯等物体。(图30)
图30
为各个道具物体付材质,加贴图。(图31)
图31
适当调整灯光。最后渲染完成效果。(图32)
图32(点击放大)