跳到正文
Hacker News· osfv·· 8 天前AI 评分42

Talus:可在浏览器中运行的小型地形扩散模型

Show HN: Talus, a small terrain diffusion model that runs in the browser

AI 导读

Talus 是一个可在浏览器中运行的小型扩散模型,能生成 4 km 游戏高度图,首次运行需下载约 54 MB,权重与运行时随后缓存在浏览器中,生成的地图不会离开用户设备。

正文 · AI 翻译

Talus 是一个小型扩散模型,可在你的浏览器中直接为游戏绘制 4 km 高度图。

Talus-3 输出

生成地图

选择一种地形类型,设置你关心的参数,其余保持自动。

已存储的样本。首次运行会下载约 54 MB。

岛屿,种子 209

64 x 64 网格,跨度 4,096 m

首次运行后,权重和运行时都会留在你的浏览器缓存中。你生成的地图永远不会离开你的设备。

从噪声到地形,仅需 25 步

    每张地图都从随机噪声开始。每一步,Talus 都会预测噪声之下的干净地形,采样器则保留更多该预测。上方是生成器在其 25 步中的六步所生成的岛屿。

    我们从零开始训练了这个 2300 万参数的神经网络,使用来自我们自研程序化生成器的 45,000 张地图:分层噪声、切割山谷的河流,以及滑落至休止角的松散岩石。坡脚处的那堆岩石就叫 talus(岩屑堆)。

    在这里,ONNX Runtime 在 WebGPU 上运行该网络,没有 WebGPU 时则在 CPU 上运行。相同的种子和设置会生成相同的地图。

    80.3

    Talus-3 在留出测试地图上九项评分的平均值。100 分意味着它生成的地图与它所学习的程序化地形无法区分。

    查看评分卡

    可玩性
    99.9
    可行走路线的出现频率与真实地图相当。
    细节干净
    99.4
    没有多余的坑洼或凸起。
    可控性
    92.1
    实测的地势起伏、坡度和水域与你要求的保持接近。
    真实感
    66.2
    将 25 项地形统计与真实地图进行比较。
    频谱
    11.0
    细节表现不佳:山地过于平滑,平原过于颗粒感。这是下一步要修复的问题。

    导入你的引擎

    每张地图都附带一个 JSON 文件,给出其尺寸和高度范围。如需生成数百张地图,请使用 Python 工具在本地运行 Talus。

    git clone https://github.com/osfv/talus
    cd talus && pip install -e .
    gh release download v3.0.0 -R osfv/talus -p talus-3.pt -D checkpoints
    nullscape sample --checkpoint talus-3 --archetype ridges \
        --n 64 --formats png16,r16,obj --unity
    Unity
    地形,导入 Raw:65 x 65,16 位,Windows 字节序。将地形设置为宽 4,032 m、高 1,200 m。
    Unreal 和 Godot
    将 16 位 PNG 用作景观或地形高度图,并将其高度缩放至 1,200 m。
    Blender
    导入 OBJ。它以米为单位,Y 轴向上。

    来源:Hacker News · talus.tersa.tech