免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

Arnis的Minecraft城市生成:复刻你的家乡

Arnis的Minecraft城市生成:复刻你的家乡 Arnis的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 地理数据和海拔数据一个方块一个方块地摆进 Minecraft。️ 先看效果生成结果离真实世界有多近看这张图。德国慕尼黑城区的生成结果图里是真实的慕尼黑城区建筑地块、主干路网、河道走向和周边绿地都按真实地图摆了出来。一句话讲清 Minecraft 城市生成的输入输出关系输入只是你框选的矩形区域的 OpenStreetMap 数据片段加一组高程数据输出是可直接进游戏的世界文件不用手动摆一个方块。⌨️ 动手跑起来Arnis 用 Rust 写需要 cargo 编译它也打包成图形界面应用可以直接下载 release 里的预编译包运行。Nix 用户则能省掉编译用nix run直接跑。自己编译的话git clone https://gitcode.com/GitHub_Trending/ar/arnis cd arnis cargo build --release运行cargo run --release启动图形界面窗口中间是可交互地图右侧是生成设置面板。用矩形工具在地图上框选区域选中区域会高亮面板提示 “Selection confirmed!”。选择 Java 版或 Bedrock 版点 Start Generation底部进度条跑到 100%。在对应游戏里打开生成的世界目录建筑、道路和地形都在位。在地图上框选生成区域不想开界面的话也可以走命令行核心就是两个参数cargo run --release --no-default-features -- \ --output-dir./saves/my_world --bbox48.136,11.566,48.146,11.576协调数据拉取、OSM 解析和世界写入的主流程在 主流程入口。 它能做什么把海拔数据变成起伏地形生成世界里的地面不是平面山丘、河谷、城市边缘的高差都来自真实高程数据。Arnis 按地区自动挑选 USGS 3DEP 等不同的高程数据源对数据做融合和平滑再量化成方块高度。数据源选择与融合逻辑在 高程数据处理模块好奇某片区域用了哪套海拔数据可以翻翻。识别建筑轮廓并分配材质建筑不是随机堆的方块。Arnis 从 OpenStreetMap 里识别出建筑轮廓多边形再根据高度、用途等标签决定楼层数、墙面材质和窗户分布生成时加上--interior一层商铺和室内空间也会一并出来。这部分逻辑在 建筑识别与生成代码。按真实路网铺设道路与水系道路按真实路网铺设主干道宽度、车道数、斑马线和人行道都会考虑进去河岸和水深也按实际水域生成深水区会形成真正能走进去的水坑。相关代码在 道路与高架处理旁边还有水面深度和水体处理逻辑。给植被挑对气候带的树种植物也不是随机绿球。Arnis 自带欧洲、北美、非洲、亚洲等 10 个气候区域的树木包每个区域收录几十到几百个雕刻好的树模型文件名就是树种学名生成时按当地气候带挑选合适的树种。模型文件在 区域树木包目录。上面这些能力的输入其实都来自同一个东西一个矩形坐标。用命令行模式时官方的 bbox 工具可以直接读选出区域的四个角坐标读出选中区域的四角坐标 踩坑与调参如果你遇到生成大区域时内存吃紧、耗时以小时计多半是世界尺寸太大。两个直接的旋钮一是--scale每米对应方块数默认 1.0调成 0.5 世界面积直接减到四分之一二是把区域拆成多个小矩形分别生成并加上--projection web_mercator让所有分块对齐到同一套全局坐标生成后在同一片世界里拼起来。投影实现见 Web Mercator 投影。如果某些区域建筑缺失尤其是测绘稀疏的地方不必怪 OpenStreetMap 数据不全。Arnis 默认开启--overture会用 Overture Maps 的数据补上 OSM 遗漏的建筑轮廓如果你觉得补出来的楼是误检加--overturefalse关掉即可。如果只想拿地形、或者想快速验证参数把--mode切到geo-only物体落在平地上跳过地形计算或terrain-only纯地形连地理数据查询都省了生成时间能差出一个量级。试一试 参与跑通之后可以接着玩把 bbox 换成你学校或公司周边看看和自己住的地方有什么差别或者把--scale提到 2.0让同一个世界的建筑翻倍变高。项目欢迎任何形式的参与——报 bug、改文档、加功能fork 之后提 PR 就行。生成结果不隶属 Mojang 或 Microsoft也不是 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),仅供参考
返回列表