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