凹凸层可以控制对象的凹凸。凹凸是不增加多边形面数,而添加模型表面细节的一种好方法。
然而,凹凸是一个遮光效果,即仅改变表面的外观,而没有真正改变物体的实际形状(置换才能改变模型的形状)。
一、Map type :类型 。
第一种是普通的凹凸贴图,利用该贴图的从白到黑的(0-255)定义物体表面不同的遮光效果,从而定义不同的“高度”。
其他三种是Normal map 法线贴图不同类型。
法线贴图就是在原物体的凹凸表面的每个点上均作法线,通过RGB颜色通道来标记法线的方向,你可以把它理解成与原凹凸表面平行的另一个不同的表面,但实际上它又只是一个光滑的平面。对于视觉效果而言,它的效率比原有的凹凸表面更高,若在特定位置上应用光源,可以让细节程度较低的表面生成高细节程度的精确光照方向和反射效果。法线贴图是可以应用到3D表面的特殊纹理,不同于以往的纹理只可以用于2D表面。作为凹凸纹理的扩展,它使每个平面的各像素拥有了高度值,包含了许多细节的表面信息,能够在平平无奇的物体外形上,创建出许多种特殊的立体视觉效果。
下图右下角蓝色为法线贴图。
二、Texture Map:载入贴图文件。
三、Invert :翻转贴图。
四、Bump amount:强度值。为0表示的对象将不变。更高的值将产生更大的凹凸效果。凹凸强度是基于真正世界单位,其中单位取自c4d 单位的文件,如果C4D单位大小变化,则相应地更改。凹凸量值不能为负。
五、Bump delta scale:凹凸三角洲规模。此参数允许您控制的凹凸效果工作做一个柔软锐度。较高的值生成更清晰的过渡凹凸效果而较低的值生成柔和看凹凸效果。
【练习】
1、建立一个下面场景:
2、这是所用的木纹贴图。
3、建立一个VRAY标准材质
在DIFFUSE LAYER 调入木纹纹理。
4、勾选SPECULAR LAYER4,(1,2,3都行)做如下设置,增加反射。
5、因为木纹有纹理,不可能像镜子一样反射相同,所以在高光和反射添加处理过的木纹贴图,控制高光和木纹发射。
6、为木纹添加C4D的过滤器即可,调整如下转换成为灰色。
7、勾选BUMP凹凸层。添加处理过的木纹纹理图。
8、打上灯光和HDRI贴图,渲染如下:
------------------------------------------------------------------------------------------------------------------------------------------------------------
法线贴图多用在CG动画的渲染以及游戏画面的制作上,将具有高细节的模型通过映射烘焙出法线贴图,贴在低端模型的法线贴图通道上,使之拥有法线贴图的渲染效果,却可以大大降低渲染时需要的面数和计算内容,从而达到优化动画渲染和游戏渲染的效果。
什么是法线贴图技术呢?这是一种用来实现3D效果的一种技术,要想理解这种技术还请您听我慢慢道来。
我们知道,在游戏中经常会有这样的情况,就是一个平面——这个平面在现实中并不是一个“平”面,例如砖墙的表面带有石质浮雕等等。这样的情况如果要求游戏开发人员将复杂的3D细节都做出来是不现实的,因为即使不计较在建模时候的复杂度,过多的3D细节也同样会大量消耗显示芯片的性能,让游戏根本没有可玩性。
如何利用贴图实现凹凸效果呢?
可行的方法就是将这个平面用一个贴图覆盖,用贴图的纹理实现一定的凹凸效果。但是这种方法实现的效果并不是很好,因为如果视角一变化,看起来就会像一张简单的画有图案的平面了。
后来,聪明的游戏开发者想出了一种方法,就是在贴图过程中对贴图进行一定的处理,从而保证了在视角变换以后仍然保证有较为明显的凹凸效果。
光与影,法线贴图技术的物理学基础
我们知道,人之所以能够对景物看出立体感的主要原因是因为人有两只眼睛。两只眼睛看的景象是不同的,所以人们才能分辨出立体感来。但是,由于电脑的屏幕是一个平面,分辨3D效果就只能靠光影效果来实现了。
举个简单的例子,这就像我们画素描的时候,为了不让一个球体看起来像是一个圆圈,必须让球体的一些区域是亮的,一些区域是暗的。而且从亮部转向暗部的时候是一个均匀的按照物理模型特点的过渡,这样画出来的球体才像个球体,电脑为我们绘制的过程也是一样。
因为有明暗,我们才能将平面理解成立体
基于这个道理,我们就不难理解可以通过贴图局部的亮暗变化来实现假的3D效果。换一种说法就是说我们可以通过在贴图上的局部做一些亮暗的变化来做到一种假的3D效果。
光照因角度不同而呈现不同的明暗
那么如何实时的对贴图进行转换呢?如果要实现虚拟的光影变换,我们最起码需要知道在一个平面上真正的凹凸的情况,这样才能让显示芯片进行运算,生成一种假的凹凸的效果。
显然,记录真实的凹凸模型是得不偿失的——如果那样的话就没有任何意义了,我们需要用一种非常简单的方法来记录一个贴图的凹凸情况,于是就诞生了一种全新的方法,法线贴图技术。
接下来,我们再回到我们刚才谈到的法线贴图的话题上。
法线贴图就是记录了一个需要进行光影变换的贴图上的各个点的凹凸情况的贴图,显示芯片根据这个贴图的内容,来实时的生成新的有过光影变化的贴图,从而实现立体效果。
那么,究竟是怎样利用法线贴图记录一个平面或者说是一个贴图的凹凸情况呢?我们知道,物体表面产生明暗变化的直接原因,就是光线照射角度的不同,光线垂直于平面的地方就亮,光线斜射到平面的地方就暗,光线照不到的地方就更暗(应该是黑色,但是由于环境光照所以不会有阴影是真正的黑色)。
借色彩之值存法线之向,巧妙的存储
学过初中物理的朋友一定还都记得,表示光线射向平面的角度时通常使用光线和该点法线角度来表示。这也就意味着,如果我们将一个贴图上所有点的法线记录起来的话,就不难再利用这些信息实现后期的假的凹凸效果了。
记录这些法线的载体就被我们称为法线贴图。为什么称之为贴图呢?我们知道,一条法线是一个三维向量,一个三维向量由X、Y、Z等3个分量组成,于是人们想出了一个聪明的方法,就是以这3个分量当作红绿蓝3个颜色的值存储,这样的话就生成一张新的贴图了,这就是法线贴图的来历。
总之:红色通道控制左右方向的凹凸,绿色通道控制上下凹凸,蓝色通道控制的是整个模型的凹凸,所以一般法线贴图呈现蓝色为主。白色为模型原位置,灰色则是凹下去。
采用色彩通道存储法线向量
法线贴图其实并不是真正的贴图,所以也不会直接贴到物体的表面,它所起的作用就是记录每个点上的法线的方向。所以这个贴图如果看起来也会比较诡异,经常呈现一种偏蓝紫色的样子。
法线贴图的生成过程
Doom3中的一张纹理贴图和这张贴图对应的法线贴图
事实上,真正的法线贴图并不是记录贴图上每个点的法线的绝对角度,而是记录的是相对于平面的一个差值。这样的话,随着平面的3D变换都能够实现即时的法线运算了。
传统纹理压缩,法线贴图不再适用
采用法线贴图技术的优势就是利用很少的资源实现了效果非常好的凹凸效果,而且可以利用我们在开篇的时候提到的纹理压缩技术对法线贴图进行压缩,进一步节省资源。
前面的那张圆球图案的法线贴图
附录二:网游和次时代游戏的模型区别:
1、网游的大致步骤:模型+UV+贴图,现在主流的面数为1500+3000三角面,网游的贴图只有一张TGA的色彩贴图,有些带有透明的部分,在这张TGA上做出阿尔法通道,具体有公司而定。
2、次时代游戏模型大致步骤:高模+拓扑低模+UV+烘培法线贴图+AO贴图+纹理贴图 ,面数为1万左右。贴图有色彩贴图、高光贴图、自发光贴图、法线贴图、AO贴图等等。所以通过游戏引擎会更精细。