如何把真实城市数据搬进 Minecraft:Arnis 的地理数据世界生成技术全梳理

发布时间:2026/9/9 15:04:17

如何把真实城市数据搬进 Minecraft:Arnis 的地理数据世界生成技术全梳理
如何把真实城市数据搬进 MinecraftArnis 的地理数据世界生成技术全梳理【免费下载链接】arnisGenerate any location from the real world in Minecraft with a high level of detail.项目地址: https://gitcode.com/GitHub_Trending/ar/arnis方块玩家最较真的事往往不是自己建的那座城而是没能 1:1 还原的家乡。Arnis 直接解决这个痛点它从 OpenStreetMap 抓取地理数据、叠加真实地形高程把一片现实区域按真实尺度生成成 Minecraft 城市——道路、建筑、河流连山脊的起伏都不放过。这篇文章钻进它的源码拆解地图是怎么一步步变成世界的。从圈选到出世界一次生成的完整旅程 ️Arnis 的交互遵循一个原则用户只需要做两个决定——生成哪和生成多大。先圈范围。GUI 里嵌了一张交互地图用矩形工具拖出一个框生成范围就定了命令行则等价地用--bbox参数格式是最小纬度,最小经度,最大纬度,最大经度甚至可以传入一个本地 .osm 文件让它自行推导范围。这个经纬度矩形在内部就是一个 LLBBox 对象后面一切转换的起点都从它开始。然后是配置方法。GUI 设置面板覆盖大部分关键开关世界尺度每米多少方块1.0 即真实大小、出生点、室内生成命令行里 --scale、--interior 一一对应。真正容易被忽略的是生成模式分三档geo-terrain默认建筑道路真实地形、geo-only平地铺建筑、terrain-only只出地形直接跳过 OSM 查询——最后一档对只想要山水骨架的人很友好。最后是生成与验证。点击开始生成后进度条贯穿取数、处理、写盘三个阶段跑完可在界面里直接看渲染出的地图预览图确认区域是否如预期。想自己编译运行下载 release 或克隆源码https://gitcode.com/GitHub_Trending/ar/arnis后 cargo 编译即可参数全在命令行里。界面只是皮。真正的复杂发生在这个经纬度矩形被交给引擎之后。把弯曲的地球压平两套投影并存世界生成的第一个难点不是算法而是坐标——现实地球是弧面的Minecraft 的地面却是一张平的 XZ 网格怎么铺过去不变形src/coordinate_system/里把几何原语拆成两族geographic 管经纬度点和包围盒cartesian 管游戏平面的点、向量、矩形。核心组件 CoordTransformer 支持两种模式Local 模式默认像用尺子把城市蓝图压平先用 Haversine 公式量出区域南北、东西两个方向的实际米数乘以尺度取整得到目标方块尺寸再把任意经纬度点线性映射成整数坐标每次生成都从 Minecraft 的 (0,0) 开始。Web Mercator 模式则复用网图同款投影把原点平移到区域中心z 方向加偏移经度方向再乘中纬度的余弦做校正避免越往东越窄的畸变——它的价值在于可以把多个区域拼进同一个世界侧向组装正好补上 Local 模式每次都从 (0,0) 起算的短板。两套模式并存而非替换Local 的结果还有测试保证与旧实现逐位一致属于典型的新能力不破老行为。坐标定死之后建筑只是等着被填充的轮廓——可地面的起伏从哪来高度来源不止一家带兜底的高程提供者链 ️地形的真实感由高程数据决定而全球最好的高度源分散在不同服务里USGS 3DEP 在美国精度最细AWS Terrain 覆盖广Mapterhorn 全球兜底月球和火星则只能靠 NASA PDS 的行星数据。单一来源注定顾不过来。于是src/elevation/抽象出一个 ElevationProvider 接口providers 子目录里每个数据源是独立实现selector 按来源模式做分级选择生成场景下 Auto 模式先试区域性高分源、失败再回落 Mapterhorn3D 预览只走全球源省得等。数据取回后要过一轮后处理——离群点过滤、NaN 填补、米到方块高度的仿射换算。内存细节同样务实高度网格存 f32 而非 f64城市级包围盒动辄上千万格f64 要约 80MBf32 直接减半后处理则留在 f64 里算保数值稳定。网格每边超过 16384 上限时不再死磕分辨率而是改用双线性插值填充拿非原生采样换不爆内存。高度是骨架下一个问题是几万个多边形怎么又快又不爆内存地涂上去。并行预计算 流式落盘大世界的速度与内存账 城市级世界里有海量多边形逐个取数、填充、绘制串行做时间成本扛不住。Arnis 的答案分两层。第一层是洪泛填充预计算。floodfill_cache.rs在元素处理主循环开始前就用并行任务把所有洪泛填充先跑完结果以 Arc 共享引用存放——处理器后面取结果时只是引用计数加一避免了为每片几十万个格子的森林、农田重复拷贝整份坐标列表。超过 2500 万格上限的巨型闭环则直接标记太大只描边不填充不至于把整个世界拖死。第二层是世界写盘。src/world_editor/里的 WorldEditor 把 Java 版Anvil、基岩版.mcworld、Luanti 三种输出格式统一在同一套方块存储层上格式差异隔离在各文件写入器里。写入过程中拼好的区域被交给 FlushWorker 后台线程池流式落盘、随即从内存逐出之后再落到已逐出区域的写操作直接丢弃。这样即使生成很大区域内存占用也保持平稳而不是随世界尺寸线性膨胀。看结果不只是 2D 贴图的城市效果最好用出图说话。这份真实感来自几处细节内置的assets/tree-packs/里收了近 2000 棵树木结构按非洲、欧亚、澳洲、北美、南美等区域拆成十个包外加 vanilla 混播包一张经纬度查找表自动为落点选包——生成慕尼黑就给欧洲树生成非洲稀树草原就给猴面包树assets/climate/还内置 0.1° 分辨率的柯本气候网格驱动干旱与极地地区的生物群系与地表。此外地标建筑慕尼黑奥运公园有四个大型 .schem 结构、OSM 路牌指示牌以及 Wikidata 等外部 3D 模型都挂在同一条生成流水线上。边界与演进空间说实话Arnis 是单向静态生成工具它完全依赖 OSM 与高程数据的质量——数据没覆盖的地方就没有建筑超大规模区域也有处理上限生成结果更没法反向编辑成现实地图。演进方向上浏览器端的 MapSmith 已经接住了不装软件、生成更大地图的需求而更多高程源与 3D 模型渠道预计会继续接入现有的提供者与流水线框架。想在 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),仅供参考

相关新闻

网盘直链下载助手:三步把网盘链接变成高速下载任务

网盘直链下载助手:三步把网盘链接变成高速下载任务

2026/9/9 15:04:17

网盘直链下载助手:三步把网盘链接变成高速下载任务 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…

当AI搜索成为2026年企业采购第一入口,广州黄埔高新企业如何靠GEO抢占先机?

当AI搜索成为2026年企业采购第一入口,广州黄埔高新企业如何靠GEO抢占先机?

2026/9/9 15:04:17

以前企业采购找供应商,习惯打开百度搜关键词,再一家家查看官网、案例和产品信息。到了2026年,越来越多的采购决策开始出现变化:直接把问题交给AI,让AI推荐供应商、对比产品、整理采购建议。这意味着,对于广…

Immich 数据库迁移全链路:从 generate 到 revert 的 5 个关键动作

Immich 数据库迁移全链路:从 generate 到 revert 的 5 个关键动作

2026/9/9 15:04:17

Immich 数据库迁移全链路:从 generate 到 revert 的 5 个关键动作 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 在 Immich 里做数据库迁移&…

压力测试破防挑战:从QPS到容量边界的系统性能排查指南

压力测试破防挑战:从QPS到容量边界的系统性能排查指南

2026/9/9 16:04:19

压力测试的“破防挑战”:魔改现场下你的系统能撑到第几关?做后端开发的人,最怕的往往不是需求复杂,而是某个平平无奇的周三下午,线上系统突然扛不住流量,“破防”了。平时三五十的 QPS 跑得稳稳当当&#x…

Fan Control快速上手指南:四步搞定电脑风扇的吵闹问题

Fan Control快速上手指南:四步搞定电脑风扇的吵闹问题

2026/9/9 16:04:19

Fan Control快速上手指南:四步搞定电脑风扇的吵闹问题 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa…

Buzz 本地语音转文字:装完 3 步出字幕,Whisper 离线转录免费用

Buzz 本地语音转文字:装完 3 步出字幕,Whisper 离线转录免费用

2026/9/9 16:04:19

Buzz 本地语音转文字:装完 3 步出字幕,Whisper 离线转录免费用 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/b…

如何免费解锁 Wand Pro 功能并搭建手机远程控制:Wand-Enhancer 完整使用教程

如何免费解锁 Wand Pro 功能并搭建手机远程控制:Wand-Enhancer 完整使用教程

2026/9/9 16:04:19

如何免费解锁 Wand Pro 功能并搭建手机远程控制:Wand-Enhancer 完整使用教程 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enha…

Audacity:免费多轨音频编辑,5分钟做出你的第一个MP3

Audacity:免费多轨音频编辑,5分钟做出你的第一个MP3

2026/9/9 16:04:19

Audacity:免费多轨音频编辑,5分钟做出你的第一个MP3 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 你刚录完一段会议录音,背景里有杂音,中间还想剪掉一段废话。Aud…

Windows 10/11 跑 Android 子系统:WSABuilds 从零到跑通的手把手安装手册

Windows 10/11 跑 Android 子系统:WSABuilds 从零到跑通的手把手安装手册

2026/9/9 15:54:19

Windows 10/11 跑 Android 子系统:WSABuilds 从零到跑通的手把手安装手册 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or …

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/9 1:14:29

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/8 4:55:53

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/8 22:37:26

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

扩散模型图像恢复实战:从DDPM原理到PyQt5可视化系统

扩散模型图像恢复实战:从DDPM原理到PyQt5可视化系统

2026/9/9 0:03:36

简介:面向毕业设计场景的PyQt5扩散模型图像恢复项目,提供完整Python源码与项目说明,适合图像处理、深度学习方向的高年级本科生与研究生参考。项目在模块设计上覆盖图像处理、扩散模型、参数配置、用户界面与结果评估五部分,具体涉…

开关电源环路裕量测试实战:相位裕量与增益裕量详解

开关电源环路裕量测试实战:相位裕量与增益裕量详解

2026/9/9 0:03:36

1. 项目概述:为什么环路裕量测试是电子工程师绕不开的“体检项目”“从零开始的电子工程师生活(6)——环路裕量测试”,这个标题一出来,老电源工程师可能已经下意识摸了摸示波器探头,新同事则大概率在想&…

定时插座芯片怎么选?专用定时IC与单片机MCU选型对比

定时插座芯片怎么选?专用定时IC与单片机MCU选型对比

2026/9/9 0:03:36

拆开市面上不同价位的定时插座,你会发现一个有意思的现象:有的里面躺着一颗黑色的软封装芯片,丝印都看不清;有的则是一块小小的蓝色或绿色PCB,上面赫然印着STM8或者STC的字样。同样叫"定时插座",…

远程协作的工作台整理

远程协作的工作台整理

2026/9/8 4:23:39

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/8 3:19:39

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/8 4:00:23

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…