法线贴图

合集下载

3D游戏常用技巧NormalMapping(法线贴图)原理解析——基础篇

3D游戏常用技巧NormalMapping(法线贴图)原理解析——基础篇

3D游戏常⽤技巧NormalMapping(法线贴图)原理解析——基础篇1、法线贴图基本概念 在制作3D游戏时,常常遇到这样⼀个问题:⼀个平⾯,这个平⾯在现实中并不是⼀个“平”⾯,例如砖墙的表⾯带有⽯质浮雕等等。

这种情况下如果只是简单的做⼀个平⾯,则让⼈感觉严重失真,如图1所⽰;⽽如果⽤很密集的三⾓形去表⽰这类略有凹凸的表⾯,则性能上⼤⼤下降。

研究⼈员发现,⼈眼对物体的凹凸感觉,很⼤程度上取决于表⾯的光照明暗变化,如果能通过⼀张贴图在⼀个平⾯上表现出由凹凸造成的明暗变化,则可以让⼈眼感觉这个平⾯是凹凸不平的(虽然这个平⾯还是平的)。

法线贴图正是为了这个⽬的⽽产⽣的。

图1 不同细节程度的蜡烛 准确的说,法线贴图是Bump Mapping(凹凸贴图)的其中⼀种。

第⼀个Bump Mapping由Blinn在1978年提出,⽬的是以低代价给予计算机⼏何体以更丰富的表⾯信息。

30年来,这项技术不断延展,尤其是计算机图形学成熟以后,相继出现了不少算法变体,法线贴图就是其中很重要的⼀种。

研究⼈员对法线贴图进⼀步改进,出现了Parallax Mapping(视差贴图), Relief Mapping等技术,实现了更逼真的效果。

本⽂仅针对法线贴图进⾏介绍。

⼀条法线是⼀个三维向量,⼀个三维向量由x, y, z等3个分量组成,在法线贴图中,把(x, y, z)当作RGB3个颜⾊的值存储(如图2),并将其每个分量映射到[-1, 1]。

例如,对于x, y, z各有8位的纹理,[0, 128, 255]表⽰法向量(-1, 0, 1)。

图2 利⽤彩⾊通道存储法线贴图2、切线空间 法线贴图中存储的法线最初是定义在世界空间中,但在实际中,这种⽅式很少见,因为只要物体移动,法线贴图则不再有效。

另⼀种⽅式就是将法线存储在物体的局部空间中,物体可以进⾏刚体变换(平移,旋转,缩放),法线贴图依旧有效,但是这种⽅法并不能应对任何⽅式的变换,并且法线贴图不能在不同物体进⾏复⽤,增加了美⼯的负担。

如何通过Blender制作切线空间法线贴图

如何通过Blender制作切线空间法线贴图

如何通过Blender制作切线空间法线贴图切线空间法线贴图(Tangent Space Normal Map)在游戏开发和计算机图形学中扮演着重要的角色。

它能够给模型带来更加真实的光照效果,提升游戏或渲染的视觉质量。

在本教程中,我们将介绍如何使用Blender软件来制作切线空间法线贴图。

首先,在打开Blender后,我们需要准备一个基础的模型。

可以通过导入一个OBJ文件或者手动创建一个简单的模型来进行实践。

在这个教程中,我们将以一个简单的立方体为例。

在你的3D视图中,选择你的模型并按Tab键进入编辑模式。

然后选择一个面,你可以使用鼠标右键点击来选择。

接下来,按U键并选择“Unwrap”选项,或者通过菜单栏选择“UV”,再选择“Unwrap”。

这将把选择的面展开到UV编辑器中的一个平面上。

接下来,我们需要在这张平面图上绘制纹理。

在UV编辑器中,你可以使用各种绘画工具来添加颜色、纹理和细节。

绘制完成后,我们需要生成切线空间法线贴图。

首先,在属性面板中选择“Render Properties”标签,然后将“Cycles Render”切换为“Blende r Render”。

接下来,在属性面板中选择“Textures”标签,然后点击“New”按钮创建一个新的纹理。

选择“Image or Movie”并点击“Open”按钮导入你之前绘制的纹理图片。

现在,在纹理选项卡中,选择“Mapping”子选项卡,并将“Coordinates”选项更改为“UV”。

这样Blender就会使用之前创建的UV 布局来映射纹理。

回到属性面板,在“Texture”选项卡中,找到“Influence”子选项卡。

在“Geometry”部分,勾选“Normal”,并在下方的“Normal Map”部分选择“Tangent”.现在,你可以在3D视图中观察到切线空间法线贴图的实际效果。

你可以尝试调整一些参数,如强度或颜色,来获得你想要的效果。

zbrush法线生成高度

zbrush法线生成高度

ZBrush法线生成高度简介在3D建模和纹理绘制中,法线贴图是一种常用的技术,它可以为低多边形模型赋予高分辨率的细节效果。

而ZB r us h是一款功能强大的数字雕刻软件,具备非常出色的法线生成能力。

本文将介绍如何使用Z Br us h生成高度图。

步骤一:模型准备在开始使用Z Br us h生成法线贴图之前,我们首先需要准备一个低多边形(低模)的模型。

这个模型应该是经过U V展开的,并且在任何细节上已经达到了最佳状态。

确保模型没有显著的缺陷或变形。

步骤二:导入模型到Z B r u s h打开ZB ru sh软件,并导入我们准备的低模模型。

在工具栏中选择“导入”按钮,然后选择我们的模型文件。

待软件导入成功后,我们就可以开始生成法线贴图了。

步骤三:细节雕刻在进行法线生成之前,我们可以使用Z Bru s h的雕刻工具对模型进行细节雕刻。

通过调整笔刷的大小、强度和形状,我们可以在低模上加入各种细节,例如纹理、皱纹、皮肤毛孔等。

记住,这些细节将会在法线贴图中体现出来。

步骤四:AU V或P U V拆分在生成法线贴图之前,我们需要对模型进行A UV或P U V拆分。

这是为了将模型的U V坐标重新映射,确保细节能够正确地传递到法线贴图中。

在Z Br us h中,我们可以通过选择“工具”菜单下的“多边形”子菜单,找到“A UV或P UV拆分”选项并进行操作。

步骤五:生成法线贴图完成了拆分后,我们就可以开始生成法线贴图了。

在Z Br us h的“工具”菜单中,选择“法线贴图”选项,然后点击“生成”按钮。

在弹出的对话框中,我们可以根据需要调整一些参数,例如法线贴图的分辨率、投射面角度等。

点击“生成”按钮后,Z Bru s h将会自动为我们生成法线贴图。

步骤六:导出法线贴图法线贴图生成完成后,我们需要将其导出。

在ZB ru sh的“工具”菜单中选择“法线贴图”选项,然后点击“导出”按钮。

选择合适的文件路径和文件名,并确定导出的格式为常用的图像格式(例如PNG或T GA)。

3D游戏中法线贴图技术的应用

3D游戏中法线贴图技术的应用

3D游戏中法线贴图技术的应用/view-1 法线贴图的原理一个表面的凹凸信息可以通过每个点的法线向量在RGB通道中记录并保存下来。

使用贴图的时候根据记录的法线向量来实现视觉上凹凸效果。

法线贴图的颜色看起来有些奇怪,这是法线贴图的RGB值取得并不是颜色,而是每个点的法线向量的三个分量,一个三维向量由X、Y、Z等3个分量组成,以这3个分量当作红绿蓝3个颜色的值存储。

2 法线贴图的应用以及存在的问题使用法线贴图可以将高精度模型的细节转换为一张图,然后将其应用在低多边形的模型上,通过渲染以实现所要表现的细节,这大幅减少了实际需要计算的模型面数,加快了显示和渲染的速度。

我们除了通过计算高精度模型的凹凸细节和低精度模型之间的差值来获取法线贴图外,还可以使用PHOTOSHOP软件,按照法线贴图的颜色来制作,但这种通过绘制的方法得到的法线贴图,并不准确,在游戏模型的制作中用的不多,所以得到法线贴图的最常用方式还是通过高精度模型与低精度模型的计算而得到的。

在使用法线贴图时,我们都知道视角接近水平时法线贴图的缺点很明显,法线贴图只是改变了的表面上的光照结果,并没有像置换贴图那样实际改变模型的形状,这给游戏模型的制作过程中带来的具体问题就是:在模型边缘处有着明显的接缝,接缝的部分无法让模型产生所谓“真正”的细节。

另一个方面,法线贴图也无法实现自身内部的遮挡,不能够有效解决解决更大的凹凸情况,在表现平面上凹凸起伏较大的场景时效果不佳,在游戏制作中,它只能用在对遮挡关系不敏感、凹凸起伏不大的场景中。

3 法线贴图与视差贴图的关系为了解决法线贴图弊端,在法线贴图的基础上出现了新的视差映射贴图技术。

视差映射贴图在控制纹理的技术上有了进一步提高,打开它的阿尔法通道,你会看到在阿尔法通道中除了储存有与法线贴图相同的信息外,还有通过饱和度来记录表面凹凸高度信息的功能,这一点是法线贴图所不具备的。

由于在阿尔法通道中记录有表面凹凸高度的信息,这样就可以实现一个表面前部的凹凸纹理能够遮蔽到后面的纹理,这样就具有更为符合实际情况的凹凸效果。

6法线贴图各种生成方式

6法线贴图各种生成方式

次世代游戏各类贴图详解“材质”用来指定物体的表面或数个面的特性,它决定这些平面在着色时的特性,如颜色,光亮程度,自发光度及不透明度等。

制定在材质上的图形称为“贴图”。

材质贴图(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-21、法线贴图形成原理1)模型面受光度的判断在绘图程序里一个模型平面的受光度如何来判断呢?如果以0-1的程度来算,0是最暗,1是最亮的话,两个向量长度是1的向量相乘的结果就决定了这个平面的亮度。

3Dmax模型优化技巧:增加细节与提升性能

3Dmax模型优化技巧:增加细节与提升性能

3Dmax模型优化技巧:增加细节与提升性能3Dmax是一款强大的三维建模与渲染软件,它被广泛应用于电影、游戏、建筑等领域。

在使用3Dmax进行建模时,我们可能会遇到一些模型过于复杂导致性能下降的问题。

本文将介绍一些优化技巧,以帮助提高模型的性能,并增加细节效果。

一、减少面片数量1. 删除无用面片:在建模过程中,会产生一些无用的面片,如隐藏的背面、无法看到的内部面片等。

通过删除这些面片,可以减少模型的面片数量。

2. 合并面片:对于一些相邻的面片,可以选择将它们合并成一个面片,以减少面片数量。

使用3Dmax中的“合并”功能实现。

二、使用贴图代替细节1. 使用法线贴图:法线贴图是一种常用的技术,通过纹理映射的方式在模型表面添加细节效果,而不需要增加额外的面片。

首先,选择需要添加细节的面片,在3Dmax中的“编辑材质”界面中添加法线贴图。

2. 使用置换贴图:置换贴图是一种更高级的技术,可以使模型表面出现更多细节。

通过将低面片模型和高面片模型的细节区域进行匹配,并在渲染时根据高面片模型生成细节效果。

三、使用LOD模型LOD(Level of Detail)模型是一种根据观察距离不同而切换模型细节的技术。

在远离观察者时,使用低面片的LOD模型,而在接近观察者时,切换回原始模型以展示更多细节。

这样可以在保持模型性能的同时,提供更好的视觉效果。

四、使用简化网格简化网格是一种将高面片模型转换为低面片的技术。

通过减少非关键细节,保留模型的主要特征,可以极大地提高模型的性能。

在3Dmax中,有一些插件如ProOptimizer可以实现网格简化。

五、减少贴图耗费贴图是模型渲染过程中占用较多内存的部分。

为了减少内存占用,可以采用以下方法:1. 压缩贴图:将贴图进行压缩,以减小文件大小和内存占用。

2. 使用纹理压缩格式:选择适当的纹理压缩格式,如DDS格式,可以减少内存占用。

六、使用实例化技术实例化技术可以在场景中使用相同的对象实例,以减少模型的重复性和内存占用。

pbr金属材质参数

pbr金属材质参数

pbr金属材质参数PBR(Physically Based Rendering)金属材质参数是一组用于定义金属材质外观的参数,采用物理模拟的方法,使得渲染出的图像更加真实、逼真。

PBR金属材质是基于能够反射光线的金属材质的渲染模型。

PBR金属材质参数包括以下几个重要的参数:颜色、粗糙度、金属度、环境贴图和法线贴图等。

下面将对每个参数进行详细的介绍。

1.颜色:颜色参数定义了材质的基础颜色,通常用RGB(红绿蓝)值来表示。

PBR金属材质模型允许基础颜色具有不同的反射性质,而不仅仅是简单的漫反射颜色。

2.粗糙度:粗糙度参数定义了材质表面的光滑程度。

粗糙度值越小,表面越光滑、反射光越集中。

粗糙度值越大,表面越粗糙、反射光越散射。

粗糙度值可以通过调整材质的纹理来改变。

3.金属度:金属度参数定义了材质是否具有金属质感。

金属材质具有高度反射的特性,而非金属材质则通常具有较低的反射性。

金属度的取值范围是从0到1,其中0表示非金属材质,1表示完全是金属。

4.环境贴图:环境贴图是一种用于模拟环境光照的技术,可以提供比简单的漫反射更加真实的光照效果。

环境贴图通常采用球谐函数或者立体贴图进行表示,基于材质在不同方向上对环境光的反射情况。

5.法线贴图:法线贴图是一种用于增加材质细节的技术,通过在模型表面附加一张法线贴图来模拟微小的凹凸表面细节。

法线贴图中的RGB值表示法线的方向。

除了这些基本的PBR金属材质参数之外,还有其他一些参数可以进一步调整材质的外观,例如:置换贴图、高度贴图、透明度、自发光、透射率等。

总之,PBR金属材质参数是一组用于定义金属材质外观的参数,通过物理模拟的方法,使得渲染出的图像更加真实、逼真。

这些参数包括颜色、粗糙度、金属度、环境贴图和法线贴图等,通过调整这些参数的值,可以获得不同的材质外观效果。

PBR金属材质技术的引入,使得计算机图形学领域的渲染质量得到了极大的提升,使得虚拟世界更加逼真、真实。

法线贴图(Normal_Maps)在Cinema_4D中的应用

法线贴图(Normal_Maps)在Cinema_4D中的应用

在这个教程中我将讲述在Cinema 4D中如何生成和使用法线贴图(Normal Maps)。

法线贴图现在已经在主流三维平台上被广泛应用。

Cinema 4D R9.5版本开始支持法线贴图的功能。

使用法线贴图可以在不增加多边形面数的情况下增加模型细节,这样做的好处是可以节省系统资源并且渲染速度快(相对于使用置换贴图(Displacement Maps))。

法线贴图与置换贴图有一些区别,但是它和凹凸贴图(Bump Maps)有点类似。

凹凸贴图(Bump Maps)只能影响物体表面细节,而法线贴图(Normal Maps)则不同,它只有一件事做不了,就是不能改变物体的轮廓(Silhouette),那只有置换贴图(Displacement Maps)才能做到。

通常情况下我们会联合使用法线贴图(Normal Maps)和置换贴图(Displacement Maps),也就是先使用置换贴图(Displacement Maps)改变物体的实际轮廓再使用高分辨率的法线贴图(Normal Maps)为物体添加更多的细节。

据我所知,Weta工作室在电影《指环王》中应用了这种技术,在影片《The Cave Troll》中法线贴图技术展现了令人惊叹的细节。

如今,这项技术已经广泛应用于游戏行业,如Doom 3和半条命(Halflife)2。

生成法线贴图(Normal Maps)的过程本质上是一个艺术创作的过程。

比如说你需要生成一个法线贴图(Normal Maps)来创作一个高分辨率模型的过程。

一般情况下,我们通常先制作一个低分辨率模型,然后对它应用法线贴图(Normal Maps)。

更多的三维艺术家使用Zbrush来制作高分辨率模型,因为它拥有强大的雕刻工具,并能轻易地处理上百万的多边形。

我不用Zbrush,因为用其它的方法也能获得高模物体。

在这个教程中我将叙述如何生成法线贴图(Normal Maps)并会给大家一些应用实例。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

我们都知道,一个三维场景的画面的好坏,百分之四十取决于模型,百分之六十取决于贴图,可见贴图在画面中所占的重要性。

在这里我将列举一些贴图,并且初步阐述其概念,理解原理的基础上制作贴图,也就顺手多了。

我在这里主要列举几种UNITY3D中常用的贴图,与大家分享,希望对大家有帮助。

01首先不得不说的是漫反射贴图:漫反射贴图diffuse map漫反射贴图在游戏中表现出物体表面的反射和表面颜色。

换句话说,它可以表现出物体被光照射到而显出的颜色和强度。

我们通过颜色和明暗来绘制一幅漫反射贴图,在这张贴图中,墙的砖缝中因为吸收了比较多的光线,所以比较暗,而墙砖的表面因为反射比较强,所以吸收的光线比较少。

上面的这张图可以看出砖块本身是灰色的,而砖块之间的裂缝几乎是黑色的。

刨去那些杂糅的东西,我们只谈明显的,漫反射贴图表现了什么?列举一下,物体的固有色以及纹理,贴图上的光影。

前面的固有色和纹理我们很容易理解,至于后面的光影,我们再绘制漫反射贴图的时候需要区别对待,比如我们做一堵墙,每一块砖都是用模型做出来的,那么我们就没有必要绘制砖缝,因为这个可以通过打灯光来实现。

可是我们如果用模型只做了一面墙,上面的砖块是用贴图来实现,那么就得绘制出砖缝了。

从美术的角度,砖缝出了事一条单独的材质带外,还有就是砖缝也是承接投影的,所以在漫反射图上,绘制出投影也是很有必要的,如下图:没有什么物体能够反射出跟照到它身上相同强度的光。

因此,让你的漫反射贴图暗一些是一个不错的想法。

通常,光滑的面只有很少的光会散射,所以你的漫反射贴图可以亮一些。

漫反射贴图应用到材质中去是直接通过DiffuseMap的。

再命名规范上它通常是再文件的末尾加上“_d”来标记它是漫反射贴图。

凹凸贴图Bump maps凸凹贴图可以给贴图增加立体感。

它其实并不能改变模型的形状,而是通过影响模型表面的影子来达到凸凹效果的。

再游戏中有两种不同类型的凸凹贴图,法线贴图(normalmap)和高度贴图(highmap)。

Normal maps法线贴图法线贴图定义了一个表面的倾斜度或者法线。

换一种说法,他们改变了我们所看到的表面的倾斜度。

法线贴图把空间坐标的参数(X,Y,Z)记录在像素中(R,G,B),上面的范例图就是这个意思。

有两种制作法线贴图的方法:1.从三维的模型渲染出一张法线贴图(用高模跟低模重叠在一起,把高模上的细节烘焙到低模的UV上,这里需要低模有一个不能重叠的UV)2.转换一张高度贴图成为一个法线贴图。

(是用NVIDIA的PS插件来转换一张图成为法线贴图)Height maps高度贴图什么是HeightMap呢?所谓高度图实际上就是一个2D数组。

创建地形为什么需要高度图呢?可以这样考虑,地形实际上就是一系列高度不同的网格而已,这样数组中每个元素的索引值刚好可以用来定位不同的网格(x,y),而所储存的值就是网格的高度(z)。

我们在这里叙述高度图,其实也是为了更好的绘制法线贴图,很多情况下我们的法线贴图只能在已有的漫反射贴图作为素材进行绘制,这样就是需要由一个HeightMap转换成法线贴图的一个过程,明白了这个原理,做起来也就可以更好的驾驭其效果。

高度贴图是一种黑白的图像,它通过像素来定义模型表面的高度。

越亮的地方它的高度就越高,画面越白的地方越高,越黑的地方越低,灰色的在中间,从而表现不同的地形。

当然在UNITY中也是有HightMap出现的,比如在Terrain菜单中,就有导入和导出HightMap 的命令。

高度贴图通常是在图形处理软件中绘制的。

他们通常没有必要渲染这些,再DOOM3游戏中高度贴图是被转换成法线贴图来使用的。

使用高度贴图仅仅是为了适应简单的工作流程。

高度贴图通常通过“Heightmap”函数来调用到3D软件中去的,我们通常再文件名后面加一个"_h"来标示它。

Normal maps vs. height maps法线贴图和高度贴图一般来说,Normal Map来自于Height Map。

具体生成的方法如下:把Height Map的每个像素和它上面的一个像素相减,得到一个高度差,作为该点法线的x值;把Height Map的每个像素和它右边的一个像素相减,得到一个高度差,作为该点法线的y值;取1作为该点法线的z值。

推导过程如下:x方向,每个像素和它下面的一个像素相减,得到向量<1, 0, hb - ha>,其中ha是该像素的高度值,hb是下一行的高度值;y方向,每个像素和它左边的一个像素相减,得到向量<0, 1, hc - ha>,其中ha是该像素的高度值,hb是左一列的高度值;两个向量Cross,得到简单来说,就是取两个方向的切线向量,对它们做Cross得到该点的法线向量。

还有另外一种做法,是根据每个象素四边的点计算,而该点象素本身不参与计算。

没有试过,不知道哪种好一些。

而且我觉得这种计算只适合于单块的HeightMap、NormalMap,像是DOOM3中的NormalMap 就无法由HeightMap计算出来了。

所以最好还是在美工建模的时候同时生成NormalMap和HeightMap而不是利用HeightMap生成NormalMap。

DOOM3游戏引擎可以把法线贴图和高度贴图合成在一张凸凹贴图上。

通常我们绘制一张具有足够细节的高度贴图要比建立一个足够细节的模型然后渲染成相应的法线贴图要实际的多。

法线和高度的凸凹贴图可以通过Addnormals函数来合并到一种材质中。

毫无疑问,高度贴图大多数游戏引擎中出现的不多。

他们只是给电脑一种方法来计算曲面法线当使用动态灯光的时候。

这说明实际上,一张高度贴图被转换成一张法线贴图,以此可以计算出相邻两块不同高度的位置之间的倾斜面。

高度贴图永远不能像法线贴图这样具有足够的细节,这是被肯定的。

很明显只有灰度的高度贴图并不能很好的表现应该有的细节,因为它是黑白的,RGB颜色就会遭到浪费,并且因此你只能只用256层级的强度。

相比较来言法线贴图的每一个图像通道都可以利用到,显而易见,法线贴图能够更好的来表现凸凹。

Specular maps高光贴图什么是高光贴图?高光贴图是用来表现当光线照射到模型表面时,其表面属性的.(如金属和皮肤、布、塑料反射不同量的光)从而区分不同材质.高光贴图再引擎中表现镜面反射和物体表面的高光颜色。

材质的反光程度就越强。

(强弱度度是指,如果将这张Specularmap去色成为黑白图,图上越偏向RGB0,0,0,的部分高光越弱,越偏向RGB255,255,255的部分高光越强.)我们建立高光贴图的时候,我们使用solid value来表现普通表面的反射,而暗的地方则会给人一种侵蚀风化的反射效果。

(你头脑中要有很清晰的物件不同材质之间高光强弱的关系:高光最强的是那个部分,最弱的是那个部分,处在中间级别的是哪些部分.一般来说:金属的高光>塑料>木头>皮肤>不料,但是这个只是一个大致的分类,不要把它作为高光的指导.有时,你处理的物件可能是如上图一样,绝大部分都是同一类型材质的,比如布料,这时你也要小心的去分辨不同材料之间的高光强度的区别.切记,在这个阶段一定要保持清晰的头脑,不要急着去添加那些细节.在大的强弱关系还没有决定之前,就去添加那些细节会影响你的判断,而最后得到一张层次不清晰很“花”的高光.很多时候,我们容易范这样的毛病,就是将物件的高光处理的太过单一.)上面的贴图有个问题,砖的表面与砖缝相比将会有比较少的反光,但是砖缝的位置其实应该几乎是没有反光的。

(确定好整体高光的强弱之后,就开始在高光上叠加细节:比如金属划痕,金属倒角高光,锈渍周围的裸金属亮点,油渍,灰尘等.这时,你会发现,如果你在Diffusemap的绘制过程中,保留了纹理,划痕或以上提到过的细节的图层,你只需要将Diffusemap中的相应图层拖曳到Specularmap中,然后根据这些细节应该反映出来的高光强度调节就可以了.So,良好的图层管理习惯是非常必要的.)颜色再高光贴图中将会用来定义高光的颜色,组成砖的材料应该是一些沙子,他们将会反射出一些微笑的具有质感的光,这些在上面的例子中已经展示了出来。

(为了丰富高光贴图,我们有很多方法:做局部高光的细微变化,添加纹理(这个纹理要和材质本身的纹理区分开),叠加彩色图层(谨慎用))高光贴图是通过Specularmap函数调用到引擎中的,通常我们再贴图的后面加一个"_s"来区别它。

凸凹贴图可以通过高光贴图来改进成相当漂亮的贴图。

(要记住的是,单单凭借高光贴图是无法充分的表现材质特性的,只有Didffuse,Normal,和Specular三张配合才能充分的表现材质特性.)在UNITY中,高光贴图通常放在漫反射贴图的透明通道里,我们是用相关的SHANDER就可以达到高光的效果。

AO贴图Ambient Occlusiont简称AO贴图,中文一般叫做环境阻塞贴图。

是一种目前次时代游戏中常用的贴图技术,很多朋友将其与全局光烘焙贴图混淆,其实二者本质是完全不同的。

首先,我们从简单的AO贴图的算法来讲:AO贴图的计算是不受任何光线影响的,仅仅计算物体间的距离,并根据距离产生一个8位的通道。

如下图所示,计算球形物体的AO贴图的时候,程序使每个像素,根据物体的法线,发射出一条光,这个光碰触到物体的时候,就会产生反馈,比如球右下方的一些像素锁发射的光,碰触到了旁边的政法提,产生反馈,标记这里附近有物体,就呈现黑色。

、而球上方的像素所发射的光,没有碰触到任何物体,因此标记为白色。

简单了解算法后,大家就明白,全局光的烘焙师模拟GI(全局光)所呈现的阴影效果,而AO 贴图时模拟模型的各个面之间的距离。

二者性质是完全不一样的。

我举例简单对比AO贴图和GI阴影贴图的区别。

根据这个低模,右边计算出的AO贴图的黑白关系,是根据物体模型距离产生的,不存在任何光源效果的影响,边缘部分等比较密集的结构,正确的产生了深色,强化了模型结构,在游戏引擎中,与其他通道贴图混合,可以提升游戏的效果。

右边的是全局光烘焙贴图的效果,是用MAX的天光计算结果进行烘焙,其阴影效果是模拟自然光线下的模型光影关系,在有结构接近的区域(比如裤袋、袖口)由于GI得光线跟踪计算会使其弱化,符合自然界光线效果,但是不是游戏所需要的效果。

在unity中,我们有两个地方可以调整AO,一个是在光照贴图渲染器中,有一个调整AO的参数,这个是确实渲染了一层AO。

还有一个就是通过摄影机特效,有一个屏幕空间环境阻塞的特效screen speace ambient occlusion(SSAO).这两个都可以实现部分的AO效果,有兴趣的朋友可以自己尝试一下。

相关文档
最新文档