次时代游戏贴图制作方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
导言:
本教程详细的介绍了次世代游戏贴图的概念,对实际生产中的一些制作要点进行了分析,对游戏制作者有很大的帮助。下面教程开始
次世代贴图和传统贴图的比较
造成差别的主要原因有两点,一是由于图像技术的突破,二是贴图数量的提高。这两个因素使得次世代贴图在发挥上有了更大的空间。(图01)
图01
1、彩色贴图肩负多重责任,高光阴影、深度的三维效果都要同时通过贴图表现出来。
2、高光和阴影不会因光源方向的变化而改变。
3、贴图尺寸小,为了节省贴图,所以用四方连续贴图来贴满整个面墙,容易看出有重复,影响画面品质。
4、细节均匀,因为需要大量的四方连续的关系,所以不能有特别突出的细节。
5、整体的立体感较弱,传统贴图只能表现比较缓和的高光和阴影,太强调贴图本身的光影会对游戏场景里实际光源的打光效果产生干扰。(图02)
图02
1、除了彩色贴图之外,还有法线贴图(Normal map)、高光贴图(Specular map),有的还用凹凸贴图(Bump map),是几张贴图组合成的一套贴图。
2、高光和阴影可以随光源方向的变换而有相应不同的光影效果,有了法线贴图(Normal map)、高光贴图(Specular map),透过贴图上所提供的信息,即可以随着光源的方向的不同而做相应的光影效果运算。
3、高精度的贴图画面,贴图尺寸比较大,四方连续的次数少了,可以加入更多独特的细节。
4、很好的三维效果,通过法线贴图(Normal map)、高光贴图(Specular map)、凹凸贴图(Bump map)的组合可以产生很多微妙的立体细节变化。
5、丰富的贴图细节,以前因为贴图限制而无法深入的细节现在可以有进一步的发挥。
什么是次世代贴图
次世代贴图是由彩色贴图(Color map)、法线贴图(Normal map)、高光贴图(Specular map)、凹凸贴图(Bump map)的组合而成的一整套贴图。
每个部份所发挥的功能说明如下:(图03)
图03
法线贴图(Normal map)记录了贴图里每个像素的法线方向,它不能当成一般的贴图来看,它记录了图面上每一个像素的法线向量数据。(图04)
图04
高光贴图(Specular map)记录了贴图细节的高光及受光度,这个贴图跟法线贴图是互相搭配的,图面上的立体的效果其实是靠高光体现出来的,高光贴图可以针对局部高光做结构上的突显和强化,达到更真实的视觉效果(针对高光贴图在下面的文章中做进一步的说明)。(图05)
图05
凹凸贴图(Bump map)是通过灰度贴图来得到细节实际凹凸的信息,然后在三维空间中进行准确的位置运算,有一点需要提醒的是,如果贴图中有比较明显的凹凸才需要用到凹凸贴图。如果凹凸不太明显则用凹凸贴图的效果并不大。(图06)
图06
法线贴图和高光贴图的原理和作用
对于上面提到的四种贴图,很多的读者可能会对法线贴图(Normal map)及高光贴图(Specular map)比较陌生或是只有一个模糊的概念。针对这两种贴图,我们谈谈它的基础运算理论,在不提及运算方程式的前提下,做一个比较直观的分析。(图07)
图07
模型面受光度的判断
在绘图程序里一个模型平面的受光度如何来判断呢?如果以0-1的程度来算,0是最暗,1 是最亮的话,两个向量长度是1的向量相乘的结果就决定了这个平面的亮度。所以当入光向量和模型上的平向夹角的小的话,表示这个模型面直接面对光源,所以会很亮,反之如果夹角大的话,表示模型面不直接面对光源,所以会比较暗,当然如果是背光的情形的话,两个向量相乘结果小于0,就会是全亮。(图08)
图08
法线贴图和受光度的关系
法线贴图的作用就是把面上的法线方向利用贴图提供的信息来改变其方向,我们可以把贴图里的每一个像素都当作是模型上的一个平面,用RGB三个原色记录了每个像素的法线方向(x、y、z)值,自运算时先读了模型的法线方向之后,再用法线贴图上的RGB也就是x、y、z值算一次。(图09)
图09
在此,游戏贴图上的法线方向已经不再是传统定义中垂直于平面的法线了,这点请一定要注意,不要弄混了。
下图是由一张法线贴图上针对其中的一个像素的法线方向做的分析(这只是一个概念性的说明,可能会和程序上实际的运算的数值和流程会有点偏差)。(图10)
图10
有些不了解这个原理的美术人员可能会试图在Photoshop里直接修改,事实上这几乎是不太可能的事,因为它并不是直观的彩色贴图,与其说它是贴图,不如说它是储存数据的数组。
法线贴图(Normal map)的生成
法线贴图的生成方法有两种,一个是通过三维软件的功能(Maya里是通过surface sampler,3ds Max 是通过Render to texture)把同一个模型的高低版本对在一起,然后把高模的细节生成法线贴图记录下来,另一个方法是通过Photoshop里NVIDIA 提供的nvtools,把Bump贴图提供的高度信息,转成法线贴图。(图11)
图11
在Bump贴图里,亮部(浅色)是代表比较高的位置,相对的暗部(深色)就比较低,就是利用这种高低关系来换算出每个像素位置的相对高度,然后针对这个高度关系所形成的曲面算出其相应位置的法线角度,进而转换成法线贴图。(图12)
图12
有一点需要特别提醒的是,一旦生成了法线贴图,不但无法用手绘的方式去针对细节上做任何改变,也无法把法线贴图转回灰阶的凹凸贴图。
高光贴图的原理和作用
高光贴图在定义上是针对某特定的角度范围反光,而不是全范围的漫射光。基本上高光的亮度是取决于面的法线方向、摄像机和光源的平均方向,除此之外,高光贴图还可以反映不同的材质,例如金属的反光范围较小,比较接近全漫射光,而且高光还可以体现结构的光滑程度。(图13)
图13