2.3.1 地形
在学习创建地形之前,我们要知道Unity中的地形制作工具并不能满足所有地形的需求,因为用地形工具创建的游戏地形只是对地面进行抬高和降低。当在创建一些复杂的地形时,有可能需要通过建模来制作,即配合模型使用,如通过建模软件制作拱桥、山洞等模型。也就是说,要想制作高复杂度、高精良度的地形,不要一味地认为使用Unity中的地形工具就能制作出游戏需要的全部效果,而是需要与模型进行配合才能得到合适的效果。
在“层级”面板中执行“创建>3D对象>地形”命令,即可在场景视图中创建一个基本的平面地形。然后在“层级”面板中双击创建的地形,让地形在场景视图中居中显示,如图2-53所示。
图2-53
选择创建的地形,在“检查器”面板中可以看到地形工具栏,如图2-54所示,接下来依次对地形工具栏中的工具进行讲解。
图2-54
技巧提示
由于Unity的版本比较多,因此创建地形的工具可能不完全相同,但是相应的功能不会有太大的变化,有可能只是调整了按钮和选项的位置。读者要灵活地对应自己的Unity学习地形部分。
1.创建相邻地形
如果要对当前地形进行扩展,那么就需要创建相邻地形。单击工具栏中的“创建相邻地形”按钮,然后在场景视图中滚动鼠标滚轮将地形缩小,这时地形周围显示出高亮的4个矩形线框,单击其中一个即可在该位置创建相邻地形,如图2-55所示。
图2-55
如果想要修改地形的大小等属性,那么可以单击工具栏中的“地形设置”按钮进行设置,如图2-56所示。
图2-56
重要参数介绍
像素误差: 贴图与生成地形之间映射的精度,数值越大,精度越低,渲染成本越低。
投射阴影: 是否接收阴影。
绘制: 是否绘制树木、草和细节等内容。
树距离: 超过指定距离外的树不会被显示。
速度: 风吹草的速度。
地形宽度: 地形的宽。
地形长度: 地形的长。
地形高度: 地形的高。
2.使用地形刷
当地形的基本参数设置完成后,就可以继续在地形中绘制高山、低谷等内容。单击工具栏中的“绘制地形”按钮即可切换到地形编辑界面,展开其下拉列表,其中包含了不同功能的画笔,如图2-57所示。
图2-57
Raise or Lower Terrain(抬高或降低地形)
该功能主要用于对地形进行抬高和降低。先选择一个笔刷样式并确定其大小,然后在场景视图中的地形上进行单击,可一定程度地抬高地形;在单击的同时按住Shift键可降低地形。按住鼠标左键不放并在地形表面进行移动,可以将移动后的表面进行抬高,如图2-58所示。如果希望降低抬高的速度,那么可以降低笔刷的不透明度。
图2-58
技巧提示
这里可能会发现一个现象,抬高的地形是可以降低的,但是没有抬高的地形(平面)却不能降低,这就涉及了地形的高度问题。系统默认的地形高度为0,而最低高度也是0,所以我们不能在平面中降低地形,需要先将地形的整体高度抬高,再局部调节地形。关于如何整体抬高地形,需要使用Set Height(设置高度)画笔工具,后面会对其进行讲解。
Paint Holes(绘制坑洞)
该功能主要用于在地形中进行坑洞的绘制。先选择一个笔刷样式并确定其大小,然后在场景视图中的地形上进行单击,可以看到绘制区域的地形网格已经被遮罩删除,如图2-59所示。
图2-59
Paint Texture(绘制纹理)
该功能主要用于对地形进行纹理的绘制。在绘制纹理之前,需要先添加不同样式的图层,如草皮、沙石图层等,激活图层后,才可以在地形上进行绘制,如图2-60所示。
图2-60