Terrain Editor — 运行时生成的地形编辑器
演示"运行时即编辑器":脚本用 editor + ui 构件在游戏进程内生成一个地形编辑器——
主窗口实时渲染 3D 地形,工具面板控制抬升 / 下陷笔刷,高度图网格原地更新。
示例现在还会把高度图编码为版本化的 eve.terrain-editor-document/1,原子保存到
应用数据目录,并在下次启动时校验、恢复。格式版本、未知字段、尺寸和非有限数值
都由与关卡编辑器相同的 C++ 编解码器检查。
运行
make run/<platform>-debug GAME=examples/terrain-editor
操作
| 输入 | 作用 |
|---|---|
| 右键拖拽 Viewport | 轨道相机 |
| 滚轮 | 缩放 |
| 场景内按住左键 | 抬升 / 下陷地形 |
Raise / Lower 按钮 |
切换笔刷 |
Regenerate 按钮 |
重新生成高度图 |
Save terrain 按钮 |
原子保存当前版本化地形文档 |
Reload saved terrain 按钮 |
从磁盘重新校验并读取地形文档 |
同样的 UI 可以在发布运行时保留,让玩家 / 编辑器在游戏里直接改内容(开发系统 = 游戏运行时)。
本示例聚焦可编辑文档闭环,画面仍使用 64×64 高度图以保证交互流畅。1K 实体归档
导入导出和 1K/4K/8K 随机访问性能由 procgen.terrain.performance 自动测试覆盖,
不会在每次启动 GUI 示例时分配 8K 高度图。