ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

如何将真实地点转换为 Minecraft 地图:Arnis 三步上手完整指南

如何将真实地点转换为 Minecraft 地图:Arnis 三步上手完整指南

如何将真实地点转换为 Minecraft 地图:Arnis 三步上手完整指南

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

想在 Minecraft 里建出家乡的城市?逐格手摆根本不现实。Arnis 是一个免费开源的地图生成工具,它读取 OpenStreetMap 地理数据与真实高程数据,按真实比例还原地形、道路与建筑,直接生成可玩的 Minecraft 世界。

一分钟速览:Arnis 是什么

项目说明
定位将真实世界地理数据转换为 Minecraft 地图的开源生成器(Rust + Tauri,Apache-2.0 协议)
解决什么问题免手工建模,用 OpenStreetMap + 高程数据自动生成带真实地形、道路、建筑的 1:1 世界
输出格式Minecraft Java 版(1.21.4+,Anvil 格式)、基岩版(.mcworld)、Luanti/Minetest(map.sqlite)
适用人群Minecraft 玩家、地理/城市规划教学、游戏地图作者
获取方式下载 Release 安装包,或git clone后用 cargo 自行编译,无需任何付费授权

当前版本为 3.3.0,支持 Windows、macOS、Linux 三平台,默认带图形界面(Tauri),也提供完整的命令行模式。

它能做到什么:从真实地形到游戏城市

  • 真实高程地形:拉取卫星级高程数据,把丘陵、峡谷、海岸线原样搬进游戏,可用--height-multiplier放大或压缩起伏
  • 1:1 比例还原:默认 1 格 = 1 米,街道宽度、建筑轮廓按 OSM 真实数据生成;--scale支持 0.05~4.0 缩放
  • 完整城市要素:建筑(含可选室内生成)、道路与立交桥梁、铁路与轨道、水系与岸线、行道树(内置 3000+ 棵 Schematic 树木,按全球植被分布选择树种)
  • 真实立面:接入 Mapillary 街景照片重建建筑外墙,或使用内置立面贴图包(见assets/building-facades/)
  • 多种生成模式:geo-terrain(默认)、geo-only(平地)、terrain-only(纯地形)、blueprint(建筑只画轮廓线)
  • 主题与玩法:深冬雪景、废土废墟、Minecraft 原生洞穴+矿物+8 种洞穴生物群系、可行驶车辆与轨道列车、地标探索成就系统
  • 超出地球:--body moon/mars可用 NASA PDS 数据生成月球/火星地形

上手三步:从安装到第一张地图

第一步:获取代码并编译

先安装 Rust 工具链(rustup),然后克隆仓库并编译:

git clone https://gitcode.com/GitHub_Trending/ar/arnis cd arnis cargo build --release

编译产物在target/release/arnis。如果只是想跑命令行版,可用cargo build --release --no-default-features跳过 GUI 依赖。

第二步:运行图形界面

./target/release/arnis

界面左侧是地图区域,右侧是生成参数面板(生成模式、世界比例、地面高度、雪景开关等)。

第三步:框选区域并生成世界

  1. 用矩形选择工具在地图上框出目标区域,下方会实时显示 bbox 经纬度坐标(min_lat,min_lng,max_lat,max_lng);
  2. 设置输出目录为你的存档文件夹,例如.minecraft/saves;
  3. 点击 Start Generation,等待进度条走完,世界文件夹即出现在存档目录中,打开 Minecraft 就能进入。

不想用 GUI 也可以一条命令完成(Linux/macOS 示例):

./target/release/arnis \ --output-dir="$HOME/.minecraft/saves" \ --bbox="min_lat,min_lng,max_lat,max_lng"

Windows 上把输出目录换成C:/YOUR_PATH/.minecraft/saves即可。加--bedrock则输出基岩版.mcworld。

参数与选项:关键配置速查表

命令行参数与 GUI 设置一一对应,完整清单见 src/args.rs。

参数推荐值作用
--bbox必填*生成范围,格式min_lat,min_lng,max_lat,max_lng
--scale1.0每米对应格数,1.0 为真实大小;合法范围 0.05~4.0
--output-dir存档目录世界输出位置;Java 版必填,基岩版默认桌面
--ground-level-62世界地面所在 Y 坐标
--modegeo-terrain生成模式:geo-only(平地)/terrain-only(纯地形)/blueprint(建筑轮廓)
--height-multiplier1.0地形高度倍率(0.1~10),山丘过高时建议 0.5 压缩
--bedrock/--luanti关输出基岩版.mcworld或 Luantimap.sqlite
--winter/--post-apocalyptic关深冬雪景 / 末日废墟风格
--overture开用 Overture Maps 补齐 OSM 缺失的建筑轮廓
--caves关在填充地面下雕刻原生洞穴、矿脉与主题洞穴群系
--signagebasic可读标牌:none/basic(路牌、公交站)/full(含店招、门牌)
--moving-vehicles关车辆按限速行驶、列车按线路停靠(仅 Java)
--map-preview关额外导出一张俯视 PNG 地图预览
--mapillary-token—Mapillary API 密钥,启用街景照片重建建筑立面

* 若用--file提供本地 OSM 文件,bbox 可从文件中自动推导。

原理拆解:地理数据如何变成方块

Arnis 的生成管线在 src/data_processing.rs 中编排,核心数据流为:

1. 数据获取— src/retrieve_data.rs 并行拉取三类数据:OSM 路网与建筑(优先走 OSM tile 归档,src/osm_tiles.rs)、Overture Maps 建筑轮廓(src/overture/)、高程栅格(src/elevation/的 provider 体系,Mapterhorn/AWS Terrain Tiles 可选)。

2. 坐标转换— src/coordinate_system/transformation.rs 的CoordTransformer把经纬度 bbox 换算为局部切平面笛卡尔坐标,再按--scale映射为方块坐标;--projection web_mercator可改用 Web Mercator 投影,使真实经纬度与游戏坐标对齐。

3. 高程整形— src/elevation/mod.rs 将原始海拔转换为 Minecraft Y 值,postprocess阶段做离群点滤波、异常修复,并按scale_to_minecraft_reserving把高差压缩进可用建高范围内。

4. 要素处理— src/element_processing/ 按 OSM 标签分派:buildings.rs处理建筑与室内、bridges.rs处理立交、railways.rs/waterways.rs处理轨道与水系、tree.rs配合src/trees/的树种库放置树木。

5. 世界写入— src/world_editor/ 把方块分区(section)写入 Java Anvil、基岩版.mcworld或 Luanti 格式,src/datapack/再注入成就、信号灯等功能数据包。

进阶玩法:从一张地图到持久世界

  • One World 持续扩建:--one-world让多次运行追加写入同一个 Java 世界,配合--projection web_mercator可让各地块的坐标与真实经纬度保持一致,逐步"盖"出一整座城市
  • 街景立面:配置--mapillary-token后,--mapillary-probe可先探测某区域街景覆盖率,再生成照片级建筑外墙;无密钥时可用--building-facades挂内置立面贴图
  • 本地数据复用:--file读本地 OSM/Overpass JSON,--save-json-file把本次拉取的数据存档,离线重复生成
  • 洞穴调试:--caves --cave-zone-map out.png先渲染洞穴生物群系分布图,确认布局再正式生成;--cave-biomes lush=150,deepdark=0可自定义主题占比
  • 远视渲染:--voxy-lod预生成 Voxy mod 的 LOD 缓存,进图即可见地平线;--map-preview输出俯视图做快速验收

避坑指南:最常见的 3 个问题

问题 1:生成的地图里没有建筑,只有地形

  • 表现:世界只有路面和空地,或建筑缩成 1 格小柱子
  • 解法:检查--scale,低于 0.3 时 OSM 对象会被整体跳过(道路最小宽度限制);同时确认该区域 OSM 数据本身是否完善,必要时保持--overture开启补齐建筑

问题 2:参数组合报错,生成直接退出

  • 表现:如 "Cannot use --bedrock and --luanti together"
  • 解法:--bedrock与--luanti互斥;--discoveries、--traffic-lights、--moving-vehicles、--zombie-outbreak依赖 Java 版数据包,仅对 Java 世界生效;--one-world要求--rotation 0且仅限地球 + Java

问题 3:大区域生成极慢或内存吃紧

  • 表现:数小时不出结果,或进程被系统杀掉
  • 解法:先从小 bbox 验证参数;高程网格按 f32 存储,城市级区域轻松上千万格,内存预留要充足;用--no-tile-archive直连 Overpass 会显著变慢,默认归档通道更快,除非数据有更新需求否则保持默认

落地场景:谁在用 Arnis

  • 地理教学:已有多项研究用 Arnis 生成的洪水地形世界做 K-12 防洪教育实验(Floodcraft),学生在游戏里直观理解水位与城市的关系
  • 城市规划可视化:把规划区 OSM 数据直接生成 3D 场景,向公众展示道路、建筑密度与地形关系的真实尺度效果
  • 个人与游戏创作:复刻家乡街区作为生存基地,或用--post-apocalyptic+--caves一键生成末日探险地图

结语

Arnis 把"用真实地理数据生成 Minecraft 地图"这条链路完整打通:开源、免费、命令行与图形界面双通道,从一个小街区到整座城市都可按真实比例还原。下一步:

  1. git clone仓库并cargo build --release
  2. 运行 GUI,框选一个 1~5 平方公里的熟悉区域
  3. 输出到.minecraft/saves,进游戏核对街道与地标
  4. 用--scale、--height-multiplier微调比例与起伏
  5. 尝试--one-world持续扩建你的城市

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

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

返回列表