Arnis:用 OpenStreetMap 把家乡地图变成 1:1 的 Minecraft 世界(3 个阶段完成)
【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis
想在自己家楼下的街道上再走一遍上学那条路?Arnis 可以把任意现实地点 1:1 生成进 Minecraft 世界:它从 OpenStreetMap 取建筑、道路和水体,叠加真实高程数据,输出可直接进游戏的 Java 或基岩版存档。
🧭 Arnis 适合谁
结论:它面向三类用户,共同点是"想在不写一行代码的前提下拿到一份真实地理的方块副本"。
- 地理教学:学生进入按真实坐标生成的城市,路线距离、水系位置与地图一致。
- 规划与方案演示:把片区现状搬进游戏,直观展示改造前后的空间关系。
- 兴趣创作:重建故乡街区、老家周边,或者任何想以第一视角重走的真实地点。
🗺️ 从下载到生成:3 个阶段
整个流程只有三个阶段,前两阶段各花几分钟。
阶段一:拿到工具。直接下载官方发布的构建包即可运行;习惯命令行的人也可以自己编译:
git clone https://gitcode.com/GitHub_Trending/ar/arnis阶段二:框选区域。主界面左侧是交互地图:放大到能看清街道后,用矩形工具拉出目标范围。先选 2 至 5 平方公里为宜——这个尺度细节保留完整,生成耗时也可控;区域过大时界面会给出面积警告。右侧选择目标存档并点开始生成,剩下的数据下载与地形处理由程序自动完成。
阶段三:进入游戏。完成后存档直接出现在你指定的目录,用对应客户端打开即可;生成界面还可以勾选"世界地图物品",开局就拿到一张覆盖全图的地图。
⚙️ 生成结果与关键参数
一份完整世界包含:按真实高程起伏的地形、OpenStreetMap 里的建筑与道路、按纬度与植被划分的生物群系、树木和车辆等 3D 道具,可选的楼内结构和路牌标识。
最影响观感的参数是世界比例(1.0 表示 1 方块 = 1 米的真实尺度):
- 比例:调大后街区更"放大",细节更清楚;低于 0.30 时道路和建筑会小到无法表现,程序会自动跳过对象只留地形。效果别扭时优先动这一项。
- 生成模式:对象 + 地形(默认)、仅对象(平地)、仅地形(只要地貌)。
- 地形与表面细节:高程来源、最大树木尺寸(小/中/大/高/巨大)、填充地面。
- 输出目标:Java 存档、基岩版
.mcworld,以及 Luanti/Minetest。
🔍 原理速览
坐标转换把经纬度换算成方块网格坐标,决定"东西放在哪里";地形生成读取多源高程数据,让地表起伏与真实坡度一致;建筑识别解析 OpenStreetMap 的轮廓和标签,把房屋、道路、水体分别变成对应方块结构。三者解决的是定位、地貌、内容三类问题。
📐 实用建议
- 起步面积:2 至 5 平方公里最稳。生成时长主要受面积驱动,这个范围内多数机器十几分钟内完成;界面给出的面积分级提示可以直接参考。
- 大区域分块:整城一次生成容易把内存吃满。建议切相邻区块分别生成,并统一用 Web Mercator 投影(源码见 src/projection/),各区块落在同一坐标平面,拼起来不偏移。
- 内存吃紧:优先调低"最大树木尺寸"或关掉 3D 模型,而不是压低世界比例——比例一变,建筑尺度就整体失真。生成耗时过长时,先检查网络(数据来自 OpenStreetMap 与高程服务,本地有瓦片缓存可复用),再考虑缩小区域或改用"仅对象"模式。
完整文档在社区 Wiki,生成原理与参数说明都有。源码按模块分目录,坐标转换在 src/coordinate_system/,要素处理在 src/element_processing/,想弄清"某条街为什么长这样"可以从这两个目录读起。生成结果有异常,可以直接到项目 Discord 描述现象并附上区域坐标范围。
【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考