terrain-diffusion: Perlin noise 的学习型继任者,用于实现无限且确定性的实时地形生成
terrain-diffusion: Perlin noise 的学习型继任者,用于实现无限且确定性的实时地形生成
它解决了什么问题
Terrain Diffusion 为实时生成无限、确定且可随机访问的地形提供了一种学习型替代方案,以取代 Perlin noise。它允许创作者超越简单的程序化噪声,生成高保真、逼真的行星地形和气候数据,并能在无界的世界中保持一致性。
工作原理
该系统使用扩散模型的层级堆栈。它从一个“粗略地图”(无论是程序化生成的还是手绘的)开始,该地图定义了世界的总体布局。然后,扩散模型将这些粗略草图转换为高分辨率高度图(例如,30m/pixel)和气候数据。
其核心是 InfiniteDiffusion,这是一个使扩散采样变为延迟加载且无界的框架。这使得在无需预先生成整个地图的情况下,即可实现对无限世界中任何点的 $O(1)$ 随机访问,同时保持种子一致性(确定性)。
适用人群
- Game developers 创建具有高局部变化和细节的开放世界环境。
- Worldbuilders 专注于现实主义的大规模行星地理。
- Technical artists 希望将 AI 生成的地形集成到 Azgaar's Fantasy Map Generator 等工具中。
亮点
Infinite, Deterministic Generation:使用 InfiniteDiffusion 算法,确保相同的种子在任何坐标下都能生成相同的地形。
Causal Conditioning:支持基于海拔、温度和降水图进行条件约束,以引导地形生成。
Multi-Resolution Models:为可玩世界(30m 分辨率)和现实主义世界构建(90m 分辨率)提供专门的模型。
Integration Tools:包括一个用于将 Azgaar Fantasy Map JSON 导出转换为 GeoTIFFs 的转换器,以及一个用于替换世界生成器的 Minecraft mod。
Sources
- undefinedxandergos/terrain-diffusion