这篇教程介绍 maya中的mountain 贴图节点的使用方法,从一个侧面展示了maya的强大和操作的复杂性飞越山峦—maya的mountain贴图节点
一:地面的制作和相关设置
首先我们先创建一个nurbs平面,随后的操作中,我们将把这个nurns平面使用mountain 贴图节点进行置换贴图的操作,使其转变成一幅山峦的图像。
使用菜单命令create%26gt;nurbs primitives%26gt;plane%26gt;,打开属性设置窗口,作如下设置。
选择这个新创建的nurbs平面,打开它的属性编辑器窗口,选择其形状节点nurbsplaneshape1标签,如下图:
展开tessellation属性栏目中,作如下设置:
二:创建山峦的材质模型(shader)
执行命令window%26gt;rendering editors%26gt;hypershade,打开hypershade窗口。将其中的缺省材质lambert1节点网络展开,如下图:
选择其中的initialshadinggroup节点并打开它的属性编辑器,在其displacement mat节点上映射上一个mountain二维贴图节点,如下图:
在映射这个mountain二维贴图节点时,注意要同时创建它的贴图布置节点(place2dtexture1) ,并且要以normal方式映射这个贴图节点。
一般情况下,将一个贴图节点映射到一个置换贴图(displacement)节点上以后,maya会自动将这个贴图节点同时映射到材质的的凹凸(bump)贴图节点之上,但是有些时候maya却并不进行这种自动的映射,具体到什么时候或者为什么会出现这样的情况,不是这篇文章讨论的题目,已超出了本人的能力范围。但是所幸的是,如果maya没有进行这种自动的映射工作,可以通过手工设置的方法达到同样的目的。
现在,在hypershade中选择initialshadinggroup节点并展开它的节点网络,如果幸运的话,会看到如下图的节点网络:
如果因为上面提到的原因,你看到的是下面这种节点网络:请按下面步骤手工映射凹凸贴图节点。
用 鼠标中健托拽mountain1贴图节点到lamber1材质节点上释放,在弹出菜单中选择bump map属性,将这个贴图节点映射到lamber1材质的凹凸贴图属性之上,也可得到上图中显示的连接结果。
接下来再用鼠标中健托拽mountain1贴图节点到lamber1材质节点上释放,在弹出菜单中选择color属性,将这个贴图节点也映射到lamber1材质的颜色属性之上,最终得到如下的节点网络:
三:调整材质的属性
应该知道的是,maya中程序贴图都可以带有颜色通道和阿尔法通道,但是与maya中的其它程序贴图不同的是,mountain贴图节点的阿尔法通道不是来自于贴图颜色通道的颜色亮度取值,其中存储的却是地形的高度场信息;而颜色通道中的白色区域则代表了基于高度场的分布,白雪的在岩石表面的分布情况。因为白雪易于在较高的地形上聚集,所以这个贴图的白色区域大致上代表了山峦上山峰的位置。
明白了这个概念以后,我们来调整这个材质的属性。请打开渲染窗口,准备随时进行测试渲染以观察调整后的效果。首先我们看到的是,在缺省情况下,材质上的白色区域显然过于密集,所以将mountain贴图的place2dtexture1的属性编辑器打开,并作如下设置:
下面对mountain贴图节点的属性作如下的初步设置:
其中snow color的颜色取值(rgb)为0.98,0.98,0.98;rock color的颜色取值(rgb)为0.53,0.52,0.5。
打开bump2d1节点的属性编辑器,作如下设置:
要想取得较好的山脉外观,其中filter的取值是很关键的。许多朋友总是得不到满意的山脉外观,大多数是因为使用了maya缺省的filter取值,而这个缺省取值过大,而且这些filter的取值是很敏感的,如果将filter offset仅设置为0.002,也会完全冲洗掉表面上的凹凸效果。
最后要做的是,将这个lambert1材质的diffuse属性设置为0.92,如下图:
四:预览场景和渲染
选择场景中的nurbs平面,打开它的属性编辑器,在它的形状节点nurbsplaneshap1标签下,展开displacement map属性栏目,点击其中的calculate bounding box scale按钮,需要等待一会儿,它上面的数字输入区就会填入新的取值,这一部操作的意义是使用前面计算出的新的空间宽容度取值自动匹配被置换的表面。
保持nurbs平面的被选择状态,在maya的主菜单上,执行命令modefy%26gt;convert%26gt;displacement to polygons。将这个生成的多边形模型设置成模板状态,这样免得它在最终渲染中出现。
选择nurbs平面,展开tessellation属性栏目中,将其中的number u和number v属性设置为250,如下图:
现在使用模板多边形山峦模型作为参考来放置摄像机的镜头,并为这个摄像机设置动画。以下参数是我做的摄像机设置,供大家参考:
translation : -2.4, 8.7, 84
rotation : -2, 1.8, 0
angle of view : 50
near clip plane : 1
far clip plane : 500
camera aperture (under film back) : 1, 0.6
film fit : horizontal
display film gate (under display options) : on
下面为场景打光,在这个场景中最好使用directional light作为主光,我的参数设置如下:
translation : 210, 210, 220
rotation : -34, 44, 0
color : white
intensity : 1
use depth map shadow : on
shadow color (rgb) : 0.35, 0.38, 0.42
use mid dist dmap : off
use dmap auto focus : off
dmap width focus : 300
use light position : on
dmap bias : 0.5
disk based dma ps : reuse existing dmap
dmap name: mtdmap
dmap scene name : off
dmap light name : off
dmap frame ext : off
最后,设置render global的参数,我的设置如下:
resolution : 300, 180
edge anti-aliasing : medium quality
shading : 4
raytracing : off
为场景添加一些环境雾,然后进行最终渲染。
本3D教程完。
|