用一条命令把真实世界生成 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/arnisArnis 读取 OpenStreetMap 与真实高程数据把现实地点生成高保真的 Minecraft 世界。本文按你会实际遇到的任务展开第一次生成、离线导入本地数据、缩放比例与地面高度调整、以及效果排查。 用最短命令生成第一个世界最短路径是命令行。拿到代码后如需克隆仓库地址为 https://gitcode.com/GitHub_Trending/ar/arnis完整输入就一行这条是最小完整命令--bbox按 最小纬度,最小经度,最大纬度,最大经度 的顺序指定要生成的现实区域--output-dir是世界的落盘位置。默认模式就是真实高程地形 建筑和道路不需要额外参数。cargo run --release -- --output-dir ./mc-worlds/hometown --bbox 48.8566,2.3522,48.8600,2.3660跑完后指定路径下会生成一个可直接在 Minecraft Java 1.17 中启动的世界目录。如果你不想碰命令行桌面版提供地图选区界面用矩形工具框选区域、选择要生成的设置点击 Start Generation效果等价于上面这两个参数。 离线导入本地 OSM 数据文件默认情况下 Arnis 会在线查询 OpenStreetMap。--file控制数据来源改为解析本地的.osm或.xml文件全程不触网。当你手里已经有导出的 OSM 数据或者网络环境不稳定时用它。只传--file时可以省略--bbox区域边界会从文件内容自动推导出来。在线拉取与本地解析之间的分流逻辑在 src/retrieve_data.rs行为不符合预期时优先看这个模块的输出。这个示例直接用本地导出的 area.osm 生成cargo run --release -- --output-dir ./mc-worlds/offline --file area.osm 城市太大或太矮调整比例与地面高度城市偏大怎么缩--scale控制真实米到方块块的换算比例默认 1.0 即真实大小有效范围 0.05 到 4.0。注意缩小--bbox不会让城市变小只改变画面里包含的内容想整体缩小只有这个参数一条路。另有一个保护机制scale 低于 0.3 时建筑会坍缩成 1×1 立柱Arnis 会自动跳过对象生成避免产出一堆不可用的像素。城市陷进地下或悬空怎么修--ground-level控制平直地面的基准 Y 坐标默认 -62接近世界底部。当你想让城市落在 64 海平面或者要拼接已有地形时把它设成目标高度即可。--mode控制生成内容的组合默认 geo-terrain真实高程地形 OSM 对象只想拿纯地形用 terrain-only想要平地上的城市用 geo-only。下面的示例把城市整体缩到一半大并把地面抬到 64cargo run --release -- --output-dir ./mc-worlds/paris --bbox 48.8566,2.3522,48.8600,2.3660 --scale 0.5 --ground-level 64边界框本身也是变量区域太大导致生成缓慢时先缩小--bbox再逐步放大。桌面版可以在地图上直观确认框选范围。 效果不对时按症状排查取数据时报 Rate limited数据抓取阶段如果出现Rate limited是 Overpass 服务器的限流不是你的参数有问题。等几分钟重试反复出现时用--downloader换一种下载方式它控制 Arnis 用什么拉取数据默认是内置的 requests也可以试curl或wget。地形比预期粗糙高程数据源按区域自动选择美国境内用 1 米的 USGS 3DEP其他地区走 Mapterhorn逻辑在 src/elevation/selector.rs。结果偏粗时先看日志里 Selected elevation provider 一行确认实际用了哪个源再决定要不要换区域重试而不是盲目改参数。建筑内部和标牌缺失--interior控制是否生成建筑内部默认关闭加上参数才生效--signage控制标牌层级默认 basic路名、交通标志、公交站牌改成 full 会额外加上商铺招牌和门牌号。这个示例同时打开内部、完整标牌和调试日志方便定位问题cargo run --release -- --output-dir ./mc-worlds/debug --bbox 48.85,2.35,48.86,2.37 --interior --signage full --debug⚙️ 用批量与自动化复现同一个世界复用同一份数据避免漂移--save_json_file控制下载的 OSM 数据缓存到哪里。首次生成时加上它数据会被存成 JSON 文件之后所有生成改用--file指向同一份文件输入数据完全一致结果可复现。两个参数互斥同一次运行只能选加载或缓存不能同时。把城市旋转到基座方向--rotation控制顺时针旋转角度度有效范围 -90 到 90。把生成的城市拼接到已有地形或基地旁边、想让主干道对齐某个方向时用。这个示例把整座城市顺时针转 45 度cargo run --release -- --output-dir ./mc-worlds/rot --bbox 48.85,2.35,48.86,2.37 --rotation 45⚠️ 容易踩的坑按出现频率排这几类报错出现频率最高且原因都明确--bbox坐标顺序写反。正确格式是 最小纬度,最小经度,最大纬度,最大经度纬度在前、经度在后最小值在前。把经度,纬度塞进去会得到空区域或直接校验失败。Java 版漏传--output-dir会直接报错换--bedrock生成基岩版世界时该参数变为可选。scale 设到 0.3 以下地图看起来是空的这不是 bug是对象生成被保护机制自动跳过。--terrain现在是无操作标记传了也不影响结果地形默认开启要平地城市得用--mode geo-only。--spawn-lat和--spawn-lng只传其中一个会校验失败必须成对出现且落在--bbox范围内另外 terrain-only 模式下--file会被忽略--bbox始终必填。Arnis 把现实的路网和高程变成可以走进去的世界。想继续深入地形质量可以从 src/elevation/ 目录下的数据源选择逻辑读起高程源就是在那里决定的。【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考