terrain-diffusion: Perlin noise 的學習型繼承者,用於實現無限且具決定性的即時地形生成
terrain-diffusion: Perlin noise 的學習型繼承者,用於實現無限且具決定性的即時地形生成
它解決了什麼問題
Terrain Diffusion 為即時生成無限、具決定性且可隨機存取的的地形提供了一種學習型替代方案,以取代 Perlin noise。它讓創作者能夠超越簡單的程序化雜訊,生成高保真、寫實的行星地形與氣候數據,並在無邊界的環境中保持一致性。
運作原理
該系統使用層級式的擴散模型堆疊。它從一個「粗略地圖」(無論是程序化生成或手繪)開始,定義世界的總體佈局。接著,擴散模型會將這些粗略草圖轉換為高解析度的高度圖(例如 30m/pixel)與氣候數據。
其核心是 InfiniteDiffusion,一個讓擴散採樣具備延遲載入(lazy)且無邊界特性的框架。這使得在不需要先生成整個地圖的情況下,即可對無限世界中的任何點進行 $O(1)$ 隨機存取,同時保持種子一致性(決定性)。
目標對象
- Game developers:正在開發具有高度局部變化與細節的開放世界環境。
- Worldbuilders:專注於寫實、大規模的行星地理。
- Technical artists:希望將 AI 生成的地形整合到如 Azgaar's Fantasy Map Generator 等工具中。
重點特色
無限且具決定性的生成:使用 InfiniteDiffusion 演算法,確保相同的種子在任何座標都能產生相同的情形。
因果條件化 (Causal Conditioning):支援根據海拔、溫度與降水地圖進行條件化,以引導地形生成。
多解析度模型:為可遊玩的遊戲世界(30m 解析度)與寫實的世界構建(90m 解析度)提供專門的模型。
整合工具:包含一個將 Azgaar Fantasy Map JSON 匯出檔轉換為 GeoTIFFs 的轉換器,以及一個用於替換世界生成器的 Minecraft mod。
Sources
- undefinedxandergos/terrain-diffusion