如上图Unity的地形工具可以让我们实现创建复杂、丰富的3D室外环境。
我们创建地形很简单,在层级面板中右键-3Dobject-Terrain 就可以创建一个默认的地形模型!这个模型是Unity内置的。
接下来的地形编辑功能全部集中在这个地形的组件上
主要功能如下:
1.地形拼接扩展工具
可以让用户在黄色线里面点击即可扩增地形
2.地形绘制
2.1 造型的绘制Raise or Lower Terrain
这里面功能稍微多一点,首先是地形造型的绘制Raise or Lower Terrain,这个模式下,我们可以用笔刷绘制一些起伏不平的山丘。
下面选择一个造型的笔刷,笔刷可以自己在PS中制作,白色代表高强度,黑色代表没有绘制强度。
选择笔刷-调整强度-大小,就可以在地形模型上任意绘制了!按住Shift可以压低凸起的地形!
2.2 Paint Holes挖洞笔刷
在切换为这个选项以后,用户可以用笔刷在地形模型上刷洞,同样,在笔刷状态,按住shift键盘,可以补洞。
2.3 地形贴图绘制Paint Texture
这个就像画画一样,可以分层往地形上涂贴图。而且这个贴图还支持法线贴图!这也像给光秃秃的地面涂上美丽的衣服!
首先我们需要添加贴图,这个题图完全是从百度或者其他网站下载的普通图片。我们准备了三张,分别是土壤贴图、草地贴图、道路贴图!拖到Assets仓库中!
然后在地形组件绘制贴图选项中-右下角点击-编辑层-创建一个层-指定贴图。这样就把笔刷将来要绘制的内容准备好了!我们就可以用笔刷进行绘制地形的纹理效果。
添加地面纹理贴图
这一步只是实现了外观漫反射贴图,这个贴图如果太密集的话,我们就需要修改贴图的重复尺寸!
下图就是贴图铺的太密集,我们展开贴图修改!
点击贴图属性,找到Tiling Setting,把贴图大小从1改到20左右,视觉效果就好很多了。
接下来,为了增加凹凸感我们添加一张法线贴图!法线贴图的生成是用PS!
原图放在PS中-滤镜-3D-法线贴图。把做好的法线贴图放到Unity仓库中!贴到贴图属性Normal Map位置上去!
法线贴图可以在视觉上增加模型的凹凸感!
贴图准备好了就可以绘制了!我们可以轮换贴图进行绘制、调节笔刷大小和强度来构建一些更加柔和自然、多样的地面效果!
3.绘制草地细节
选择地形-选择对应组件-第四个按钮-Paint Details
这个工具和前面一样,也是两个模块组成(贴图模块+笔刷模块)
这个工具允许我们把一张透明png的贴图,像种草一样铺满整个地面。
我们首先找一张PNG草、花的贴图
放入Unity,无需单独制定图片类型,就使用默认贴图类型即可!精灵模式也可以!最好压缩为512以下!
然后在地形组件Paint Details工具下,添加贴图
添加刚才的花朵贴图
下面这个面板的属性决定了未来种植在地形上的草贴图,外观尺寸的随机范围。如果想让草高一点就把最大宽度和高度调高!
这个范围跨度越大,刷出来的草高低参差不齐,随机性、多样性就好!
里面的颜色,如果都设置为白色就是保持贴图原有颜色,其他颜色都将会叠加到贴图上!
调整笔刷的大小和强度!
下面这个两个属性决定了,每笔绘制出的贴图密度。数值越大,绘制的越密集。
效果:
4.绘制树
我们也可以像绘制草一样,在地形上面绘制很多树木,当然可以调节树木的随机高低
4.1先准备树的模型
对Unity支持最好的植物模型当然是SpreedTree软件制作的植物,其他软件做的树面数都太高,而且不够灵活设置LOD!大家私下研究SpreedTree。也可以从商店下载免费的SpreedTree植物模型!
我这使用了一个商店免费的SpreedTree植物模型
导入Unity
4.2 设置笔刷内容
点击EditTrees
把下载好的树,后缀是spreedTree的树模型放入AddTree 里面,绘制的树内容设置完毕!
然后调节笔刷大小和密度就可以绘制了!注意根据需要设置随机大小!
5.创建风系统
层级面板右键-创建Wind Zone。这个只要创建在场景中,场景中的所有地形上面的物体就会受风的影响。
游戏运行的时候,可以看到书和花草都会受影响,相关风力的大小可以在Wind Zone组件中修改!
当然地形也可以设置自己受风力影响的程度,请看下面第6部分!
6.设置地形
请自行查看官方文档。Unity - Manual: Terrain settings