怎么把真实城市搬进 Minecraft?Arnis 手把手带你跑通 3 个关键场景
2026/9/9 14:21:03 网站建设 项目流程

怎么把真实城市搬进 Minecraft?Arnis 手把手带你跑通 3 个关键场景

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

Arnis 读取 OpenStreetMap 和真实高程数据,把街道、建筑和起伏地形搬成 Minecraft 世界,这就是 Minecraft 真实城市生成。如果第一次生成卡在"参数太多不知道填什么",往下看。

用最小参数跑通第一次生成

GUI 是最省心的路:下载 release 包,用矩形工具框住一片街区,选好世界目录,点 Start Generation 就完事。

命令行只需要两个参数:--output-dir指向世界目录(不存在会自动创建,--path是旧别名),--bbox按 最小纬度,最小经度,最大纬度,最大经度 给范围。clone 下来直接编译运行:

git clone https://gitcode.com/GitHub_Trending/ar/arnis cd arnis cargo run --release --no-default-features -- \ --output-dir=~/mc/hometown --bbox="48.123,11.548,48.129,11.562"

默认模式 geo-terrain 就是"建筑 + 真实高程",不加任何参数正是大多数人的目标结果。

进阶可选:

  • --mode geo-only— 对象铺在平地上,省掉高程抓取(默认 geo-terrain)
  • --mode terrain-only— 只要地形不要建筑,跳过全部 OSM 查询
  • --bedrock— 输出 Bedrock 的 .mcworld,路径必须是已存在目录

从地图里抠出正确的 bbox

很多人第一版效果不对,第一反应是去调 scale;其实八成是 bbox 框歪了或框大了。先把区域选对,再谈参数。

bbox 最稳的拿法:在 OpenStreetMap 的 bbox finder 里用矩形框选,状态栏直接给出四个数,复制进--bbox即可。

为什么强调框小一点:同样的区块数,bbox 越小细节密度越高。框下整个城区,建筑会被压成 1×1 的柱子;scale 低于 0.3 时 Arnis 直接放弃对象、只留地形。

  • --spawn-lat/--spawn-lng— 出生点,必须落在 bbox 内、成对出现
  • --rotation— 顺时针旋转 -90 到 90 度,把主干道对齐正方向(默认 0)

把生成细节调到满意

影响最大的就两个开关:--interior--scale

先纠正一个常见误解:--interior默认是关的,不写就没有建筑室内;老参数--terrain现在是空操作,地形默认就开。

在最小命令上追加这两个参数:

cargo run --release --no-default-features -- \ --output-dir=~/mc/hometown --bbox="48.123,11.548,48.129,11.562" \ --scale=2.0 --interior

scale是每米多少格:1.0 为真实尺寸,有效范围 0.05 到 4.0,超界直接拒绝——1 平方公里就要烧掉几个 GB 和几个小时。

  • --signage full— 路牌之上加店铺招牌和门牌号(默认 basic)
  • --no-3d— 关掉全部 3D 模型和道具,明显提速(默认开)
  • --overture=false— 关掉 Overture 补漏标建筑,映射稀疏区很实用(默认开)

排查生成失败的三个高频坑

校验逻辑在 src/args.rs,报错大多在抓数据之前就拦下来了,读报错比盲目重试有效:

  • scale 非法— 必须是 0.05–4.0 的有限数,NaN 和超范围在解析期就被拒
  • 组合冲突--bedrock--luanti不能同用;--mode terrain-only会忽略--file,此时--bbox仍必填;Java 模式漏写--output-dir直接报错
  • 取数卡住— 下载不稳换--downloader curl;已有本地数据用--file area.osm,再配--save_json_file把这次数据存下来复用

还卡住就加--debug看完整日志,洪水填充超时用--timeout 秒数放宽;某个标签为什么没被识别,去 src/element_processing/ 里搜比翻文档快。

现在框一个 2km×2km 的街区跑通第一版,参数记在笔记本里,再回来调 scale 和 interior。

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

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

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

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

立即咨询