news 2026/9/14 18:25:55

Arnis:把真实世界的任意地点 1:1 还原进 Minecraft 的免费开源工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Arnis:把真实世界的任意地点 1:1 还原进 Minecraft 的免费开源工具

Arnis:把真实世界的任意地点 1:1 还原进 Minecraft 的免费开源工具

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

Arnis 是一款基于 OpenStreetMap 数据、把现实地理区域 1:1 转换成 Minecraft 方块世界的免费开源工具。它面向想把家乡、学校或景区"搬进游戏"的 Minecraft 玩家、地理老师和城市可视化爱好者,解决的核心问题是:如何让真实的地形起伏、道路走向和建筑轮廓进入游戏,而不是全靠手工搭建。

🗺️ 场景切入:在 Minecraft 里按真实比例走一遍老街

假设你想在 Minecraft 里复刻家乡的主街——学校门口的商店、河道的转弯、厂区所在的小坡,但不想一块方块一块方块地摆。Arnis 会拉取 OpenStreetMap 与高程数据,输出一份可以直接开玩的世界文件。用它你能得到:

  • 1:1 坐标映射:默认 1 个 Minecraft 方块 = 现实 1 米(scale 取 1.0),街道宽度和建筑层高与现实一致
  • 真实地形:方块高度来自实测高程数据,而不是整片平地
  • 建筑、道路、树木、车辆按 OSM 标签自动摆放,建筑外墙从实景纹理包中挑选
  • 可输出 Java 版(1.17+)、基岩版、Luanti(Minetest)三种世界
  • 支持 Windows、macOS、Linux,图形界面与命令行两种用法

🖱️ 如何框选区域并生成你的世界

获取工具

从官方 Release 页面下载预编译包,或自行编译源码(需要 Rust 工具链)。源码获取方式:

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

在地图上框选要转换的区域

启动图形界面后,用矩形工具在地图上拖出一个选区,边缩放边确认边界。首次生成建议 2–5 平方公里:选小了场景单薄,选大了数据拉取和生成时间都会明显拉长。

选定目标版本与生成模式

同一面板里还可以设置世界比例、出生点、建筑内部生成等参数,并选择输出 Java 版还是基岩版。把输出路径直接指向 .minecraft/saves 目录,生成的世界即可原地启动。

启动生成并导入游戏

点击 Start Generation 后,进度条会依次显示数据获取、坐标转换、地形生成、建筑放置的完成情况。不想开图形界面时,也可以一条命令跑完:

cargo run --release --no-default-features -- --output-dir="~/.minecraft/saves/my_world" --bbox="min_lat,min_lng,max_lat,max_lng"

⚙️ 生成前最值得调的 3 个参数

世界比例 --scale:含义是"每米现实对应几个方块",1.0 即真实大小。调大到 2.0,建筑和街道整体翻倍,场面更宏大,但世界体积、生成时间和文件体积都相应上升;调到 0.5,现实 2 米压成 1 个方块,整座城市缩成一隅,适合做微缩景观。首次使用保持 1.0。

生成模式 --mode:默认 geo-terrain 同时生成地形起伏和全部 OSM 要素;geo-only 把道路建筑铺在平地上,速度快很多;terrain-only 只产出地形、不放任何建筑,适合拉很大的山地或海岸范围。区域在 5 平方公里以内且想看到起伏,就保留默认。

建筑内部 --interior:打开后 Arnis 会生成建筑内部结构,细节更好,但方块数量和耗时明显上升。第一次试生成先关掉,地形和布局满意后再开它重新生成。

🔍 Arnis 的坐标转换与地形建筑生成思路

世界为什么总是从 (0,0) 开始。无论你在地球哪一处框选,产物都是规整的矩形世界。实现上,经纬度先经 Web Mercator 投影换成平面坐标,再以选区西南角为原点,按"每米方块数"折算写入 Minecraft 坐标,核心逻辑在 src/coordinate_system/transformation.rs。

地形为什么不平、建筑为什么不是灰色方块。每个方块的高度取自真实高程数据,src/elevation/ 负责多数据源接入与缓存;建筑则按 OSM 轮廓定位,再依据类型从 assets/building-facades/ 的实景立面纹理包里挑图贴墙,门窗位置由标签决定,处理流程在 src/element_processing/buildings.rs。

❓ 常见问题速查

问题:首次生成耗时长,进程像卡住 | 处理:时间主要花在拉取 OSM 与高程数据上。先把区域缩到 2–5 平方公里并用默认参数跑通,数据缓存建好后重跑同一区域会快很多。

问题:建筑尺寸看起来不对 | 处理:检查 --scale。1.0 表示 1 方块等于 1 米;想要更紧凑的城市就设为 0.5,现实 2 米对应 1 个方块,整体等比缩小。

问题:生成的地形完全平坦、没有起伏 | 处理:确认模式。只有 geo-terrain(默认)会同时带地形起伏和建筑;选了 geo-only 是平地铺物,terrain-only 则只有地形没有建筑。

🧭 继续探索

  • 坐标转换模块:经纬度到方块坐标的投影与缩放逻辑
  • 高程数据与来源选择:地形数据源、缓存和后处理
  • 要素处理管线:OSM 标签如何变成道路、建筑、植被与水系
  • 世界输出(Java/基岩/Luanti):三种世界格式的落盘方式

项目采用 Apache-2.0 协议,可免费使用,README 中附有官方文档与社区讨论入口。选一个你熟悉的角落,框出来,然后去游戏里走一趟吧。

【免费下载链接】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/14 18:24:55

如何做放弃遗产公证书:费用、时间与常见问题解答

前言 遗产继承是很多家庭都会遇到的财产处理问题,部分继承人因家庭协商、资产规划、规避债务等原因,会选择自愿放弃遗产继承权。但绝大多数普通人都是初次办理放弃遗产公证,普遍存在不懂流程、不清楚材料、不了解费用时效、容易踩法律误区等…

作者头像 李华
网站建设 2026/9/14 18:24:29

Cursor 只支持 MCP tools?Claude 连上 TaoToken 后把 Resources/Prompts 也跑通

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 18:22:49

SSM框架实现高并发航空订票系统核心技术解析

1. 项目概述:SSM航空客运订票系统核心解析这个基于SSM框架的航空客运订票系统,是我在去年为某中型航空公司交付的实战项目。系统采用经典的SpringSpringMVCMyBatis技术栈,实现了从航班查询到出票完整的业务流程。与市面上那些学生作品不同&am…

作者头像 李华
网站建设 2026/9/14 18:21:45

程序员转型指南:技能迁移与热门方向解析

1. 程序员转型的困境与机遇作为从业十年的技术老兵,我完全理解这种职业倦怠感。当我在2018年第一次产生转行念头时,连续三个月每天醒来都会对着镜子问同样的问题。但有趣的是,程序员身份其实为我们积累了独特的转型资本。1.1 技能的可迁移性分…

作者头像 李华
网站建设 2026/9/14 18:21:24

PHP伪协议安全解析与防御实战

1. PHP伪协议基础与常见类型解析PHP伪协议(PHP Wrapper)是PHP内置的一套特殊URL封装协议,它允许开发者以类似文件系统操作的方式访问各类输入/输出流。这些协议在开发中提供了极大便利,但同时也成为攻击者利用的重要入口点。我们先…

作者头像 李华