mountain地形

地形系统允许你使用最多四层混合纹理图层和可选的水面覆盖层来绘制大型无缝地面表面。

添加地形

添加一个 Terrain_Component 到任意实体。地形以实体位置为中心并覆盖一个由区块组成的网格,每个区块覆盖 32×32 世界单位。

地形属性

属性
说明

区块宽度 / 高度

地形网格的大小。每个区块为 32×32 世界单位,因此 4×4 的地形覆盖 128×128 单位。

细节平铺

每种地面纹理在单个区块内重复的次数。较高的值 = 更多的细节重复。

渲染层

控制相对于其他精灵和地形的绘制顺序。较低的值绘制在后面。

区块加载边距

在摄像机视野之外额外加载区块的距离(以世界单位为单位)。

纹理 0–3

四个地面纹理图层。混合贴图的每个通道(R、G、B、A)对应一个纹理。

编辑模式

选择地形实体并点击检查器中的 编辑 按钮以进入地形编辑模式。点击 取消 以退出。

在编辑时,你可以使用下面的画笔设置在场景视图中直接绘制。

画笔设置

设置
说明

画笔半径

圆形画笔的大小,单位为世界单位。

画笔硬度

控制衰减。在 1.0 时画笔为无羽化的硬圆。较低值会从中心到边缘产生柔和渐变。

画笔强度

每次笔触的应用强度。较低的值允许逐步叠加。

所选通道

要绘制的纹理图层(0–3 对应纹理 0–3,或 4 表示水)。

擦除模式

启用时,绘制会移除所选纹理图层而不是应用它。

绘制地形纹理

绘制通过修改每区块 256×256 的混合贴图(splat map)来工作。每个像素存储四个通道权重(RGBA),用于在纹理 0–3 之间混合。

  • 单击并拖动 沿线绘制。画笔会在你的笔触上以固定间隔进行印章。

  • 软混合 逐渐增加目标通道的值,同时按比例降低其他通道,保持平滑过渡。

  • 硬覆盖 (在完全硬度下)将目标通道设置为 100%,并将所有其他通道设置为 0%。

  • 擦除 减少所选通道的值,使下方的纹理显现出来。

区块被 延迟分配 — 空区块在你首次绘制之前不占用内存。

水层

地形还支持可绘制的水面覆盖层,并具有自己的一组属性:

属性
说明

水体纹理

主要的滚动水面纹理。

水岸纹理

应用于水域边缘的纹理。

水体平铺

水面纹理的重复次数。

水面滚动速度

水面纹理滚动的速度。

岸带宽度

岸带过渡带的宽度。

水透明度

水面覆盖层的不透明度。

水渲染层

水层的绘制顺序(默认:高于地形一层)。

水使用相同的画笔控件绘制,但写入单通道掩码(0–255)而不是四通道混合贴图。选择通道 4 来绘制水。

盒状填充

除了圆形画笔外,地形和水也可以使用轴对齐的盒选进行填充。盒状填充始终使用硬覆盖——适合快速用单一纹理覆盖大矩形区域或填充/清除水域。

内存与性能

检查器在地形部分底部显示一个调试读数:

  • 区块:已为混合/水数据分配的区块数量占总网格的多少。

  • 内存:估计的 CPU 和 GPU 内存使用量。

只有你绘制过的区块才会占用内存。混合数据在序列化时使用 LZ4 压缩,因此即使对于大型地形文件大小也能保持较小。

提示

  • 开始时使用较低的画笔强度(0.1–0.3)以获得纹理图层之间更自然的混合效果。

  • 使用大而柔软的画笔进行广泛的基础覆盖,然后切换到较小且更硬的画笔用于细节边缘。

  • 水区域值为 0 时完全透明——使用擦除或将画笔强度设为 0 来移除水。

  • 保持区块数量在合理范围。一个 16×16 的地形(512×512 世界单位)在完全覆盖的情况下,仅混合贴图就大约使用 4 MB 的 GPU 内存。

最后更新于