6法线贴图各种生成方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
次世代游戏各类贴图详解
“材质”用来指定物体的表面或数个面的特性,它决定这些平面在着色时的特性,如颜色,光亮程度,自发光度及不透明度等。制定在材质上的图形称为“贴图”。
材质贴图(Texture Mapping):一张平面图像(可以是数字化图像、小图标或点阵位图)会被贴到多边形上,通常把它想象成3D物件的壁纸,亦即将一张2D图纸"糊"到一个3D 表面。
在像Maya、3Dmax等三维软件中,材质和贴图主要用于描述对象表面的物质形态,构造真实世界中自然物质表面的视觉表象。不同的材质和贴图能够给人们带来不同的视觉感受,因此这是他们所营造客观事物真实效果的最有效手段之一。
什么是次世代游戏贴图:次世代贴图是由法线贴图(Normal map)、固有色贴图(Diffuse Color)、高光贴图(Specular Color)、自发光贴图(Self—Illumination)、透明贴图(Transparency)的组合而成的一整套贴图。每个部份的详细解释说明如下。
一、法线贴图(Normal map)
法线贴图是可以应用到3D表面的特殊纹理,不同于以往的纹理只可以用于2D表面。作为凹凸纹理的扩展,它包括了每个像素的高度值,内含许多细节的表面信息,能够在平平无奇的物体上,创建出许多种特殊的立体外形。你可以把法线贴图想像成与原表面垂直的点,所有点组成另一个不同的表面。对于视觉效果而言,它的效率比原有的表面更高,若在特定位置上应用光源,可以生成精确的光照方向和反射。
法线贴图是一种显示三维模型更多细节的重要方法,它解算了模型表面因为灯光而产生的细节。这是一种2维的效果,所以它不会改变模型的形状,但是它计算了轮廓线以内的极大的额外细节。在处理能力受限的情况下,这对实时游戏引擎是非常有用的,另外当你渲染动画受到时间限制时,它也是及其有效的解决办法。
图5-1(GAME798学员徐惠康在校作业)
图5-2
1、法线贴图形成原理
1)模型面受光度的判断
在绘图程序里一个模型平面的受光度如何来判断呢?如果以0-1的程度来算,0是最暗,1是最亮的话,两个向量长度是1的向量相乘的结果就决定了这个平面的亮度。所以当入光向量和模型上的平向夹角的小的话,表示这个模型面直接面对光源,所以会很亮,反之如果夹角大的话,表示模型面不直接面对光源,所以会比较暗,当然如果是背光的情形的话,两个向量相乘结果小于0,就会是全暗。
图5-3
图5-4
2)法线贴图和受光度的关系
法线贴图的作用就是把面上的法线方向利用贴图提供的信息来改变其方向,我们可以把贴图里的每一个像素都当作是模型上的一个平面,用RGB三个原色记录了每个像素的法线方向(x、y、z)值,自运算时先读了模型的法线方向之后,再用法线贴图上的RGB也就是x、y、z值算一次。
图5-5
在此,游戏贴图上的法线方向已经不再是传统定义中垂直于平面的法线了,这点请一定注意,不要弄混了。
下图是由一张法线贴图上针对其中的一个像素的法线方向做的分析(这只是一个概念的说明,可能会和程序上实际的运算的数值和流程会有点偏差)。
图5-6
有些不了解这个原理的美术人员可能会试图在Photoshop里直接修改,事实上这几乎是不太可能的事,因为它并不是直观的彩色贴图,与其说它是贴图,不如说它是储存数据的数组。
3)、法线贴图(Normal map)的生成原理
法线贴图的生成方法有两种,一个是通过三维软件的功能(Maya里是通过Surface sampler,3D Max是通过Render to texture)把同一个模型的高低版本对在一起,然后把高模的细节生成法线贴图记录下来,另一个方法是通过Photoshop里NVIDIA提供的nvtools,把Bump贴图提供的高度信息,转成法线贴图。
图5-7
在凹凸(Bump)贴图里,亮部(浅色)是代表比较高的位置,相对的暗部(深色)就比较低,就是利用这种高低关系来换算出每个像素位置的相对高度,然后针对这个高度关系所形成的曲面算出其相应位置的法线角度,进而转换成法线贴图。
图5-8
有一点有一点需要特别提醒的是,一旦生成了法线贴图,不但无法用手绘的方式去针对细节上做任何改变,也无法把法线贴图转回灰阶的凹凸贴图。
2、法线贴图烘焙前的检查
1)模型法线的方向
过入射点垂直于镜面的直线叫做法线。对于立体表面而言,法线是有方向的:一般来说,由立体的内部指向外部的是法线的正方向,反过来的是法线负方向。
图5-9
在Maya中法线又分为点法线与面法线。
图5-10
Maya中法线显示菜单为Display-Polygons-Face Normals面法线、Vertex Normals点法线。
图5-11
在烘焙法线如果法线是反方向的,则烘焙出来将法线贴图贴到模型上将会是黑色,法线烘焙也是错误的。
图5-12
法线正常情况显示为绿色,但有时从3D Max导入到Maya中将会是黄色的,因为Maya 与3D Max的法线贴图绿色通道是相反的。
图5-13
黄色法线是错误的法线显示,这时我们需要将法线纠正。点击菜单栏中的Normals-Set to
Face将顶点法线设置为面法线,这时顶点法线将被分裂开。
图5-14
检查法线是烘焙前的重要步骤之一。不仅仅要对低模进行检查,高模也要对其进行检查。
2)低模软硬边的设置
Normals-Soften Edge设置为软边、Harden Edge设置为硬边。
图5-15
Soften Edge设置软边,当两个面之间的夹角小于平滑角度,那这两个边为软边。软边的法线是这个面周围面的平均法线。
Harden Edge设置为硬边,当两个面之间的夹角大于平滑角度,那这两个边为更边。硬边的法线将被用于和这条边相临的顶点的面上。