Arnis 教程:3 步把真实地点生成 Minecraft 世界
【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis
Arnis 是一个把真实世界地理数据变成 Minecraft 世界的开源工具。它读取 OpenStreetMap(OSM)数据与高程数据,输出可在 Java、Bedrock 或 Luanti 中直接游玩的地图。本文面向没接触过它的新手,讲清楚框选区域、配置比例、生成世界这三件事怎么做。
它是什么:Arnis 属于哪类工具
Arnis 的定位是"真实地点 → Minecraft 方块世界"。它不替换地图纹理,而是按真实数据逐格生成方块。主要能力:
- 真实地形:基于高程数据生成,山脉、水系、海岸形态与现实一致
- OSM 要素:建筑、道路、铁路、水域等全部来自 OpenStreetMap
- 三端输出:Java Edition(1.17+)、Bedrock Edition、Luanti(Minetest)
- 比例可控:默认 1.0 即 1 米 = 1 方块,可整体缩小或放大
- 内置树形模板包与 3D 模型,树木、车辆、桥梁同步生成
上手流程:从框选地图到生成世界的 3 步
第一步:用矩形工具框选目标区域
图形界面里用矩形工具在地图上框住想生成的范围,工具会把它转成一个边界框(bbox,即四角经纬度围出的地理区域)。命令行里同一个框用--bbox "min_lat,min_lng,max_lat,max_lng"传入即可。
第二步:配置比例与生成模式
--scale的单位是"每米几个方块":1.0 为真实大小,0.5 为一半,有效范围 0.05 到 4.0。注意低于 0.3 时建筑道路已无法表达,会被自动跳过。--mode有三档:
geo-terrain:OSM 要素 + 真实高程地形(默认)geo-only:只放要素,平地terrain-only:只做高程地形,不放要素
地图朝向不合适时,--rotation可顺时针微调,范围 -90 到 90 度。
第三步:启动生成并保存世界
图形界面点 Start Generation,或运行命令。Java 版必须用--output-dir指定输出目录:
arnis --output-dir .minecraft/saves/myworld \ --bbox "min_lat,min_lng,max_lat,max_lng" --scale 1.0跑完后在游戏里打开这个世界,地形、建筑、树木都已就位。
原理白话讲:经纬度是怎么变成方块的
可以把 Arnis 想象成做模型城市的人:先量好每栋楼、每条街的尺寸,再按选定的比例摆到模型底座上。
流程分四步。第一步,拉取 OSM 数据和高程数据。第二步,坐标换算:src/coordinate_system/transformation.rs 把地理边界框(地球表面上的一块区域)换算成 Minecraft 的平面方块框,并算出缩放系数;默认local模式让每次生成都从坐标 (0,0) 开始,web_mercator模式则用 Web Mercator 投影(一种把球面压成平面的方式)计算全局坐标,适合把多个区域拼进同一个世界。第三步,用高程数据决定地面高低。第四步,摆放要素并做地图变换:src/map_transformation/transform_map.rs 中的操作符按顺序对全部元素做平移与旋转,最后写出可游玩的世界文件。
常见问题:生成时容易踩的 3 个坑
Q:区域很大,拉数据慢、内存吃紧怎么办?不要贪一个大 bbox。把它拆成小块分别生成,或调低--scale减少方块数量。大区域可先用--mode terrain-only快速拉出地形,确认比例感后再加要素。
Q:为什么生成的世界里建筑、道路消失了?多半是比例太小。--scale低于 0.3 时,道路宽度不足 1 格、建筑只剩细柱,程序会跳过全部要素。换 0.5 或 1.0 再试。
Q:生成的地图转了向,和地图上的朝向不一致。用--rotation整体顺时针旋转地图,有效范围 -90 到 90。所有参数定义在 src/args.rs,不确定某个开关时可以直接查。
进阶优化:性能与画面细节
--bake-lighting:为每个区块预烘焙光照,LOD 模组(Voxy/Chunky)下远处没进过的区块也有光照,速度变慢,默认关闭--overture:用 Overture Maps 补上 OSM 缺失的建筑轮廓,测绘稀疏的地区有用;密集城区可能混入误检,可按需关闭--max-tree-size:控制模板树的最大尺寸,从 small 到 giant,细节与性能之间取舍- 只想验证平地布局时用
--mode geo-only,跳过高程拉取,出结果快很多
下一步做什么
- 下载最新版本,选一块约 1 平方公里的街区,用默认参数生成第一个世界。
- 结果太挤就试
--scale 0.5;只想看地形就试--mode terrain-only。 - 效果确认后,把 bbox 沿道路向外扩,一块块扩大生成范围。
- 想尝鲜新功能,可以编译源码并持续关注项目更新。
作者:AI助手发布日期:2024-01-10版权声明:本文基于开源项目,遵循MIT协议。
【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考