当前位置:文档之家› maya 法线定点着色

maya 法线定点着色

Maya的法线贴图应用(Normal Map)
2008-09-26 09:37
Maya的法线贴图应用(Normal Map)
在CgTalk网站评选的2004年CG大事TOP 10中, 第六件大事便是“法线贴图成为游戏行业主流”,CgTalk上对法线贴图描述如下:
法线贴图用于非交互3D渲染已不是什么新技术了,但游戏上的应用还是最近才出现的事。

在 Doom 3 (id software)、Half Life 2 (Valve Software)、Halo 2(Microsoft)和 Thief 3:Deadly Shadows (Eidos Interactive)等04年的几款游戏大作中,法线贴图为实时交互领域带来了前所未有的真实体验,如图。

法线贴图是一种利用含有法线信息的纹理来制作低多边形模型的方法。

凹凸贴图(Bump)与之有着相似的概念,但是法线贴图的优势在于即使在灯光位置和模型角度改变的情况下,依然可以得到正确的shading,从而为低多边形模型带来更多的细节效果。

凹凸贴图(Bump)通常使用单通道图像(灰度图像)来计算,而法线贴图使用多通道图像(RGB)来体现法线信息。

凹凸贴图改变的是法线向量的大小,而法线贴图能同时改变法线向量的大小和方向。

下面我们介绍如何在MAYA中制作法线贴图。

如图,为同一个模型准备一个低模,一个高模。

在高模的表面可以有很多细节。

将低模和高模放在相同的位置,然后在Rendering模块下执行Lighting/Shading | Transfer Maps,如图。

在弹出的窗口中,设置Target Meshes为低模,Source Meshes高模,分别在Outliner中选择相应的模型,使用Add Select按钮添加。

之后单击Output Maps 标签下的Normal,即选择输出法线贴图。

然后在下面设置贴图存储路径和名称,设置法线贴图的格式,这里我们选择FF格式。

其他参数如图,最后单击最下面的Bake按钮,即可生成法线贴图了。

注意法线贴图的存储路径和名称不要含中文,否则会出错。

最后我们生成的法线贴图,如图。

打开Hypershade,MAYA会自动将生成的法线贴图作为凹凸贴图连接到一个Lambert上,并赋予低模,如图,注意这里Bump Map的Use As选项是Tangent Space Normals,而不是以前常用的Bump。

渲染,如图,体会法线贴图与普通的Bump贴图的不同。

Maya中顶点着色(Vertex Color)的三种方法
2008-09-26 09:27
Maya中顶点着色(Vertex Color)的三种方法
MAYA中多边形的顶点(Vertex)着色,使用的是与材质无关的另外一套数据信息,这些顶点色彩与几何体存储在一起,可以导出到游戏引擎或其他软件中。

但使用Maya Software渲染器无法渲染出设定的顶点颜色,如图。

图基于顶点(Vertex)的着色与材质无关
MAYA中有三种方法可为顶点着色,下面分别介绍。

第一种方法是,首先选择多边行的一个或多个顶点,在Polygons模块下执行Color | Apply Color,如图,打开其选项窗,选择色彩,单击Apply Color按钮,为所选顶点应用色彩。

也可以一次性为多个顶点应用色彩,如图。

图一次性为多个顶点Apply Color(应用颜色)
第二种方法是使用Paint Vertex Color Tool(绘画顶点颜色工具)在顶点上直接绘画颜色。

选择多边形,执行Color | Paint Vertex Color Tool,如图,打开其选项窗,设置色彩和画笔半径大小,直接在多边形绘画,即可为该顶点的顶点着色了。

为顶点着色时,使用Paint Vertex Color Tool在绘画过程中可以随时切换画笔大小、画笔颜色,如图,有时这比选择顶点执行Color | Apply Color要直观、方便。

图绘画顶点颜色
第三种顶点着色的方法是Prelight,即预亮,我们将在下面单独介绍。

Prelight与Bake
Prelight,预亮,也可以为多边形顶点着色。

Prelight基于多边形的每个顶点,对光照和纹理执行渲染计算,把光照和纹理信息转换为每个顶点的颜色信息,并把顶点颜色与几何体存储在一起。

这样多边形的顶点色彩就与材质、灯光无关了,所以即使删除场景中灯光和模型的材质纹理,模型表面色彩也不会改变。

这样即
使把模型输出到其它平台中,灯光和纹理信息仍然在。

如果需要将MAYA模型转换到游戏开发平台中时,Prelight很有用。

值得说明的是,由于Prelight是基于顶点进行的,顶点色彩是和材质无关的另外一套数据信息,所以Prelight的结果不会被渲染出来。

Prelight之前,场景中至少要有一个灯光,但对被计算的灯光的最大数量没有限制。

如图,选择已经赋予贴图的多边形,执行Color | Prelight(Maya)。

如图,对比两个多边形球,查看Prelight的效果。

此外,Prelight信息无法被删除,但可以使用Color | Apply Color,使用Apply Color下的Remove选项,间接移除Prelight结果。

MAYA中和Prelight类似的概念就是Bake(烘焙)了。

Prelight是基于模型的顶点,把光照和纹理信息转换为每个顶点的颜色信息,与几何体存储在一起,Prelight得到的数据信息和材质无关,无法被MAYA的渲染器渲染出来。

而Bake (烘焙)是基于模型表面上的每个可视点来进行的,Bake(烘焙)的结果是可以被渲染的。

MAYA的Bake(烘焙)原理是将模型的材质节点网络(3D纹理、凹凸等)和物体接受的光照信息一并Bake为一张2d纹理贴图。

Bake(烘焙)的方法是,依次选择模型的材质(可在Hypershade中选择)和模型,然后在Hypershade 中执行Edit | Convert to File Texture(Maya Software),如图。

相关主题