网络知识 娱乐 【Unity3D】地形Terrain

【Unity3D】地形Terrain

1 前言

        Terrain 是 Unity3D 提供的用于绘制地形的游戏对象,可以在其上绘制山地、江海、池塘、草树等。

        用户可以通过【GameObject → 3D Object → Terrain】新建地形,主要有如下6个功能菜单:

  1.  Raise / Lower Terrain:升高 / 降低地势
  2. Paint Height:高度平坦化,用于绘制山上的平台、盆地、池塘等
  3. Smooth Height:高度平滑化,用于平滑地形中尖锐部分
  4. Paint Picture:地皮、山体贴图
  5. Paint Trees:种树等
  6. Paint Details:种草等

        如下是一块简单的地形:

2 应用

        1)Raise / Lower Terrain:升高 / 降低地势

        按住鼠标左键向上移动升高地势,按住 Shift 键同时鼠标左键向下移动,降低地势,如下:

        2)Paint Height:高度平坦化,用于绘制山上的平台、盆地、池塘等 

         Height 用于设置地势的最大高度,超过这个高度就会被抹平,如下搭建山上的平台:

                        

        3)Smooth Height:高度平滑化,用于平滑地形中尖锐部分

                

        4)Paint Picture:地皮、山体贴图

        先导入资源包,在 Assets 窗口里面右键,选择【Import Package → Enviroment】 

        再选择【Edit Textures → Add Terrain Texture → Select】,添加贴图图片(本文使用地皮资源“GrassRockyAlbedo.psd”),如下:

         可以看到,山体与地皮贴图一样,这个效果不太理想,用户可以再添加一张贴图(本文使用山石资源“CliffAlbedoSpecular.psd”),选中山石纹理,并使用鼠标左键给山体涂抹;接着再添加一张贴图(本文使用沙子资源“SandAlbedo.psd”),用同样的方法给中间的水池涂抹沙子纹理。

        涂抹山石和沙子纹理后的效果如下:

        5)Paint Trees:种树等

        选择【Edit Trees → Add Tree → Tree Prefab】添加树预设体(本文使用树预设体“Broadleaf_Desktop”),种树如下:

        补充:按 Shift 键,再点击已种的树的位置,可以挖树。

        6)Paint Details:种草等

        选择【Edit Details → Add Grass Texture → Detail Texture】添加贴图图片(本文使用草资源“GrassFrond01AlbedoAlpha.psd”),种草如下:

        补充:按 Shift 键,再点击已种的草的位置,可以挖草。 

        7)水池注水

        将 Water4Advanced.prefab 预设体拖拽到池子中,再调整水面缩放、平移。

         效果如下: