news 2026/9/10 12:23:17

如何3步把真实城市搬进《我的世界》:Arnis 完整上手指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何3步把真实城市搬进《我的世界》:Arnis 完整上手指南

如何3步把真实城市搬进《我的世界》:Arnis 完整上手指南

【免费下载链接】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(OSM)拉取道路、建筑等地理信息,再结合真实高程数据,把选定的区域 1:1(或自定义比例)转换成一个可直接进游戏的 Minecraft 世界,省去了手动放方块还原城市的巨大工作量。

它是干什么的

Arnis 的定位一句话就能说清:OSM 数据 → Minecraft 世界的生成器,支持 Java 版(1.17+)、基岩版和 Luanti(Minetest)。它比较适合这几类场景:

  • 🏙️ 复刻家乡或知名城市,做联机玩法的地图
  • 🎓 地理教学演示,比如用真实地形讲解城市与地貌
  • 🗺️ 城市规划、方案展示,把地块和建筑分布放进 3D 场景里看
  • 🚗 给载具类、地图类 Mod 提供一套真实路网当测试场地
  • 🌍 想在游戏里"踩"上月亮或火星的地形(它支持--body moon/mars,使用 NASA 的高程数据)

快速上手

获取程序并启动图形界面

  1. 下载官方最新 release 安装包直接运行;想自己编译也可以,先克隆仓库git clone https://gitcode.com/GitHub_Trending/ar/arnis,再执行cargo run --release构建 GUI 版本。
  2. 打开程序,在地图上用矩形工具框选目标区域,并选好世界保存位置。
  3. 点击 "Start Generation"(开始生成),完成后世界会出现在你选定的游戏里。

Arnis 的图形界面:左侧地图用于框选区域,右侧可调整比例、生成模式等参数

核心流程拆解

经纬度怎么变成方块:坐标转换

把现实搬进游戏,第一步是"投影"。可以把它想象成把一张平面地图投到一张巨大的方格纸上:现实中 1 米,对应纸上 1 格。

Arnis 内部先把经纬度包围盒(LLBBox)换算成 Minecraft 的方块坐标盒(XZBBox),其中scale参数表示"每米多少格",默认 1.0 就是一米一格、1:1 还原。整个换算基于 WGS84 球面近似,还支持 Web Mercator 全局投影,方便多次生成同一片区域时坐标不漂移。核心实现:src/coordinate_system/transformation.rs

选框、平移、旋转:地图变换引擎

框选区域只是起点。坐标转换之后,整张地图还能整体平移、旋转,Arnis 用一套统一的 Operator(操作符)接口管理这两类变换,CLI 里的--rotation(-90 到 90 度)就走这里。核心实现:src/map_transformation/operator.rs

数据管线则是:抓取 OSM 数据和高程数据 → 元素处理(建筑、道路、水系、树木各有独立模块)→ 写出世界文件。生成模式有三档:

  • geo-terrain(默认):真实地形 + 建筑道路
  • geo-only:平地 + 建筑道路
  • terrain-only:只要真实地形,完全跳过 OSM 查询

边界框(bbox)决定生成范围:框得越准,坐标转换和最终世界的边界就越贴合你的意图

实战演示

用图形界面生成一个欧洲城市中心,全程 5 步:

  1. 打开 GUI,缩放并定位到目标区域(比如某个欧洲市中心),用矩形工具画出选区。第一次建议区域小一点——源码注释提到比例放大到 4.0 时,仅 1 平方公里就可能消耗数 GB 内存和数小时,小区域试错成本低。
  2. 确认参数:模式保持默认geo-terrain,比例保持 1.0(1:1),其余按需微调。
  3. 选择保存位置(一般是.minecraft/saves下的目录),点击 Start Generation。
  4. 等进度条走完:程序会先拉取 OSM 与高程数据,再并行生成地形和建筑。
  5. 打开 Minecraft 进入这个世界,出生点就在区域中心;想要精确落点,可以用--spawn-lat/--spawn-lng指定(两者必须成对出现,且落在选区内)。

习惯命令行的话,等价的一行命令是:

cargo run --release --no-default-features -- --output-dir="C:/YOUR_PATH/.minecraft/saves/worldname" --bbox="min_lat,min_lng,max_lat,max_lng"

参数格式是"最小纬度,最小经度,最大纬度,最大经度",完整参数清单见 src/args.rs。

生成完成后的效果:街道走向、建筑轮廓与真实世界一致,可直接进入游玩

避坑指南

问题 1:比例调小后,建筑、道路全消失了解决方案:scale允许的范围是 0.05~4.0,但低于 0.3 时道路宽度不足 3 格、建筑会塌成 1×1 的柱子,工具会主动跳过所有 OSM 对象。做城市还原请用 0.3 以上;0.05~0.3 只适合看大体地形。

问题 2:指定出生点时报错解决方案:--spawn-lat--spawn-lng必须成对提供,而且坐标必须落在--bbox范围内,否则直接拒绝生成。

问题 3:Java 版提示缺少参数解决方案:Java 版必须提供--output-dir指定世界目录(目录不存在会自动创建);基岩版加--bedrock、Luanti 加--luanti则不强制,默认输出到桌面或系统目录。

进阶技巧

  • --interior:默认只生成建筑外壳,加上这个参数会生成室内结构,适合做室内场景
  • --signage full:默认的 basic 只有路牌、交通标志这类公共标识,full会额外加上店铺招牌、门牌号
  • --map-preview:生成完直接输出一张俯视 PNG 预览图,不进游戏也能快速检查效果

第一次生成的时候,不妨就选自己的家乡——框个两三平方公里,1:1 跑一遍,走进游戏的那一刻,你会认出自己家楼下的那条街。仓库里的 Wiki 和源码注释都写得很细,想折腾内部机制可以继续往 src/ 里翻。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 12:22:32

YOLOv9反光衣检测系统:工地安全监控的实时视觉方案

简介:本资源是一套面向计算机相关专业学生与初学者的工地安全监控实战项目,基于YOLOv9实现工人反光衣佩戴状态的高精度目标检测,适用于课程设计、毕业设计及深度学习入门实践。压缩包含187个文件,主体为83个Python源码&#xff08…

作者头像 李华
网站建设 2026/9/10 12:20:34

基于Unity 3D + C#实现的软木画文化主题虚拟展馆交互漫游系统

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于 Unity 3D C# 实现的软木画文化主题虚拟展馆交互漫游系统,融合软木…

作者头像 李华
网站建设 2026/9/10 12:15:55

基于特征值分析的丘脑DBS网络动力学建模与复现

简介:本资源是一套面向神经科学建模与计算神经工程方向的MATLAB实践代码与配套实验数据,聚焦丘脑深部脑刺激(DBS)对全脑网络动力学的影响机制研究,适用于计算机、电子信息工程、应用数学等专业本科生开展课程设计、期末…

作者头像 李华
网站建设 2026/9/10 12:14:17

PyQt5+PyTorch智能垃圾分类系统毕设全链路实现

简介:本资源是一份面向计算机专业本科生的智能垃圾分类系统毕设与课程作业完整实现方案,聚焦人工智能在环保领域的落地应用,解决传统垃圾分类依赖人工、效率低、准确率不稳定的现实问题。压缩包共20个文件,含7个Python源码&#x…

作者头像 李华