1 / 14
文档名称:

unity3d贴图说明.docx

格式:docx   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

unity3d贴图说明.docx

上传人:yzhfg888 2016/4/12 文件大小:0 KB

下载得到文件列表

unity3d贴图说明.docx

相关文档

文档介绍

文档介绍:Unity3D 美术方面贴图我们都知道,一个三维场景的画面的好坏,百分之四十取决于模型,百分之六十取决于贴图,可见贴图在画面中所占的重要性。在这里我将列举一些贴图,并且初步阐述其概念,理解原理的基础上制作贴图,也就顺手多了。我在这里主要列举几种 UNITY3D 中常用的贴图,与大家分享,希望对大家有帮助。 01 首先不得不说的是漫反射贴图: 漫反射贴图 diffuse map 漫反射贴图在游戏中表现出物体表面的反射和表面颜色。换句话说,它可以表现出物体被光照射到而显出的颜色和强度。我们通过颜色和明暗来绘制一幅漫反射贴图,在这张贴图中,墙的砖缝中因为吸收了比较多的光线,所以比较暗,而墙砖的表面因为反射比较强,所以吸收的光线比较少。上面的这张图可以看出砖块本身是灰色的,而砖块之间的裂缝几乎是黑色的。刨去那些杂糅的东西,我们只谈明显的,漫反射贴图表现了什么? 列举一下,物体的固有色以及纹理,贴图上的光影。前面的固有色和纹理我们很容易理解,至于后面的光影,我们再绘制漫反射贴图的时候需要区别对待,比如我们做一堵墙,每一块砖都是用模型做出来的,那么我们就没有必要绘制砖缝,因为这个可以通过打灯光来实现。可是我们如果用模型只做了一面墙,上面的砖块是用贴图来实现,那么就得绘制出砖缝了。从美术的角度,砖缝出了事一条单独的材质带外,还有就是砖缝也是承接投影的,所以在漫反射图上,绘制出投影也是很有必要的,如下图: 没有什么物体能够反射出跟照到它身上相同强度的光。因此,让你的漫反射贴图暗一些是一个不错的想法。通常,光滑的面只有很少的光会散射,所以你的漫反射贴图可以亮一些。漫反射贴图应用到材质中去是直接通过 DiffuseMap 的。再命名规范上它通常是再文件的末尾加上“_d”来标记它是漫反射贴图。凹凸贴图 Bump maps 凸凹贴图可以给贴图增加立体感。它其实并不能改变模型的形状,而是通过影响模型表面的影子来达到凸凹效果的。再游戏中有两种不同类型的凸凹贴图,法线贴图( normalmap )和高度贴图(highmap) 。 Normal maps 法线贴图法线贴图定义了一个表面的倾斜度或者法线。换一种说法,他们改变了我们所看到的表面的倾斜度。法线贴图把空间坐标的参数( X,Y,Z )记录在像素中(R,G,B) ,上面的范例图就是这个意思。有两种制作法线贴图的方法: (用高模跟低模重叠在一起,把高模上的细节烘焙到低模的 UV 上, 这里需要低模有一个不能重叠的 UV ) 。(是用 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 是左一列的高度值; 两个向量