Unity地形系统

Unity2019地形系统学习

  • 1 创建和编辑地形
    • 1.1 地形系统使用
      • 1.1.1 Create Neighbor Terrains(添加相邻地形)
      • 1.1.2 Paint Terrain(绘制地形)
        • 1.1.2.1 Raise or Lower Terrain(升高或降低地形)
        • 1.1.2.2 Paint Holes(挖洞)
        • 1.1.2.3 Paint Texture(绘制纹理)
          • 1.1.2.3.1添加Terrain Layer(地形图层)
          • Terrain Layer(地形图层)参数调节
        • 1.1.2.4 Set Height(设置高度)
        • 1.1.2.5 Smooth Height(平滑高度)
        • 1.1.2.6 Stamp Terrain(标记地形)
      • 1.1.3 Paint trees(添加树)
        • 1.1.3.1 添加树原型
        • 1.1.3.2 创建树(还没学)
        • 1.1.3.3 将碰撞体用于树
        • 1.1.3.4 让树在风中弯曲
      • 1.1.4 Paint details(添加花草、石头等)
        • 1.1.4.1 Add Grass Texture(添加纹理)
        • 1.1.4.2 Add Detail Mesh(添加Mesh网格)
      • 1.1.5 Terrain Setting(更改所选地形的常规设置的选项)
        • 1.1.5.1 Basic Terrain(基础设置)
        • 1.1.5.2 Tree & Detail Objects(树、细节对象设置)
        • 1.1.5.3 Wind Setting for Grass(On Terrain Data)
        • 1.1.5.4 Mesh Resolution(On Terrain Data)
        • 1.1.5.5 Holes Settings(On Terrain Data)
        • 1.1.5.6 Texture Resolutions(On Terrain Data)
        • 1.1.5.7 Lighting
        • 1.1.5.8 Lightmapping(光照贴图)
    • 1.2 自定义画笔
    • 1.3 Terrain Collider组件
  • 2 导入和导出高度贴图
    • 2.1 导入高度贴图
    • 2.2 导出高度贴图

1 创建和编辑地形

在菜单右键Create->3D Object->Terrain创建地形,会生成一个平面。可以通过Inspector 面板提供的工具调整地形参数,制作出山峰、山谷、平原、峭壁等地形。
Unity地形系统_第1张图片

1.1 地形系统使用

1.1.1 Create Neighbor Terrains(添加相邻地形)

Unity地形系统_第2张图片
选中创建邻近地形,在Scene面板中点击四周绿色的线框可以在线框处创建另一块地形(新地形被创建出来后与模板地形不处于同一块地形中),并新建一个新的TerrainData资源,编辑器会默认将新创建的地形区块放在与其邻近地形区块所在的那个组中,并复制邻近区块的设置给新的地形。Unity地形系统_第3张图片
当勾选Fill Heightmap Using Neighbors时表示使用已经存在且与其相邻的地形高度图交叉混合来填充新地形的高度贴图。Fill Heightmap Address Mode表示选择交叉混合地形高度图的模式。

  • Clamp
    使用Clamp生成的新区块的高度图只与其相邻地形区块的边缘高度有关
  • Mirror
    使用Mirror生成的新区块的高度图与每一个与其相邻的地形区块的高度图有关。因为Unity会先为每个相邻地形区块生成镜像,并对这些区块的高度贴图进行交叉混合以生成新区块的高度贴图。

Unity地形系统_第4张图片

Unity在生成的地形区块的Terrain Settings中默认勾选Auto Connect。启用Auto Connect后地形系统会自动管理相邻地形区块之间的连接,并且区块会自动连接到具有相同Grouping ID的所有邻居。

如果更改地形区块的Grouping ID属性,或者禁用具有同一个Grouping ID的区块的Auto Connect属性,可能会丢失区块之间的连接。断开连接的两个相邻区块,若具有相同的Grouping ID 且都启用了Auto Connect 的情况下,可使用Reconnect按钮重新创建地形区块之间的连接。
Unity地形系统_第5张图片

启用Auto Connect后修改相邻区块之间的区域,两块相邻的地形区块会无缝修改,不会发生边沿“断开”的情况,关闭Auto Connect后修改相邻部分会发生边缘部分断裂。
Unity地形系统_第6张图片

1.1.2 Paint Terrain(绘制地形)

使用这个工具修改地形的高度、纹理,设置地形高度、平滑高度及柔化地图特征等,还能标记画笔形状。
Unity地形系统_第7张图片

1.1.2.1 Raise or Lower Terrain(升高或降低地形)

使用笔刷工具将地形升高或降低,用来建造地形的整体走向,包括凸起的山峰,凹陷的山谷等,都由这个工具构建。注意:地形高度最低为0,不能降到负数,要建造山谷需要将地形整体高度升高后,在山谷的位置使用笔刷工具降低高度。

操作方式:单击鼠标左键并在地形对象上拖动光标以提高其高度,按住 Shift 键的同时单击并拖动可降低地形高度。

在Brushes选项中选择要使用的笔刷形状。使用 Brush Size 滑动条修改画笔的覆盖范围,大范围用于地形基础形状的构建,小范围用于细节的刻画。使用Opacity 滑动条修改将画笔应用于地形时的强度,Opacity 值为 100 表示将画笔设置为全强度,值越高改变速度越快,幅度越大。
Unity地形系统_第8张图片
使用不同的画笔可创建各种效果。例如,可使用软边画笔增加高度,创建连绵起伏的山丘,然后使用硬边画笔降低一些区域的高度,切割出陡峭的悬崖和山谷。
Unity地形系统_第9张图片
还可以使用高度贴图来修改地形的形状、高度等,具体内容在导入和导出高度贴图中。

1.1.2.2 Paint Holes(挖洞)

使用Paint Holes 工具可以在地形区块中挖一个洞出来,洞的形状、大小由自己使用笔刷工具去抠,适用于在地形中绘制洞口、悬崖等。

你可能感兴趣的:(Terrain,地形系统,unity3d)