Skip to content

地形系统

地形系统以一种高效的方式来展示大自然的山川地貌。开发者可以很方便的使用画刷来雕刻出盆地、山脉、峡谷、平原等地貌。

terrain

创建地形

创建地形需要以下步骤:

  1. 层级管理器 右击菜单中点击 创建 -> 地形 来创建地形节点(地形节点可移动,但不支持旋转与缩放)。

    create terrain

  2. 资源管理器 右击菜单中点击 创建 -> 地形 来创建地形资源。

    create terrain asset

使用地形资源

层级管理器 里点击选中地形节点, 属性检查器 会显示 cc.Terrain 地形组件,将已经创建好的地形资源拖拽到地形组件中的 Asset 属性框。

terrain inspector

属性说明
Asset地形资源
Effect Asset地形特效资源
Receive Shadow是否接受阴影
Use Normal Map是否使用法线贴图
Use PBR是否使用物理材质
Lod Enable是否启用地形 Lod。若启用可减少渲染面数,提升渲染性能
Lod Bias设置 Lod 起始距离

编辑场景地形

层级管理器 里点击选中地形节点, 场景编辑器 会显示 地形节点的可编辑面板。 编辑面板菜单有: 管理(Manage)、雕塑(Sculpt)、涂料(Paint)和 选择(Select)几部分。可通过点击各 Tab 标签来切换面板内容。

terrain panel

除了编辑面板,也可以通过 场景编辑器 左上角的图标来快捷切换地形画刷等功能。按顺序为:

  • 管理 功能
  • 雕塑 功能中的 Bulge(隆起)画刷类型
  • 雕塑 功能中的 Sunken(凹陷)画刷类型
  • 雕塑 功能中的 Smooth(平滑)画刷类型
  • 涂料 功能
  • 选择 功能

管理(Manage)

用于调整地形的各种参数。Tile 是地形的最小单位,Tile 组成地形块(Block),目前一个 Block 由 32x32 个 Tile 组成,一个地形至少由 1 个 Block 组成。

terrain manage

参数说明
Tile Size地形 Tile 的大小,目前一个地形块由 32 x 32 个 Tile 组成,所以一个地形块的边长是 32 x Tile Size
Weight Map Size权重图大小
Light Map Size光照贴图大小
Block Count地形块在两个维度上的数量(注意:若该值设置过大会造成顶点数过多,导致卡顿)

雕塑(Sculpt)

用于改变地形的形状。

terrain sculpt

参数说明
Brush Size画刷的大小
Brush Strength画刷的力度
Brush Mode画刷类型,包括 BulgeSunkenSmoothFlattenSet Height
Brush Height画刷高度,只有画刷模式为Set Height时生效
Brush自定义画刷样式,通过选取样式图片生成自定义画刷,使用R通道来作为画刷蒙版
Brush Rotation画刷的旋转值
画刷模式说明
Bulge隆起地形
Sunken下凹地形
Smooth平滑地形
Flatten整平地形
Set Height使用画刷高度设置地形高度

通过 鼠标左键 来雕刻地形,当使用Bulge模式时,还可以通过 Shift + 鼠标左键 下凹地形

涂料(Paint)

用于描绘地形的纹理

terrain paint

参数说明
Terrain Layer设置地形的 Layer。详情可参考下方的 Layer 编辑
Brush Size画刷的大小
Brush Strength画刷的力度
Brush Falloff画刷衰减度,决定了画刷边缘的锐利程度。
0.0 表示画刷在整个范围内都有完全效果(全部被当前层纹理覆盖),具有尖锐的边缘。
1.0 表示画刷仅在它中心具有完全效果,在到达边缘的过程中效果逐渐衰减
Brush自定义画刷样式,通过选取样式图片生成自定义画刷

Layer 编辑

terrain layer

点击右上方的 +/- 按钮可以添加/删除 Layer(最多支持 4 层 layer)。选中某个 Layer 后就可以对 Layer 及其纹理进行编辑。

参数说明
Terrain Layer设置当前 Layer 的纹理
Normal Map设置当前 Layer 的法线贴图,需要勾选地形组件的 Use Normal Map 属性
Metallic设置当前 Layer 的金属特性 (主要指光滑程度)
Roughness设置当前 Layer 的粗糙程度
Tile Size纹理的平铺大小,值越小会在同样大小的区域内进行更多次的平铺

选择(Select)

切换到 选择 分页后,在 场景编辑器 中选中地形块,便会显示当前地形块的相关信息。

terrain select

参数说明
Index当前选中地形块的索引
Layers当前选中地形块的纹理列表
Wight当前选中地形块的权重图