三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

如何用 Arnis 把现实世界搬进 Minecraft?一份真实地图生成实战指南

如何用 Arnis 把现实世界搬进 Minecraft?一份真实地图生成实战指南

如何用 Arnis 把现实世界搬进 Minecraft?一份真实地图生成实战指南

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

Arnis 是一款开源的 Minecraft 地图生成工具,它读取 OpenStreetMap 道路与建筑数据、叠加真实高程信息,把地球上任意位置的街景、地形和地标转换成高细节的 Java 版(1.17+)与基岩版 Minecraft 世界。你不需要会建模,也不需要逐块手工堆方块——框选一片区域,几分钟后就能在游戏里"走"进自己熟悉的城市。

一个周末的"回乡"实验

假设你想在 Minecraft 里重建童年住过的那条街:街角的便利店、每天经过的十字路口、学校后门的斜坡。手工建造?光是一条主干道上的几十栋楼,就够你搭上整整一个月。

Arnis 的做法完全不同:它把这件事当成"数据转换"而不是"建造"。你在地图上框出范围,程序负责把经纬度坐标换算成方块坐标,把建筑轮廓换算成楼体,把海拔换算成起伏地形——生成结束后,你获得的不是一张贴图,而是一个可以走进去、爬上去、挖下去的真实世界。

如果你更想先看效果而不是读原理,可以直接跳到"10 分钟上手";想搞懂它凭什么能做到,请从下一节开始。

一屏速览:它是什么、解决什么、适合谁

问题答案
它是什么把现实地理数据转化为 Minecraft 世界的开源工具,支持 Java 与基岩版,甚至能输出 Luanti(Minetest)世界
数据来源OpenStreetMap 的道路/建筑/水体等矢量数据 + 多源真实高程数据
解决什么手工重建现实地点耗时、失真、门槛高;Arnis 把精度交给算法,把时间从数月压缩到分钟级
适合谁想探索家乡地图的普通玩家、需要直观教学场景的老师、展示规划方案的城市从业者、做城市沙盘的内容创作者
上手成本有图形界面,框选 + 点按钮即可;也提供命令行模式给喜欢脚本化的用户

一句话总结:现实世界 Minecraft 地图生成这件事,Arnis 把门槛降到了"会用地图"就行。

生成一次,背后发生了什么

别被"点一下按钮"骗了,Arnis 的生成链路其实是一条清晰的三段流水线,理解它你才知道哪些设置值得动:

第一段:取数。程序根据你框选的边界框(bbox),向 OpenStreetMap 拉取该区域内的道路、建筑、水系、绿地等矢量数据,同时从src/elevation/providers/下的多个高程数据提供器获取真实海拔。这两类数据是后续一切的基础。

第二段:换算。src/coordinate_system/负责把经纬度精确映射到 Minecraft 的方块坐标系,src/map_transformation/则提供整体旋转与平移能力——你甚至可以把地图旋转任意角度再输出,这在规划场景里非常实用。

第三段:落地。src/element_processing/里按类别拆分的处理器(建筑、道路、水系、树木、广告牌……)逐一登场,把每种 OSM 元素翻译成对应方块结构。至此,一个"像素化"的现实世界就成型了。

这条流水线高度模块化,也解释了为什么 Arnis 能持续加入新元素类型:往src/element_processing/里加一个处理器,就多一类可生成的内容。

10 分钟上手:从框选区域到进入游戏

第一次使用,请务必选一个小范围、你熟悉的区域——比如常去的公园或居住的小区。范围越小,生成越快,你也越容易判断质量好坏。

第 1 步:下载并启动。获取最新版本并打开图形界面,你会看到如下布局:

第 2 步:框选区域。地图上使用矩形工具划出目标范围,Arnis 会实时显示边界框的经纬度与中心点坐标。

第 3 步:配置并生成。选择输出版本(Java 或 Bedrock)、指定存档目录,然后点击 Start Generation。进度条走完后,把生成结果放进.minecraft/saves/(Java 版)对应的世界文件夹,启动游戏即可。

喜欢命令行的用户,也可以用单行命令完成同样的事:

cargo run --release --no-default-features -- \ --output-dir="你的路径/.minecraft/saves/worldname" \ --bbox="min_lat,min_lng,max_lat,max_lng"

顺带一提,Arnis 还支持三种生成模式,命令行里用--mode切换:

模式生成内容适用场景
geo-terrain(默认)建筑、道路等 OSM 对象 + 真实高程地形完整还原,绝大多数情况选它
geo-onlyOSM 对象 + 平地只看布局、不在乎地形起伏
terrain-only仅真实高程地形纯地形预览,跳过 OSM 数据拉取,速度最快

进阶玩法:把默认世界变成你的专属沙盘

等你跑通第一张图,下面这几个方向能让生成结果更"懂你":

调比例与细节。src/coordinate_system/transformation.rs中能找到比例因子的配置,调整现实世界与 Minecraft 世界的缩放关系;建筑内部结构、出生点等也都可以在界面里定制。想要更平滑还是更陡峭的地形,同样有对应的高程处理参数可调。

为城市"加戏"。assets/structures/里躺着几十个预置结构:消防栓、候车亭、起重机、灯塔、直升机、各种车辆,甚至墓碑和喷泉。它们会在合适的位置被自动布置,让街道不再空洞。

让植被对味。assets/tree-packs/是 Arnis 最值得玩味的模块之一——按大洲拆分的树木包(afr、asn、aus、ena、eur、ind、sam、wna 等),每个包内的region.json定义了大量植物群落:非洲的猴面包树与金合欢、东亚的银杏与雪松、澳洲的桉树与山龙眼……每种群落还区分湿/干/低地栖息地与密度。这意味着生成悉尼郊区时的行道树,和生成内罗毕街区的树木,会是完全不同的物种组合。

接入真实地标模型。借助src/models_3d/(含 wikidata 子模块),部分知名建筑可以匹配到更精细的 3D 模型,生成纽约或巴黎这类城市时,天际线会更有辨识度:

避坑清单:新手最容易踩的五个坑

  • 一上来就框整座城市。范围过大轻则生成极慢,重则内存吃紧。先从小街区起步,摸清性能底后再逐步扩大。
  • 存档路径写错。CLI 模式下--output-dir必须指向实际存在的.minecraft/saves/子目录,否则输出文件找不到位置,游戏里也读不到。
  • 忽略经纬度顺序。--bbox的参数顺序是min_lat,min_lng,max_lat,max_lng,写成先经后纬会得到一片完全错误的地图。
  • 期待"像素级还原"每一个门牌。Arnis 追求的是整体结构与地形的准确,不是每个细节都分毫不差——它给创作者提供的是可信的骨架,而非照片级复制品。
  • 下载渠道混乱。这个项目只有官方渠道发布版本,任何第三方"打包版"都有风险,认准官方站点即可。

下一步:从使用者到贡献者

Arnis 仍处于快速迭代期,社区的参与方式非常具体:可以提交 bug 报告,可以给src/element_processing/增加新的元素处理器,可以为assets/tree-packs/贡献你所在地区的植被包——就像现有这些由全球贡献者维护的树木包一样,你的家乡树种也可能出现在别人的世界里。

想立刻开始?先克隆仓库上手体验:

git clone https://gitcode.com/GitHub_Trending/ar/arnis

然后按本文的 10 分钟流程生成你的第一张家乡地图。生成完毕,把坐标发给朋友,邀请他们一起在虚拟的现实中漫步——这就是 Arnis 最迷人的地方:它不替你想象世界,它把你真实的世界变成可以探索的游戏。你的下一站,是哪里?

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

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

← 返回列表