当前位置: 首页 > news >正文

Arnis 三步把真实城市搬进《我的世界》:免费开源的地理地图生成工具

Arnis 三步把真实城市搬进《我的世界》:免费开源的地理地图生成工具

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

Arnis 是一款免费的开源工具,专门做一件事:用真实地理数据生成《我的世界》地图。你给它一个经纬度范围,它会从 OpenStreetMap 拉取街景要素、再结合高程数据计算地形,直接产出可进游戏的存档——支持 Java 版(1.17+)和基岩版,图形界面与命令行都能跑,整个流程不花一分钱。

一条坐标的旅程

在讲操作之前,值得花两分钟搞清楚"经纬度"是怎么变成方块的,这样出问题时你知道该往哪里查。

Arnis 的处理链路可以概括为四步:

  1. 取数:按你框选的范围向 OpenStreetMap 请求道路、建筑、水系、绿地等要素;
  2. 投影:经纬度是球面上的坐标,必须先展开成平面。这一步用的是 Web 墨卡托投影,代码在 [src/projection/web_mercator.rs];
  3. 缩放:把平面坐标换算成方块单位。默认 1 米对应 1 方块,也就是 1:1 还原;
  4. 落块:每个方块位置再叠加高程数据算出地面高度,最后逐格写入存档。

所有跨坐标系的具体运算集中在 [src/coordinate_system/transformation.rs],想深入细节可以从这里入手。

三步生成你的第一张地图

第一步:框选区域。打开程序就是一张世界地图,放大到你想要的地方,用矩形工具拖出一个边界框——市中心一个街区、整座城、一条河谷都可以。

第二步:配置参数。界面上能调的主要是几项:

  • 世界缩放(想让 5 平方公里塞进更小的地图就调低比例)
  • 出生点(想从哪里开始游戏)
  • 建筑内部生成(要不要给大楼做出房间结构)
  • 生成模式,一共三种:geo-terrain(默认,真实地形 + OSM 要素)、geo-only(平面地 + 要素)、terrain-only(只生成地形,跳过一切 OSM 数据)

第三步:开始生成。点 Start Generation,等进度条走完。产出就是一个标准 Minecraft 存档,拖进存档目录直接开玩。

功能亮点:它还原了什么

  • 真实高程地形:山是山、谷是谷,河流和湖泊带深度,不是平地贴图。高程数据的获取与后处理在 [src/elevation/mod.rs]。
  • 建筑还原:读 OSM 里的建筑标签生成体量,外墙按用途做出不同立面,门窗、广告牌、公交和地铁图标都会贴上对应位置,细节逻辑集中在 [src/element_processing/buildings.rs]。
  • 区域化植被:项目内置了非洲、东亚、欧洲、南美、北美等地分的树种包(见 assets/tree-packs/),柏林长白桦、加州长橡树,不会出现"热带椰子树长在德国"的穿帮。
  • 特色结构:车辆、船只、起重机、灯塔、风车、游乐场等现成模型按需布置,加载规则在 [src/structures/mod.rs]。
  • 3D 地标模型:对 Wikidata 上有 3D 模型的名著建筑(例如慕尼黑奥林匹克体育场),会拉取模型体素化后放进地图,索引文件在 assets/wikidata_3d_models.json。
  • 双端兼容:Java 版和基岩版都能导出,还能顺带产出 Luanti(原 Minetest)格式,对应 src/world_editor/。

生成出来是什么样

一句话描述:一座按原样摆进方块的城。楼高大致贴合原建筑,路网走向和街巷密度都来自真实数据,水系沿真实河道铺开,植被跟着气候带走。细节多不多取决于你选的区域大小——区域越小,单位面积里能生成的细节越足。

常见坑一次说清

问:选很大的区域会卡死吗?

Arnis 用多线程分块并行生成,整体吞吐很快,但超大区域仍然吃内存。建议第一次先从 1~2 平方公里跑通全流程,再逐步放大;如果只要地形不要城市要素,切到terrain-only模式,跳过 OSM 请求,速度和内存压力都最小。

问:需要联网吗?

要。运行时会实时请求 OSM 和高程瓦片,所以离线环境跑不起来。好消息是下载过的高程瓦片会留在本地缓存,同一片区域二次生成明显更快。

问:生成完能直接进游戏吗?

能。Java 版丢进.minecraft/saves/,基岩版也是完整存档结构,不需要任何转换器。注意 Java 版要求 1.17 及以上。

进阶:一行命令批量出图

图形界面适合手动操作,命令行则适合批量和自动化。仓库地址:https://gitcode.com/GitHub_Trending/ar/arnis,克隆后用一条命令生成:

cargo run --release --no-default-features -- --output-dir="你的存档路径" --bbox="min_lat,min_lng,max_lat,max_lng"

--bbox是四个角点坐标,--mode可以指定三种生成模式(默认geo-terrain),完整参数说明看 [src/args.rs]。配合脚本可以一次性导出多张地图,或者挂进服务器流水线里定期更新。

接下来可以玩什么

最短路径:挑一段有江有山的城区跑一遍geo-terrain,体会 1:1 还原;再用terrain-only拿一张"纯地形沙盘"做基地选址;最后把家乡、校园或者你关心的那片地方也搬进去。从一张地图到一套流程,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),仅供参考

http://www.cnnetsun.cn/news/4192579.html

相关文章:

  • 5 步跑通 Deep-Live-Cam:从空白环境到实时换脸的完整路线图
  • C++模板核心解析:类模板与模板类的本质区别与应用实践
  • mpv 图片轮播:一条命令把文件夹挂上展厅墙
  • 平台视觉API接入实战:从环境配置到批量处理全流程指南
  • Blender 插件三步接入 SadTalker:一键语音驱动人脸动画完整指南
  • C++万能引用与完美转发:从模板类型推断到高效泛型编程
  • HyperLPR3 车牌识别实战:云边端协同架构如何做到 45ms 内出结果
  • 从零搭建ComfyUI工作流:AI绘画到视频生成全流程实战
  • MusicFree歌词自动搜索实战:三步跑通
  • 算法竞赛选手如何打造高通过率实习简历:从解题思维到工程思维的转变
  • jsPDF中文显示速通指南:4步搞定中文字体注册与自动换行
  • tts-server-android:把网络 TTS 音色搬进安卓的朗读与转发方案
  • NBTExplorer 完整上手指南:6 种 Minecraft 数据格式一次搞懂
  • FreeToken:大模型本地推理加速算法解析与实践指南
  • M401a S905L3 刷入 Armbian 完整步骤:把旧电视盒变成 7×24 小时家用 Linux 服务器
  • Lumi源码解析:从WSGI协议到请求分发,看懂迷你框架的核心实现原理
  • SMU Debug Tool 实践指南:Ryzen 逐核调优与底层寄存器读写的完整路径
  • 深入Combo Breaker核心数据结构:区间树与红黑树的工程化实现
  • 3个场景搞定小说创作:提示词库从入门到出活
  • FreeToken技术解析:无损加速本地大模型推理,突破注意力机制内存墙
  • 数学建模论文写作指南:从摘要到附录的高分策略
  • ipydatagrid API速查手册:DataGrid、选择器与渲染器属性完整清单(附示例代码)
  • 如何用手柄玩魔兽世界:WoWmapper 完整配置教程
  • 城通网盘直连解析:用 ctfileGet 拿到一次性下载地址
  • 数据中心AI部署实战:从8MW电力规划到B300服务器容量计算与全链路开发
  • C++模板型别推导:从auto到完美转发的核心机制解析
  • PowerToys FancyZones 窗口管理完全指南:5 分钟掌握免费多屏布局吸附
  • C++模板编程深度解析:从泛型基础到元编程实战
  • NSFC LaTeX模板:格式对齐后还有三条参与路径
  • C++类模板局部特化与默认实参:从通用到定制的进阶指南