幕后揭秘:OpenStreetMap 数据如何变成一个 Minecraft 世界
你画一个矩形,等上几分钟,就得到一个 Minecraft 世界。这中间到底发生了什么?这里是简短版本。
Step 1 — 我们向 OpenStreetMap 询问那里有什么
OpenStreetMap(OSM)是一份免费的、由社区共建的世界地图。针对你所选的区域,我们获取它的数据:带高度的建筑轮廓、道路与小径、水域、公园、土地利用以及兴趣点。
Step 2 — 我们加入地形
平坦地面上的平面建筑看起来会很别扭。我们叠加高程数据,让丘陵、山谷、河岸和海岸线得以呈现 —— 你的城市坐落在真实的地形之上。
Step 3 — Arnis 把数据变成方块
繁重的工作由 Arnis 完成,这是一个用 Rust 编写的开源引擎。它把每一项地图要素翻译成 Minecraft 方块:建筑轮廓变成带屋顶的墙体,道路变成小径,公园变成草地和树木,水域变成水。所选用的材质会与实际存在的事物相匹配。
Step 4 — 我们打包并交付
成果会写成标准的 Minecraft 存档 —— 基岩版是一个 .mcworld,Java 版则是一个世界文件夹 —— 然后我们把链接通过邮件发给你。对于 Java 世界,我们还会用 BlueMap 在你的浏览器中渲染一个可探索的 3D 预览。
从头到尾全部开源
转换引擎是 Arnis(Apache-2.0,由 Louis Erbkamm 及贡献者开发);地图数据来自 OpenStreetMap,采用 Open Database License。MapMC 的工作就是让这一切在你的浏览器里几分钟内跑通 —— 无需安装,无需命令行。
想在自己的城市上看看效果?打开生成器 →。
