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 地图数据和高程数据,把现实中的某个位置生成一个能直接游玩的《我的世界》世界。整个过程就三步:框选区域、调参数、点生成。
它解决什么问题:手工在方块里复刻城市做不动
你想在《我的世界》里还原一座真实城市,靠手动铺路盖楼基本不现实,而且很难对得上真实街景。Arnis 是一个免费开源工具:你指定一块地理区域,它自动把该区域的地图数据换算成方块,支持 Java 版(1.17+)、基岩版和 Luanti(Minetest)。
文中会反复出现几个名词,先认识一下:
- OpenStreetMap:开放地图数据库,记录了全球的道路、建筑和水系
- 高程数据:地表各点的高度,决定地形的起伏
- 经纬度:现实位置坐标,例如慕尼黑市中心约北纬 48.1°、东经 11.5°
- Web Mercator 投影:把地球表面压成平面的常用地图投影方式
上手:从选区到出世界的三步操作
第 1 步,拿到工具。下载对应系统的最新发行版;想自己编译的话,先git clone https://gitcode.com/GitHub_Trending/ar/arnis,再进入目录执行 cargo 构建。
第 2 步,选位置。打开图形界面,在内置地图上用矩形工具框出想要的范围,然后指定一个《我的世界》存档作为输出目标。
第 3 步,设参数并生成。常用设置包括世界比例(现实距离与方块数的换算关系)、出生点、是否生成建筑内部,以及生成模式(默认是"真实地形 + 地图对象")。确认后点击 Start Generation,等它跑完即可。
拆开看:经纬度到方块的两级流水线
第一级是"压平地球"。经纬度是球面上的坐标,而《我的世界》的地面是一张平面方块网格。Arnis 先用 Web Mercator 投影把选中的区域压成平面,再按你设定的世界比例拉伸成方块网格。这段换算逻辑在 src/coordinate_system/ 目录里。
第二级是"数据落网格"。OpenStreetMap 里的建筑、道路、树木被逐一放到网格上;地面起伏则由高程数据决定,数据源选择与缓存在 src/elevation/ 目录。最后 src/map_transformation/ 提供整图旋转、平移等后处理,让你把城市摆到想要的朝向。
谁会用得上
做防灾教学的老师可以用它生成河道场景,让学生站在真实的河道地形里理解洪水范围,这是课本很难传达的直观感。
规划专业学生或城市爱好者可以复刻自己所在的街区,从空中绕一圈,看清街道与建筑的实际排布。
少走弯路的几个点
- 区域选得太大、生成慢甚至内存吃紧 → 先从一个 1~2 平方公里的街区开始,大区域用项目的在线生成服务。
- 生成的世界空荡荡 → 多半是该区域 OpenStreetMap 数据缺失,先去地图网站确认道路建筑覆盖情况再生成。
- 只想看地形起伏 → 用 terrain-only 模式,它不查询地图数据,速度比默认模式快得多。
- 需要用脚本批量生成固定区域 → 走命令行,用
--bbox参数直接给矩形四角的经纬度。 - 城市朝向歪了 → 用旋转、平移算子整体微调,不用重新生成。
下一步:先拿家门口的一条街生成一次,跑通后再逐步放大选区,几天后你的存档文件夹里就会躺着一个方块版家乡。
【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考