做 Cesium 三维地图总在重复找工具?这 40 个开源资源收藏备用
3D Tiles 是由 Cesium 发起、现已成为 OGC 社区标准的三维地理数据格式规范,专门用于在 Web、桌面和移动端高效渲染大规模异构三维地理内容——城市建筑、点云、地形、倾斜摄影等数据,都可以用这套格式统一组织和流式加载。
围绕 3D Tiles 生态,GitHub 上有一份持续维护的资源清单 awesome-3d-tiles(https://github.com/pka/awesome-3d-tiles),收录了渲染库、桌面工具集成、瓦片生成工具、glTF (opens in a new tab) 处理、演示应用和学习资料。本文把清单里的所有资源整理出来,补充说明每个工具的定位,方便按需查找。

渲染与可视化库
这一类是做 3D Tiles 可视化的直接选型对象,覆盖从专业 GIS 框架到通用 three.js 生态的各种选择。
CesiumJS 3D Tiles 的"原产地"渲染引擎,支持三维地球、二维地图,对 3D Tiles 的支持最为完整,包括 LOD 加载、样式、拾取等完整功能链。 https://github.com/CesiumGS/cesium (opens in a new tab)
3DCityDB-Web-Map-Client 基于 CesiumJS 构建的专用查看器,专门针对 CityGML 和 3D Tiles 数据,是 3D City Database 配套的可视化前端。 https://github.com/3dcitydb/3dcitydb-web-map (opens in a new tab)
loaders.gl 来自 vis.gl 体系的格式解析库,提供 3D Tiles 的解析器和编码器,可以独立于渲染框架使用,也常作为 deck.gl 等框架的底层依赖。 https://loaders.gl/docs/specifications/category-3d-tiles (opens in a new tab)
deck.gl 同属 vis.gl 体系的 WebGL 可视化框架,通过 Tile3DLayer 组件支持 3D Tiles 渲染,擅长大规模数据的叠加分析,常与地图底图结合使用。 https://deck.gl/docs/api-reference/geo-layers/tile-3d-layer (opens in a new tab)
3d-tiles-renderer NASA AMMOS 团队维护的 three.js 渲染器,完全基于 three.js 生态,适合已有 three.js 项目的接入,不需要引入 Cesium 整套体系。 https://github.com/NASA-AMMOS/3DTilesRendererJS (opens in a new tab)
three-loader-3dtiles 纽约时报技术团队开发的 three.js loader,将 OGC 3D Tiles 作为标准 loader 模块引入,可以与其他 three.js loader 按相同方式使用。 https://github.com/nytimes/three-loader-3dtiles (opens in a new tab)
threedtiles 轻量级的 three.js 3D Tiles 查看器,实现简洁,适合快速验证数据或作为学习参考。 https://github.com/ebeaufay/3DTilesViewer (opens in a new tab)
ThreePipe 基于 three.js 构建的 3D 查看器框架,提供插件化架构,支持 3D Tiles 加载,定位是通用的 3D 内容查看和处理平台。 https://threepipe.org/ (opens in a new tab)
A-Frame component 同样来自纽约时报技术团队,将 3D Tiles 集成到 A-Frame(WebXR 开发框架)中,可以在 VR/AR 场景中加载 3D Tiles 数据。 https://github.com/nytimes/aframe-loader-3dtiles-component (opens in a new tab)
iTowns 法国国家地理信息研究院(IGN)主导的 three.js WebGL 框架,专注于地理空间三维数据可视化,支持 3D Tiles 及多种地理数据格式,学术和政府项目中使用较多。 https://www.itowns-project.org/ (opens in a new tab)
giro3d 基于 three.js 的三维可视化框架,提供可配置的 Web 应用能力,定位是比 iTowns 更通用的地理三维开发基础设施。 https://giro3d.org/ (opens in a new tab)
UD-Viz 城市数据可视化框架,构建在 iTowns 和 three.js 之上,专门面向城市地理空间数据的交互式可视化应用开发。 https://github.com/VCityTeam/UD-Viz (opens in a new tab)
vsgCs 基于 Vulkan Scene Graph(VSG)构建的 3D Tiles 库,面向需要原生性能的桌面端或高性能渲染场景,与 WebGL 方案思路不同,是图形层面的原生集成。 https://github.com/timoore/vsgCs (opens in a new tab)
mapbox-3dtiles Geodan 开发的 Mapbox GL JS 自定义图层,将 3D Tiles 作为自定义渲染层叠加在 Mapbox 地图上,适合已有 Mapbox 地图基础的项目。 https://github.com/Geodan/mapbox-3dtiles (opens in a new tab)
桌面 GIS 与引擎集成
这一类工具将 3D Tiles 能力带入桌面应用、游戏引擎和三维建模工具,适合非 Web 场景的三维地理数据处理。
QGIS 最广泛使用的开源桌面 GIS,从 3.34 版本起原生支持 3D Tiles 数据加载,可以在熟悉的 GIS 环境中直接查看和分析 3D Tiles 数据。 https://www.qgis.org/ (opens in a new tab)
3D Tiles for Godot 为 Godot 4 游戏引擎开发的扩展,将 Cesium 3D Tiles 能力集成进来,支持在 Godot 场景中加载地理三维内容。目前仅支持 Windows。 https://github.com/Battle-Road-Labs/3D-Tiles-For-Godot (opens in a new tab)
Cesium for Open 3D Engine (O3DE) 将 Cesium 的 3D Tiles 流式加载能力集成到 Amazon 的 Open 3D Engine 中,面向游戏和实时仿真场景。 https://github.com/CesiumGS/cesium-o3de (opens in a new tab)
blender-3d-tiler Blender 插件,用于将 Blender 中的三维模型切片为 3D Tiles 格式,存放在 Gitee 上。 https://gitee.com/cesium_processing/blender-3d-tiler (opens in a new tab)
瓦片生成工具:Cesium 官方出品
这几个工具由 Cesium GS 公司官方维护,覆盖数据转换、格式处理和底层库开发。
Cesium Ion Cesium 提供的 SaaS 数据托管和转换服务,上传原始数据后自动生成 3D Tiles,是最简便的托管方案,有免费额度,商业用量需要付费。
CDB to 3D Tiles 将 OGC CDB 格式(军用地理数据标准)转换为 3D Tiles,面向国防和仿真行业的数据迁移场景。 https://github.com/CesiumGS/cdb-to-3dtiles (opens in a new tab)
Cesium Native C++ 编写的底层库,负责 3D Tiles 流式加载和 glTF 处理,是 Cesium for Unreal、Cesium for Unity 等插件的底层依赖,也可以独立集成到自定义 C++ 应用中。 https://github.com/CesiumGS/cesium-native (opens in a new tab)
3D Tiles Tools 官方的 3D Tiles 数据处理命令行工具集,支持格式转换、数据优化、压缩处理和内容分析,是处理已有 3D Tiles 数据的常用工具。 https://github.com/CesiumGS/3d-tiles-tools (opens in a new tab)
glTF Pipeline JavaScript 工具库,用于 glTF 和 GLB 格式的转换与优化,支持 Draco 压缩、顶点合并等操作,是 3D Tiles 数据管线中常用的 glTF 处理环节。 https://github.com/CesiumGS/gltf-pipeline (opens in a new tab)
瓦片生成工具:社区出品
这一类工具来自开源社区,覆盖从点云、PostGIS、OBJ、CityGML 等各种数据源到 3D Tiles 的转换,按输入格式选择。
py3dtiles Python 库和命令行工具,用于读写 3D Tiles 格式中的 pnts(点云)和 b3dm(建筑物)瓦片,适合 Python 技术栈的数据处理流程。 https://py3dtiles.org/ (opens in a new tab)
Python 3DTiles Tilers(py3dtilers) 法国里昂大学 VCity 团队开发的 Python 工具,支持从 OBJ、GeoJSON、IFC、CityGML 等多种格式生成 3D Tiles,底层依赖 3DCityDB 数据库。 https://github.com/VCityTeam/py3dtilers (opens in a new tab)
pg2b3dm 将 PostGIS 数据库中的 3D 几何数据直接转换为 b3dm 格式瓦片,适合数据已经存储在 PostgreSQL/PostGIS 中的项目。 https://github.com/Geodan/pg2b3dm (opens in a new tab)
mago 3DTiler 韩国 Gaia3D 公司开发的多格式转换工具,支持将 IFC、3DS、OBJ、FBX、SHP、GeoJSON 等多种格式转换为 OGC 3D Tiles,有详细的使用手册。 https://github.com/Gaia3D/mago-3d-tiler (opens in a new tab) 手册:https://github.com/Gaia3D/mago-3d-tiler/blob/main/MANUAL.md (opens in a new tab)
PLATEAU GIS Converter 日本 MIERUNE 公司开发,专门用于将日本 PLATEAU 城市三维模型(CityGML 格式)转换为 3D Tiles、MVT、GeoPackage 等格式,是处理日本开放城市数据的专用工具。 https://github.com/MIERUNE/plateau-gis-converter (opens in a new tab)
Obj2Tiles OpenDroneMap 旗下工具,将 OBJ 格式文件转换为 OGC 3D Tiles,适合无人机建模或 3D 重建输出的 OBJ 文件转换。 https://github.com/OpenDroneMap/Obj2Tiles (opens in a new tab)
3dtiles(fanvanzh) 支持将 OSGB(倾斜摄影格式)、Esri Shapefile 和 FBX 文件转换为 3D Tiles,国内用户处理倾斜摄影数据时经常用到 OSGB 转换这个功能。 https://github.com/fanvanzh/3dtiles (opens in a new tab)
gltf-to-3d-tiles 将 glTF 模型转换为 GLB、b3dm 或完整 3D Tiles 结构的工具。 https://github.com/xuzhusheng/gltf-to-3d-tiles (opens in a new tab)
citygml-to-3dtiles 专门处理 CityGML 到 Cesium 3D Tiles 的转换,轻量级工具,适合 CityGML 数据的快速转换验证。 https://github.com/njam/citygml-to-3dtiles (opens in a new tab)
vts23dtiles 将 VTS(Melown Technologies 的地图瓦片格式)转换为 3D Tiles,属于专有格式迁移工具。 https://github.com/melowntech/vts-tools (opens in a new tab)
3D City Database(3DCityDB) 开源地理数据库,用于存储、管理和发布虚拟三维城市模型,支持 CityGML 数据,可以与 py3dtilers 等工具配合生成 3D Tiles。 https://www.3dcitydb.org/ (opens in a new tab)
Cesium Point Cloud Generator 将 XYZ 格式点云数据转换为 3D Tiles 点云瓦片,来自慕尼黑工业大学。 https://github.com/tum-gis/cesium-point-cloud-generator (opens in a new tab)
loaders.gl tile-converter loaders.gl 提供的命令行工具,用于将 I3S(Esri 的三维场景图层格式)转换为 3D Tiles,适合从 ArcGIS 生态迁移数据。 https://loaders.gl/docs/modules/tile-converter/cli-reference/tile-converter (opens in a new tab)
tyler 荷兰 3DGI 团队开发,将 CityJSON 格式的城市三维模型切片为 3D Tiles,CityJSON 是 CityGML 的 JSON 简化版本,近年来在欧洲城市数据领域使用越来越多。 https://github.com/3DGI/tyler (opens in a new tab)
OSM Data 3D Tiles 从 OpenStreetMap 数据生成 3D Tiles,可以利用 OSM 的开放建筑和地物数据构建城市三维场景。 https://github.com/TANK2003/osm-data-3d-tiles (opens in a new tab)
glTF 处理工具
3D Tiles 的核心载荷格式是 glTF,这几个工具用于 glTF 数据的读写、转换和优化。
glTF-Transform 功能全面的 glTF 2.0 命令行和 API 工具,支持压缩(Draco、KTX2)、优化、格式转换、属性编辑等操作,是 glTF 处理流程中的常用工具。 https://gltf-transform.donmccurdy.com/cli.html (opens in a new tab)
Open Asset Import Library(assimp) 支持 40+ 种三维格式导入导出的开源库,可以将 FBX、3DS、Collada、STL 等格式转换为 glTF,是格式转换链路中的通用桥接工具。 https://github.com/assimp/assimp (opens in a new tab) 支持的格式列表:https://github.com/assimp/assimp/blob/master/doc/Fileformats.md (opens in a new tab)
Blender glTF 2.0 Exporter Blender 内置的 glTF 导出插件,支持将 Blender 场景导出为 glTF 2.0 格式,包含大量扩展支持,是从 Blender 进入 3D Tiles 工作流的入口。 https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html (opens in a new tab)
地形
3D Tiles 规范中的地形数据通常使用 Quantized Mesh 格式编码,该格式对地形网格进行了量化压缩,适合 Web 端的高效传输和渲染,CesiumJS 和 deck.gl 均支持该格式。
Quantized Mesh 格式规范:https://github.com/CesiumGS/quantized-mesh (opens in a new tab)
地形相关工具的更完整清单可以参考 awesome-quantized-mesh-tiles: https://github.com/bertt/awesome-quantized-mesh-tiles (opens in a new tab)
演示应用
这些是基于 3D Tiles 构建的实际在线应用,可以直接访问体验数据效果。
3D BAG 荷兰全国建筑三维模型,基于激光点云和建筑轮廓重建,覆盖荷兰所有建筑,数据质量高,是最常被引用的 3D Tiles 开放数据集之一。 https://3dbag.nl/en/viewer (opens in a new tab)
柏林 3D:https://berlin.virtualcitymap.de/ (opens in a new tab) 不莱梅 3D:https://bremen.virtualcitymap.de/ (opens in a new tab) 赫尔辛基 3D:https://kartta.hel.fi/3d/ (opens in a new tab) Soest 3D:https://soest.virtualcitymap.de/ (opens in a new tab) 以上四个城市三维模型均由 VirtualCityMap 平台提供,覆盖城市建筑、地形等要素,可以在线浏览体验真实城市的 3D Tiles 渲染效果。
basemap.de 德国官方地图平台的测试版,提供全国范围的三维底图数据。 https://basemap.de/beta/ (opens in a new tab)
UnrealEngineDigitalTwinLowerSaxony 下萨克森州数字孪生项目,将城市三维数据集成到 Unreal Engine,项目开源,附有德语演讲材料。 https://github.com/JulianMuellerLgln/UnrealEngineDigitalTwinLowerSaxony (opens in a new tab) 演讲材料:https://pretalx.com/fossgis2025/talk/8P79JV/ (opens in a new tab)
Google Photorealistic 3D Tiles Google 提供的真实感三维瓦片服务,基于航拍影像和卫星数据生成,通过 Google Maps Platform API 访问,可与 CesiumJS、deck.gl 等框架集成。 https://developers.google.com/maps/documentation/tile/3d-tiles (opens in a new tab)
学习资料
Rendering the World with 3D Tiles Cesium 官方演讲材料,系统介绍 3D Tiles 的设计思路、格式结构和渲染机制,是理解 3D Tiles 规范的入门材料。 https://cesium.com/learn/presentations/#rendering-the-world-with-3d-tiles (opens in a new tab)
Creating 3D Tiles(FOSS4G Europe 2025) 2025 年 FOSS4G 欧洲会议的演讲幻灯片,介绍从数据准备到生成 3D Tiles 的完整流程,偏实践操作。 https://blog.sourcepole.ch/assets/2025/creating-3d-tiles.pdf (opens in a new tab)
mago3DTiler 技术工作坊(FOSS4G-Asia 2024) 2024 年 FOSS4G-Asia 会议的 mago3DTiler 工作坊材料,覆盖工具安装、多格式转换、场景配置等内容,有完整的目录和步骤。 https://github.com/Gaia3D/mago3d-doc/blob/main/foss4g/Table_Of_Contents_En.md (opens in a new tab)
写在最后
3D Tiles 作为 OGC 标准,在地理信息、智慧城市、数字孪生等领域的落地越来越广,工具生态也在持续扩充。上面这份清单覆盖了从数据生产到渲染展示的完整链路,可以根据自己的技术栈和数据类型按需选用。
原始清单由 Peter Korduan 在 GitHub 上维护,欢迎通过 PR 贡献新资源: https://github.com/pka/awesome-3d-tiles (opens in a new tab)