Arnis 上手指南:30 分钟生成一张真实地点的 Minecraft 城市
2026/9/10 23:52:57 网站建设 项目流程

Arnis 上手指南:30 分钟生成一张真实地点的 Minecraft 城市

【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis

Arnis 是一款用 Rust 编写的真实地点 Minecraft 世界生成工具。它读取 OpenStreetMap 地图数据和数字高程数据,把真实世界中的建筑、道路、河流、山谷转换成可以直接打开的 Minecraft Java、Bedrock 或 Luanti(Minetest)世界。你给它一段区域的坐标,它给你一张地理布局与真实世界一致、地形有真实海拔起伏的地图。

Arnis 根据 OpenStreetMap 数据生成的 Minecraft 城市,建筑分布与真实地图对应

🧭 30 秒了解 Arnis

  • 技术栈:Rust 编写核心,图形界面基于 Tauri,同一个程序既能开窗运行,也能纯命令行批处理,支持 Windows、macOS、Linux。
  • 输入:目标区域的边界框坐标(最小纬度、最小经度、最大纬度、最大经度),数据由程序自动从 OSM 和高程服务下载。
  • 输出:一个开箱即用的 Minecraft 世界——Java 版存档目录、Bedrock 的 .mcworld 文件,或 Luanti 的 map.sqlite。
  • 当前版本:v3.1.0,Apache-2.0 协议开源。

用一句话概括:你交出两个角点的经纬度,它还你一个世界。

⚡ 5 分钟跑通第一个真实城市

先克隆仓库并构建:

git clone https://gitcode.com/GitHub_Trending/ar/arnis cd arnis cargo build --release

然后二选一,走图形界面或命令行:

  • 图形界面:运行cargo run --release,用左侧地图的矩形工具框选区域,右侧可以调整世界比例、出生点、建筑室内生成,最后点击开始生成。
  • 命令行:适合脚本化、批量生成,一条命令直接产出世界:
cargo run --release --no-default-features -- --output-dir="路径/.minecraft/saves/worldname" --bbox="min_lat,min_lng,max_lat,max_lng"

Arnis 图形界面:缩放、搜索并框选生成区域,右侧配置比例与细节选项

边界框选择工具帮你精确划定生成范围,建议从几个街区起步

最后给个稳妥的建议:第一次生成选一个两三个街区的范围,进游戏对比真实地图,熟悉效果后再扩大区域。Nix 用户可以跳过编译,直接nix run github:louis-e/arnis运行。

🔍 三个最有辨识度的功能

⛰️ 地形来自真实高程,不是程序化噪声

默认模式 geo-terrain 会把 OSM 要素铺在真实地形上。高程数据源目录 内置多套数据服务:USGS 3DEP 提供 1m 到 30m 四种每像素分辨率(美国本土以 1m 激光雷达数据为主),另有 AWS 地形、Mapterhorn 等,按所在区域自动选用对应源和分辨率。你得到的是山真的陡、盆地真的洼。更进一步,--body moon/mars参数可以改用 NASA 行星高程数据,生成没有 OSM 要素的月球或火星地表。

🌲 植被按地理区域自动换种

项目自带按区域划分的树木 schematic 包,存放在 assets/tree-packs/,覆盖非洲、南美、北美、欧洲、亚洲、澳洲、印度等 9 个地理区,外加一个 vanilla-plus 兜底包。程序根据你框选的坐标自动判断该用哪个区的树种,比如欧洲区以落叶阔叶和针叶林为主,萨区(南美)以雨林树种为主;所有区合计 400 多种树木模型,按 small 到 giant 分五档高度,用--max-tree-size控制上限。配合 Meta/WRI 的全球树冠高度图(--canopy-height,默认开启),它能判断某片林地是低矮灌木还是参天大树,而不是把所有树都种成一样高。

🏘️ 用 Overture 数据补 OSM 的空白

OpenStreetMap 在偏远地区覆盖率不足,生成的村庄可能缺房子。Arnis 默认开启--overture,从 Overture Maps 补充 OSM 里缺失的建筑轮廓。代价是偶尔会引入卫星检测出的误报建筑,对数据稀疏的地区这是值得的交换。

🎚️ 生成更快更好:值得调的参数

完整参数定义见 src/args.rs,其中影响结果最大的几个:

  • --scale:每米对应多少方块,1.0 即 1:1 真实比例;调小可以让同一区域更紧凑。
  • --mode:geo-terrain(默认,真实地形加物体)、geo-only(平地加物体,省掉高程下载)、terrain-only(纯地形,跳过 OSM 和 Overture 请求,三种模式里最快)。
  • --interior:生成建筑室内,好看但明显拖长生成时间,首次使用建议先不开。
  • --fillground:用快速路径批量填充地表以下方块,大面积平坦地形提速明显。
  • --ground-level:世界地表基准高度,默认 -62,配合多层建筑布局可以调整。
  • --projection web_mercator:全局投影模式,多次生成的区域共享坐标,适合把大城拆成几块分别生成后拼起来。

质量与速度的平衡点很清楚:几个街区的小区域通常几分钟就能出结果;几十平方公里的大城市建议拆分区域、远景区域改用 geo-only 或 terrain-only 减少数据请求。

🛠️ 遇到问题时查这里

  • 如果报错提示 Rate limited 或服务器不可用:说明 Overpass 请求被限流(429)或暂时过载,等几分钟重试即可;高频重试只会更糟。
  • 如果大区域生成卡住或内存吃紧:优先用--fillground提速,并考虑拆分区域分次生成,用 web_mercator 投影保证坐标对得上;超大区域建议 16GB 以上内存的机器。
  • 如果建筑缺失或位置不对:多半是该区域 OSM 数据质量的问题而非程序缺陷。先到 OpenStreetMap 上确认该地标注是否完整,再开启--overture看能否补齐;实在不行就在游戏里手动补建。

🎯 谁适合用 Arnis

  • Minecraft 玩家:重建童年街道或旅游城市,生成后直接放入存档目录游玩。
  • 教师:用它做地理教学的可视化教具——真实海拔、气候带、城市布局都对应真实世界,该项目已被用于中小学防灾教学等学术场景。
  • 地图作者:把 Arnis 当作底图引擎,先铺出地形与建筑骨架,再叠加游戏专属内容,省掉手工摆建筑的时间。

🚀 从你身边的街区开始

项目按数据获取、处理、世界生成拆成独立模块,欢迎提 issue 报问题,或 fork 后提交性能优化与新功能的 PR。现在就能做的一件事:用 1:1 比例生成你家附近的两个街区,进游戏和手机地图并排对比,再决定要不要调 scale 和细节参数。

【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询