当前位置:文档之家› Unity 3D游戏场景设计实例教程 CHAPTER 4 Unity3D山体地形的制作

Unity 3D游戏场景设计实例教程 CHAPTER 4 Unity3D山体地形的制作


图 4-9 利用绘制高度工具绘制道路
利用绘制高度工具绘制的道路与山体底部的交接边缘过渡较硬,下面 我们继续利用地形柔化工具来进行平滑处理,让两侧的山体形成自然的起 伏过渡效果,如图 4-10 所示。
图 4-10 对道路进行柔化处理
柔化过的地形与之前相比虽然变得自然,但平台的道路显得过于刻板, 同时缺乏真实的地貌特征,所以我们要利用地形升降绘制工具对道路做进 一步的编辑和绘制,选择笔刷并设置笔刷大小和力度,然后对道路进行拉 升和降低的绘制操作,这里尽量将笔刷大小和力度调低,方便制作小幅度 的地形起伏变化,如图 4-11 所示。对于不满意的地表细节,我们可以反 复利用柔化工具进行处理。经过不断的绘制,最终我们得到了符合要求的 地形结构,如图 4-12 所示。
图 4-1 利用三维软件制作的大型山地场景
利用游戏引擎编辑器制作场景地形其实分为两大部分—地表和山体, 地表是指游戏虚拟三维空间中起伏较小的地面模型,山体则是指起伏较大 的山脉模型。地表和山体是对引擎编辑器所创建同一地形的不同区域进行 编辑制作的结果,两者是统一的整体,并不是对立存在的。
引擎地图编辑器制作山脉的原理是将地表平面进行垂直拉高形成突出 的山体效果,这种拉高的操作如果让相邻地表高度差过大,就会出现地表 贴图拉伸撕裂严重的现象,所以地形山脉用来制作远景连绵起伏的高山效 果会非常好,如果要制作高耸的山体往往要借助 FORE 于三维模型才能实 现。如图 4-2 所示,场景中海拔过高的山体部分利用三维模型来制作,然 后将模型坐落在地形山体之上,两者相互配合实现了很好的效果。
图 4-11 绘制地形细节
图 4-12 绘制完成的地形效果
完成了地形模型的制作后,我们开始添加绘制地表贴图。在 Inspector 面板的地形绘制模块中选择 Paint Texture 工具,激活后除了常规的笔刷 设置外还会出现 Textures 选项,单击 Edit Textures 按钮,通过 Add Texture 命令添加地表贴图,在弹出的面板中可以选择想要添加的贴图纹理、 平铺尺寸以及偏移距离,如图 4-13 所示。
图 4-4 创建项目面板
接下来通过 Terrain 菜单下的 Create Terrain 命令创建默认地形, 然后通过 Terrain 菜单下的 Set resolution 命令来设置地形的属性参 数,这里我们将地形的长和宽设置为 1000,地形高度设置为 200,其他 参数保持默认,地形高度的设置会影响后面导入黑白地势高度图的整体高 度比例,然后单击 Set Resolution 按钮来保存设置,如图 4-5 所示。
在实际游戏制作中,在地形的基本设置结束后,我们通常会导入一张 黑白地势高度图,黑白地势高度图是指利用黑白灰像素来定位地形起伏高 度的地势图,通过导入地势图可以创建出大致的地形,便于从宏观把握地 形的整体区域结构、位置和走势,为下一步绘制地形细节打下基础,相对 于直接绘制地形节省了大量的制作时间。地势高度图通常利用 PS 等二维 图像软件来进行绘制,图像中由黑到白的像素变化表示地形凸起的高度变 化,图像的尺寸越大,包含像素越丰富,最后生成的地形细节也越多,地 势高度图必须要储存为Raw格式。然后通过Unity编辑器Terrain菜单下的 Import Heightmap命令来导入高度图,如图 4-7 所示,图中右侧为导入 的黑白地势高度图。
图 4-8 对地形进行柔化处理
柔化笔刷工具可以让地形起伏趋于平滑,对于不想要的地形细节,可 以通过笔刷反复柔化并抹平。接下来利用绘制高度工具(Paint Height) 在地表山脉之间绘制一条平坦的道路,将绘制高度设置为 30,选择笔刷并 设置笔刷大小和力度,然后按住鼠标左键进行拖曳绘制,如图 4-9 所示。
图 4-2 利用三维模型制作衔接的效果,如图 4-3 所示,如果让 山体模型直接坐落在海水中,那么模型与水面相接的地方会非常生硬,利 用起伏的地形包围住山体模型,这样就能利用地表的过渡与水面进行完美 衔接。
图 4-3 山体模型和水面之间利用地形衔接过渡
在创建地形之前,我们首先要在 Unity 中建立场景项目,单击 Unity 文件(File)菜单选择 New Project,在弹出窗口的 Create New Project 选项卡下,可以选择新建项目的路径位置,下面的 Import the following packages 窗口可以选择导入 Unity 为我们提供的预置资源包,包括角色控 制器、预置天空盒、预置水系、光效和粒子等,可以按照自己的需要选择导入, 也可以全部导入,在进入 Unity 编辑器后我们还可以继续添加导入,最后我 们单击 Create 按钮就完成了新的项目场景的创建,如图 4-4 所示。
4.1 地形的建立 4.2 利用笔刷工具编辑地形 4.3 地表贴图的绘制 4.4 添加植物模型 4.5 制作天空盒子 4.6 为场景添加光影照明
三维游戏引擎成熟化以前,在早期的三维游戏制作中,游戏场景中所 有美术资源的制作都是在三维软件中完成的,除了场景道具、场景建筑模 型以外,甚至包括游戏中的地形山脉都是利用模型来制作的,而一个完整 的三维游戏场景包括众多的美术资源,导致在制作时会产生多边形面数巨 大的模型,如图 4-1 所示,这样一个场景用到了 15 万之多的模型面数, 不仅导入游戏的过程十分繁琐,而且制作过程中三维软件本身就承担了巨 大的负载,经常会出现系统崩溃、软件跳出的现象。
图 4-5 设置地形参数
然后我们通过 Terrain 菜单下的 Flatten Heightmap 命令将地形 在引擎编辑器中的空间位置整体抬高,这样做是为了能制作出低于地形水 平面的凹陷地表效果,将 Height 的值设定为 50,单击 Flatten 按钮执 行设置,如图 4-6 所示。
图 4-6 设置地形水平高度
图 4-7 利用地势高度图生成地形
由于地势高度图存在的细节较多,被创建出来的地形表面太不规则,下 面我们要通过 Inspector 面板中的地形柔化工具(Smooth Height)对地 形进行整体光滑过渡处理,在面板中选择合适的笔刷,设置好笔刷的大小和 力度,然后对地形进行绘制操作,如图4-8所示。
相关主题