浅谈切线空间法线贴图在三维建模中的应用

2016-03-02 08:14南通大学艺术学院动画教研室226000
大众文艺 2016年23期
关键词:法线凹凸多边形

姚 超 (南通大学 艺术学院 动画教研室 226000)

浅谈切线空间法线贴图在三维建模中的应用

姚 超 (南通大学 艺术学院 动画教研室 226000)

在三维制作中,性能的损耗与高细节的模型之间长期以来一直存在着难以兼顾的矛盾。随着计算机硬件技术的发展,法线贴图技术在三维建模领域开始为人们所重视。切线空间法线贴图是目前应用较为广泛的一种法线贴图技术,其利用切线空间的数学方法将模型凹凸的高度信息存储在了法线贴图的RGB通道中。这一技术突破了以往凹凸贴图的局限,使得三维模型在多边形数量不变且性能损失较小的情况下能显示出更多的凹凸细节。法线贴图技术的出现极大提升了用户在三维制作中的流畅性,在三维制作中也得到了广泛的应用。

法线贴图;向量;高模;低模

随着时代科技的进步,计算机硬件和软件技术在最近二十年间得到了突飞猛进的发展。以往,计算机硬件性能的局限使得三维制作人员为了提高制作速度和软件运行效率不得不降低三维模型的多边形数量,从而造成模型细节的损失。早期的三维CG作品和三维游戏的画面的细节效果并不能够让人满意。2001年初,支持微软DirectX 8.0的GeForce3显卡的上市,可编程的着色管线概念被引入到GPU中,新的Shader数据处理方式使得法线贴图能够被更好地支持和体现。今天,法线贴图已经在次世代游戏、CG艺术作品、影视作品等领域起着不可或缺的作用,如电影《阿凡达》,游戏《古墓丽影10》《战地4》等诸多作品中均大量使用了法线贴图。上亿多边形的高精度模型的细节通过法线贴图可以流畅运行于计算机上,法线贴图对于三维制作的发展有着极为深远的意义。

一、切线空间法线贴图的原理

三维模型实现凹凸效果的传统方式一般都是在对象的材质的凹凸通道中加载一张处理过的黑白图像或直接使用一张纹理贴图,利用图像中的灰度信息实现模型表面起伏的效果,但是这一做法在光源位置发生变化时并不能够让凹凸处的阴影和高光随着光源位置的变化而变化,作为凹凸贴图的延伸,法线贴图在这一方面则显得更加优秀。

法线指的是始终垂直于面的直线,在三维制作软件中,可以用于定义多边形的朝向。法线贴图是一种含有24位RGB色彩的图片,通过计算光线与法线的角度就可以知道光线与面的角度,进而可以计算出面应得到的颜色值,也就是说,法线贴图的RGB实际上是储存了模型各顶点在切线空间中的法线映射值,而在获得了对象物体的每个顶点的法线后,就能实现对这个物体进行光线照明渲染。

法线贴图有三种:world space normal map、object space normal map和tangent space normal map,其中tangent space normal map在三维制作中最为常用。“tangent space normal map”是指切线空间法线贴图,由一个原点和三个基向量构成,其中原点是指多边形的顶点,三个基向量则分别是:切线、法线和副法线(T、N、B)。相比起凹凸贴图,法线贴图使用RGB通道来储存法线信息,而RGB在空间中对应的是x、y、z三个坐标轴(图1.1)。在法线贴图技术中,像素的明暗程度依靠它们各自的法线来决定。如果在即时渲染中,把每个像素的法向量都转换成世界空间里与光线进行角度的计算会极大地降低渲染效率,因此,法线贴图技术则是将光向量引入法线所在的切线空间里进行计算。在切线空间中,法线可以看作高度且与z轴对应,始终垂直于顶点;而切线则对应x轴,是需要平行于法向量所在的平面(图1.2);副法线则可以通过另外两个向量的差乘得出,简单地利用公式表达,就是N=T×B。二维纹理空间的坐标是以U和V来表示,切线和副法线既分别对应x和y轴,同时也对应了二维纹理空间中的U和V。

图1.1

图1.2

二、法线贴图的生成与应用

使用法线贴图的目的通常是为了在较少的多边形模型上产生更多的凹凸细节,所以用户在生成法线贴图前需要准备好高精度模型(高模)和低精度模型(低模)。高模的作用是为低模提供更多的细节内容,不需要进行UV展开;低模则是承载法线贴图的主体,在赋予法线贴图前需要对其进行展平UV。通常用户会先行制作低模,在确保模型外形正确后再在低模的基础上制作拥有更多细节的高模,这样可以保证高模与低模的外观形态基本一致。用户也可以利用Zbrush或Mudbox等数字雕刻软件制作高模,然后使用Topogun一类的拓扑软件对高模进行拓扑而得到低模,这种做法的好处在于可以根据高模合理调整低精度模型的布线从而为低模UV的展平提供便利。

以3ds Max为例,如果需要生成法线贴图,需要按照如下的步骤:(1)先准备好低模和与之对应的高模并将两个模型都导入进同一个场景中,高模和低模的位置要进行对齐。(2)在Rendering菜单下选择Render To Texture,之后在Projection Mapping下按Pick按钮选择高模,将高模读取。为了让烘焙出的贴图质量更佳,我们需要为烘焙贴图设置“Hammersley”类型的抗锯齿并把质量设置为“1”,同时设置其贴图坐标为“1”。(3)在Output卷展栏下,添加“法线贴图”。为了确保烘焙出的法线贴图拥有足够的分辨率,尺寸值需要设置得大一些,系统默认的256×256是远远不够的。此外,在修改堆栈中的映射一栏下,设置合理的值并作适当的调整,让映射的范围适当地包裹住低模,以确保法线贴图生成的正确性。(4)最后,在Render To Texture面板中点击Render按钮进行贴图的渲染生成。这时,需要将生成好的法线贴图赋予到凹凸贴图通道中并把凹凸贴图通道的强度值设置成“100”。在完成了以上的步骤之后,我们即可在低模上看见高模所具备的各处细节。

三、法线贴图优缺点与前景

在三维制作过程中,常见的能实现模型凹凸效果的贴图并不止法线贴图一种,凹凸贴图、置换贴图等均能够实现模型表面的凹凸效果。

相比起法线贴图,传统的凹凸贴图出现年代较早,但它只是利用灰度信息对原始图像进行复制、平移操作,从而实现凹凸效果,当然也可以利用Alpha通道来实现凹凸效果。这种贴图的局限性很大,无法很好地产生镜面高光,也不能针对光源位置的变化在凹凸处产生正确的投影和高光。法线贴图很好地弥补这一缺陷,除了具备传统凹凸贴图的优点外,凹凸处的镜面高光也能很好地体现,并且能够根据光源的位置产生正确的投影,从而得到更逼真的凹凸效果。而置换贴图在实现模型凹凸效果时,整体效果优秀,这是一种真正可以改变对象物体表面几何形状的贴图方式。由于置换贴图会明显增加模型的几何形信息,这种贴图方式对于系统资源的损耗也非常大,而法线贴图在不增加对象物体多边形数量的前提下就能实现正确且效果较好的凹凸感,从而很好地在性能损耗和画面效果之间取得了合理的平衡。

和凹凸贴图类似,法线贴图也只是产生模型表面凹凸的假象,实际上并不能改变模型的外形。在入视角度接近水平时,法线贴图所起到的效果就会大幅度削弱。此外,法线贴图不能很好地体现较大的凹凸效果,也不能实现自身内部的遮挡,这也是法线贴图的缺点所在。尽管自身具有一定的缺陷,但由于能够在有限的多边形面数上实现上亿多边形的高模效果,尤其是切线空间法线贴图具备更大的自由度并能够实现UV动画,法线贴图技术在三维建模中依然是目前较为流行和科学的技术手段,配以合理的环境光遮蔽贴图,可以让法线贴图的细节感得到更大的增强。另一方面,作为法线贴图的增强技术,视差贴图技术也已经越来越多地被使用。法线贴图技术在追求画面细节的今天,已被广泛地应用于影视制作、次世代游戏开发等诸多领域,对于画面效果的提升起着非常重要的作用,在未来的一段时期内,法线贴图技术依然会作为三维模型制作的一种主流技术被继续应用在各个领域。

四、结语

在计算机硬件和三维制作技术飞速发展的今天,简单地对模型进行贴图显然已经不能满足观众的视觉需求,法线贴图在大型三维游戏、影视作品和艺术创作等诸多领域中扮演着越来越重要的角色。法线贴图使三维建模得到了飞跃性的发展,为创作更加优秀的三维数字画面提供了极其重要的前提条件。在未来也会更加地为人们所重视并得到进一步地发展。

[1]尚冰. 浅谈中国高校的三维动画教学模式[J]. 科技传播,2014(8).

[2]张云苑. 3D游戏中法线贴图技术的数学方法[J]. 电脑知识与技术,2011(7).

[3]周飞. 法线贴图技术在次世代游戏图像中的原理及应用[J]. 湖北经济学院学报,2012(9).

猜你喜欢
法线凹凸多边形
多边形的艺术
最易写错笔顺的字
椭圆法线定理的逆定理
启发教学之“法”
多边形内外角问题的巧解
消除凹凸纹理有妙招!
凹凸的爆笑生活
光的反射规律探究实验中的一些改进
春享陌上
三谈等轴双曲线的典型性质