什么是法线贴图?
法线贴图(Normal mapping)是可以应用到3D模型表面的特殊纹理,不同于以往的纹理只可以用于2D表面。作为凹凸纹理的扩展,它包括了每个像素的高度值,内含许多细节的表面信息,能够在平平无奇的物体上创建出许多特殊的立体外形,然而这些立体外形是通过使用光线和该点法线角度来表示,这也就意味着如果将一个贴图上所有点的法线记录起来的话,就不难再利用这些信息实现后期的假凹凸效果了。
记录这些法线的载体就被我们称之为法线贴图。但是为什么又称之为贴图呢?我们知道,一条法线是一个三维的向量,一个三维向量是由X、Y、Z三个分量组成 的,于是人们就想出了一个聪明的方法,就是以这3个分量当做红、绿、蓝3个颜色的值存储,这样就能生成一张新的贴图了,这就是法线贴图的来历。
应用范围有哪些?
法线贴图多用在CG动画的渲染以及游戏画面的制作上,将具有高细节的模型通过映射烘焙出法线贴图,然后贴在低端模型的法线贴图通道上,使其表面拥有光影分布的渲染效果,能大大降低表现物体时需要的面数和计算内容,从而达到优化动画和游戏的渲染效果。
法线贴图是最近比较被关注的技术,也将成为以后CG领域的一大主流技术,也就是游戏界被称为的次世代技术。
法线贴图是一种显示三维模型更多细节的重要方法,它计算了模型表面因为灯光而产生的细节。这是一种2维的效果,所以它不会改变模型的形状,但是它计算了轮廓线以内的极大的额外细节。在处理能力受限的情况下,这对实时游戏引擎是非常有用的,另外当你渲染动画受到时间限制时,它也是及其有效的解决办法。
更具体的来说,就比如动视暴雪的大作《使命召唤6:现代战争2》的特效就使用了法线贴图。打开这项特效后,你就可以明显的看到狙击枪的狙击镜上多出了一片透光的玻璃片,并且法线贴图质量越高就越清晰,越生动。反之,关掉法线贴图就无法看到这层玻璃片。这是相对于《使命召唤4:现代战争》来说的一个非常重要的画质提升,在以后使用Shader Model 3.0的游戏上都将会加入法线贴图以提升游戏的画质。