地形
地形系统允许你使用最多四层混合纹理以及可选的水面覆盖层来绘制大型、无缝的地面表面。
添加地形
添加一个 Terrain_Component 到任意实体。地形以实体位置为中心,并延伸为一个区块网格,每个区块覆盖 32×32 世界单位。

地形属性
区块宽度 / 高度
地形网格的大小。每个区块是 32×32 世界单位,因此一个 4×4 的地形覆盖 128×128 单位。
细节平铺
每种地面纹理在单个区块内重复的次数。值越高 = 细节重复越多。
渲染层
控制相对于其他精灵和地形的绘制顺序。数值越低越靠后绘制。
区块加载边距
在摄像机视野之外加载区块的额外距离(以世界单位计)。
纹理 0–3
四个地面纹理层。splat 贴图的每个通道(R、G、B、A)对应一种纹理。
编辑模式
选择地形实体,然后点击 编辑 检查器中的按钮进入地形编辑模式。点击 取消 退出。
编辑时,你可以使用下面的画笔设置直接在场景视图中绘制。
画笔设置
画笔半径
圆形画笔的大小,以世界单位计。
画笔硬度
控制衰减。1.0 时画笔为没有羽化的硬圆。较低值会产生从中心到边缘的柔和渐变。
画笔强度
柔和纹理笔触的应用强度。在完全硬度下,纹理绘制会覆盖像素并忽略强度。
选定通道
要绘制的纹理层(0–3 对应 Texture 0–3,4 表示水)。
擦除模式
启用后,绘制会移除所选纹理层,而不是应用它。

绘制地形纹理
绘制通过修改每个区块的 256×256 splat 贴图来实现。每个像素存储四个通道权重(RGBA),用于在 Texture 0–3 之间混合。
单击并拖动 即可沿一条线绘制。画笔会沿你的笔画按固定间隔盖印。
柔和混合 逐渐增加目标通道,同时按比例减少其他通道,从而保持平滑过渡。
硬覆盖 (在完全硬度下)将目标通道设为 100%,其他通道设为 0%。
擦除 减少所选通道,让下层纹理显现出来。
区块会 懒加载分配 —— 空区块在你首次绘制之前不会占用内存。

水层
地形还支持可绘制的水面覆盖层,并拥有自己的一组属性:
水体纹理
主要滚动的水体纹理。
水岸纹理
应用于水域边缘的纹理。
水体平铺
水体纹理的重复次数。
水纹滚动速度
水纹滚动的速度。
水岸宽度
海岸过渡带的宽度。
水体 Alpha
水面覆盖层的不透明度。
水渲染层
水层的绘制顺序(默认:比地形高一层)。
水使用单通道遮罩,而不是四个纹理通道。选择通道 4 进行绘制。水画笔使用固定的柔和衰减和部分不透明度;硬度和强度会被隐藏。矩形填充会写入完全不透明的水。擦除会将目标设为零不透明度。
矩形填充
除了圆形画笔之外,地形和水还可以使用轴对齐的框选进行填充。矩形填充始终使用硬覆盖——适合用单一纹理快速覆盖大块矩形区域,或填充/清除水域。
内存与性能
检查器会在地形部分底部显示一条调试读数:
区块:在整个网格中,已分配 splat/水数据的区块数量。
内存:估算的 CPU 和 GPU 内存用量。
只有你绘制过的区块才会占用内存。Splat 和水数据在序列化时使用 LZ4 压缩,因此即使是大型地形,文件大小也能保持较小。

提示
先使用较低的画笔强度(0.1–0.3),以获得更自然的纹理层混合。
先用大而柔和的画笔进行大面积基础覆盖,再切换到更小、更硬的画笔处理细节边缘。
使用
1–4以选择一个纹理通道,并5用于水。使用
[和]来更改画笔半径。按住 Shift 并单击,从上一次笔触绘制一条直线。
按住 Ctrl 并拖动以进行矩形填充。
保持区块数量合理。一个完全绘制的 16×16 地形大约会使用 64 MiB 的 GPU splat 贴图内存。一个完全分配的水遮罩会额外增加约 16 MiB。
最后更新于