快捷搜索:  汽车  科技

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)法线贴图是使用深度或表面变形为模型添加凹凸(立体)的效果,但不会让网格产生真实的变形。是一个2D图像纹理,它可以改变光线对网格的影响。法线贴图原理对于曲面,法线将是一条垂直于曲面切线的直线。所以定义法线是垂直于曲面切线接触点的直线。那么在3D空间中,如果曲面是平直的,那么法线就垂直于该平面的方向,所以这个垂直于平面的线或垂直方向就变成了法线。曲面是弯曲的,法线将是在某个点上与曲面相切平面垂直方向的直线。那么这和2D曲面上一样会在曲面上选择一个点,然后画个切面代替切线,这个平面刚好接触到曲面上的点,这就是我们的切面。然后一条代表方向的垂直线就变成了法线。

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(1)

转自 | MOREEDU Academy

订阅 | 010-86092062

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(2)

什么是法线

在2D空间中一个曲面可以是平面,对于一个平面来说法线是一条垂直于平面的线或者表示这个曲面的方向。也就是垂直于这个表面的线,代表了平面的方向也就是平面的法线。

对于曲面,法线将是一条垂直于曲面切线的直线。所以定义法线是垂直于曲面切线接触点的直线。

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(3)

那么在3D空间中,如果曲面是平直的,那么法线就垂直于该平面的方向,所以这个垂直于平面的线或垂直方向就变成了法线

曲面是弯曲的,法线将是在某个点上与曲面相切平面垂直方向的直线。那么这和2D曲面上一样会在曲面上选择一个点,然后画个切面代替切线,这个平面刚好接触到曲面上的点,这就是我们的切面。然后一条代表方向的垂直线就变成了法线

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(4)

法线贴图原理

法线贴图是使用深度或表面变形为模型添加凹凸(立体)的效果,但不会让网格产生真实的变形。是一个2D图像纹理,它可以改变光线对网格的影响

物体表面产生明暗变化的直接原因就是光线照射角度的不同,而法线就是模拟出高面数模型的光照信息。

而光照信息最重要的就是光入射方向与入射点的法线夹角。法线就是记录了这个夹角的相关信息。

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(5)

法线贴图可以被认为是一种更新更好的凹凸贴图。和凹凸贴图一样,对于法线贴图,你首先要知道,它的细节也都是假的。几何体上不会添加额外的分辨率。

最后,法线贴图虽然也是在模型表面创造了一种细节的错觉,但是它的实现方式和凹凸贴图不一样

如我们所知,凹凸贴图使用灰度值提供凹凸信息。而法线贴图使用RGB信息告诉3D软件每一个多边形(Polygon)表面法线的准确朝向。

这些表面法线的朝向(有时简称为法向),会告诉3D软件如何为多边形着色。最常用的是一种叫做切线空间法线贴图(Tangent Space Normal Map) 它呈现出混合的蓝色和紫色。

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(6)

示例讲解

我们的场景中已经充满了多边形物体,其中每个都可能由成百上千平坦的三角形组成。我们以向三角形上附加纹理的方式来增加额外细节,提升真实感,隐藏多边形几何体是由无数三角形组成的事实。

纹理确有助益,然而当你近看它们时,这个事实便隐藏不住了。现实中的物体表面并非是平坦的,而是表现出无数(凹凸不平的)细节。

例如,砖块的表面。砖块的表面非常粗糙,显然不是完全平坦的:它包含着接缝处水泥凹痕,以及非常多的细小的空洞。

如果我们在一个有光的场景中看这样一个砖块的表面,问题就出来了。下图中我们可以看到砖块纹理应用到了平坦的表面,并被一个点光源照亮。

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(7)

光照并没有呈现出任何裂痕和孔洞,完全忽略了砖块之间凹进去的线条;表面看起来完全就是平的。

我们可以使用specular贴图根据深度或其他细节阻止部分表面被照的更亮,以此解决部分问题,但这并不是一个好方案。我们需要的是某种可以告知光照系统给所有有关物体表面类似深度这样的细节的方式。

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(8)

每个fragment使用了自己的法线,我们就可以让光照相信一个表面由很多微小的(垂直于法线向量的)平面所组成,物体表面的细节将会得到极大提升。

这种每个fragment使用各自的法线,替代一个面上所有fragment使用同一个法线的技术叫做法线贴图(normal mapping)或凹凸贴图(bump mapping)。应用到砖墙上,效果像这样:

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(9)

你可以看到细节获得了极大提升,开销却不大。因为我们只需要改变每个fragment的法线向量,并不需要改变所有光照公式。

现在我们是为每个fragment传递一个法线,不再使用插值表面法线。这样光照使表面拥有了自己的细节

应用范围

法线贴图多用在CG动画的渲染以及游戏画面的制作上,将具有高细节的模型通过映射烘焙出法线贴图,然后贴在低端模型的法线贴图通道上,使其表面拥有光影分布的渲染效果

这样能大大降低表现物体时需要的面数和计算内容,从而达到优化动画和游戏的渲染效果。

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(10)

法线贴图是最近比较被关注的技术,也将成为以后CG领域的一大主流技术。

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(11)

法线贴图是一种显示三维模型更多细节的重要方法,它计算了模型表面因为灯光而产生的细节。这是一种二维的效果,所以它不会改变模型的形状,但是它计算了轮廓线以内的极大的额外细节。当你渲染动画受到时间限制时,它是极其有效的解决办法。

END

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(12)

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(13)

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(14)

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(15)

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(16)

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(17)

凹凸贴图怎么调数值(更新更好的凹凸贴图方式)(18)

猜您喜欢: