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 与高程数据生成真实感 Minecraft 城市的开源命令行工具。给它一个边界框和一条命令,它会自动把家乡的街道、建筑、地形复刻成可游玩的 Minecraft 世界,适合想在游戏里"搬回家"的玩家。
生成城市前先搞懂 3 个核心概念
跑命令之前,先弄清三个决定生成结果的核心概念,它们分别对应 Arnis 的主开关。
边界框:四个数字决定建在哪
一切生成都从边界框开始,格式为min_lat,min_lng,max_lat,max_lng,即最小纬度、最小经度、最大纬度、最大经度。粗略换算:边长 1 公里的城市街区,对应约 0.01 度的纬度、经度差。区域越大,Arnis 在线拉取的数据越多,生成也越久。
生成模式:地形、建筑还是都要
--mode决定生成内容,共三档:
geo-terrain(默认)— 真实高程地形 + 街道、建筑、树木等全部 OSM 对象geo-only— 平地 + 建筑,不拉取高程,速度最快terrain-only— 只做真实地形,跳过所有 OSM 查询,不生成任何建筑道路
比例尺:几格等于一米
--scale— 1 米现实距离占多少 Minecraft 方块(默认 1.0,取值 0.05 到 4.0)。1.0 时 30 米高的楼就是 30 格高。注意:低于 0.3 时建筑与道路会小到无法表达,Arnis 会自动只留地形。
一条最小可运行命令的逐字段拆解
搞懂上面三个概念后,一条命令就能开始生成。先克隆仓库并编译:
git clone https://gitcode.com/GitHub_Trending/ar/arnis cd arnis && cargo run --release --no-default-features -- \ --output-dir=/path/to/saves/hometown --bbox=48.8566,2.3522,48.8600,2.3660字段逐个说明:
--output-dir— 世界输出目录,Java 版必填,目录可不存在会自动创建(也接受--path写法)--bbox— 边界框四个数字;用--file提供本地文件时可省略--mode— 生成模式(默认geo-terrain)--scale— 比例尺,方块/米(默认 1.0,范围 0.05 到 4.0)--ground_level— 世界基础地面高度(默认 -62)--spawn-lat/--spawn-lng— 出生点坐标,必须成对出现且在边界框内
不想敲命令的话,不带参数直接启动会进入图形界面,在地图上画矩形选区域、配置参数后点 Start Generation 即可:
三种典型场景的差异化做法
跑通最小命令后,不同目标对应不同的参数组合。
小区域试跑:先看效果再放大
先圈一个 0.5 平方公里左右的街区试生成,并加上--map-preview输出一张俯视 PNG 截图。效果满意后再扩大 bbox,比大区域跑完才发现参数配错快得多。
大区域生成:降比例尺、切分区域
整座城市数据量大,两条路:把--scale降到 0.5 左右降低细节密度;或者切成 2~3 块分别生成,并用--projection web_mercator让多次生成的坐标保持全局一致。
离线数据源:本地文件跳过联网下载
网络访问 Overpass API 不稳定时,把 OSM 数据(.osm/.xml文件)存到本地,再这样生成:
cargo run --release --no-default-features -- \ --output-dir=/path/to/world --file=/path/to/area.osm有--file时--bbox可省,Arnis 会从文件自动推导边界。在线生成时加--save_json_file还能把下载的数据存成 JSON,下次直接复用。
踩坑急救:4 个高频报错与解法
现象:报 "The --output-dir argument is required"原因:Java 版必须指定--output-dir,只有 Bedrock(--bedrock)时才可省略解法:补上输出目录,路径不存在也没关系
现象:scale 校验失败,提示范围 0.05 到 4.0原因:--scale超出取值范围,或设得太低导致对象被跳过、只剩地形解法:大区域用 0.5~1.0;想要建筑就别低于 0.3
现象:提示出生点不在边界框内原因:--spawn-lat与--spawn-lng必须成对给出,且坐标要落在 bbox 内解法:改成边界框中心坐标;不想移动视角就干脆不传这两个参数
现象:数据下载极慢或超时中断原因:在线查询走 Overpass API,大 bbox 容易被服务端时限打断解法:先小区域试跑;或用--file切离线模式;--timeout可调整洪水填充超时
现在就动手
打开地图查一下你家乡的经纬度中心,圈一个边长 1 公里的 bbox,照上面的最小命令跑一次。第一次成功之后,你只需要反复调--scale、--mode、--output-dir三个参数,就能把现实中的任意街区搬进 Minecraft。
【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考