3D Tiles 用空间层级和几何误差流式组织三维内容
说明 tileset、包围体、几何误差和细化如何支持大规模三维内容按视图加载,并识别坐标与语义边界。
3D Tiles 用空间层级和几何误差流式组织三维内容
城市模型、倾斜摄影、点云和 BIM 数据可能包含数十亿个几何元素,浏览器无法一次下载和渲染。3D Tiles 把内容组织成带空间包围体和细节误差的层级,客户端根据视点、屏幕误差和资源预算选择需要的 tile。
它解决的是大规模三维地理内容的组织与传输,不规定最终颜色、交互和业务语义。一个 tileset 能顺畅显示,不代表坐标、属性或时间信息正确。
tileset 描述入口和层级关系
tileset 的根节点连接子 tile,形成空间层级。每个 tile 可以引用可渲染内容,也可以只是内部组织节点。层级不必严格等同于规则四叉树或八叉树,只要包围体和细化关系满足要求。
树深、分支数和内容大小共同影响请求。层级过浅会下载大块无关内容,过深则产生大量小请求和调度开销。设计应使用真实设备和视图测试,不能只按源数据目录机械切分。
外部 tileset 可以把大型树拆成多个清单,便于分区生成和更新。但引用关系、版本和缓存必须一致,某个子清单缺失会造成局部空洞。
包围体驱动可见性和请求选择
tile 使用盒、球或地理区域描述空间范围。包围体应覆盖内容,过小会在仍可见时被裁掉,过大则加载无关数据。倾斜建筑、地下对象和跨日期变更线内容需要特别检查。
包围体的坐标语义要与变换结合理解。局部坐标可通过节点变换放到地球参考系,重复应用或遗漏变换会让模型偏移。高精度全球坐标还要处理浮点精度,通常在渲染端采用局部参考。
内容包围体和 tile 包围体可以承担不同用途,但不能互相矛盾。生成后应抽样比较真实顶点范围,并在多个相机方向检查裁剪。
geometricError 表达允许的几何近似
几何误差表示当前 tile 相对更精细表示的近似程度。客户端把它投影为屏幕空间误差,决定是否请求子节点。数值不是文件大小,也不是固定米级精度保证。
误差过大会过早细化,带来网络和渲染压力;过小会长时间显示粗糙模型。不同类型内容对误差感知不同,建筑边缘、地形和点云不能简单共用一个经验值。
父子误差应随细化合理下降。生成器若只填固定常数,客户端选择会失去层级意义。验证可在固定视点记录选中层级、三角形或点数和视觉偏差。
REPLACE 与 ADD 控制细化方式
替换细化在子内容加载后用更精细层级替代父内容,适合多级近似。添加细化让子内容与父内容共同显示,适合逐步增加点或对象。选择错误会造成重复、缺失或突然跳变。
网络加载是异步的。父内容通常要保持到子内容可用,避免画面空洞;但同时显示可能产生重叠和深度冲突。客户端策略与数据设计要一起测试。
层级切换还会影响拾取和属性查询。同一现实对象在多个层级可能有不同几何和标识,需要稳定业务 ID 才能保持选择状态。
内容格式承载几何和元数据
3D Tiles 1.1 可使用 glTF 等内容表达网格、材质和场景结构。几何压缩减少传输,却增加解码成本并可能引入误差。纹理分辨率和 mipmap 也应随层级设计,否则几何已简化但纹理仍占主要带宽。
点云需要考虑点密度、颜色、分类和强度;建筑模型需要实例化与批量属性;倾斜摄影关注纹理接缝。格式支持某种属性,不代表每个客户端都能高效查询。
元数据模式应定义类、属性、类型和单位。字段名相同但语义不同会破坏跨 tileset 查询。敏感属性也不应因为嵌入可视化文件就公开下载。
坐标、高程和时间需要外部语义约束
三维位置依赖水平和垂直参考。椭球高、正高和局部工程高程混用会产生整体悬浮或下沉。tileset 应记录来源 CRS 和转换过程,即使运行格式使用固定地心坐标。
建筑时间、施工状态和传感器时刻不是层级本身定义的。需要应用模式或扩展表达,并说明查询和切换规则。把多个日期几何简单叠加会造成重影。
数字孪生还需要对象关系、状态同步和业务事件。3D Tiles 提供高效空间载体,但不替代领域模型、主数据和更新协议。
生成流水线要保持可追溯
源数据经过坐标转换、切分、简化、纹理打包和压缩。每一步都可能改变几何或属性,需要记录工具、参数、版本和输入摘要。只保留最终 tileset,无法解释偏移与缺面。
增量更新可以重建受影响子树,但父层近似、包围体和误差也可能需要更新。同名覆盖会与 CDN 缓存冲突,版本化路径和原子切换更容易保证一致。
质量检查包括 JSON 与模式、引用完整性、包围体覆盖、几何误差单调性、坐标抽样、属性一致性和远程加载。视觉抽查还要覆盖近远景、快速移动和不同设备。
性能取决于服务端和客户端共同预算
服务端应支持缓存、压缩和并发范围访问,稳定 URL 与 ETag 有助于复用。大量小文件在高延迟网络中表现很差,可以通过合理 tile 大小和协议能力平衡。
客户端受网络、内存、GPU 和解码线程限制。只追求最高细节会引发抖动和崩溃,应设置加载、缓存和屏幕误差预算。移动设备与桌面工作站需要不同策略。
监控应记录请求数、字节、选层、解码和帧时间。首屏快不代表漫游稳定,热点视角和快速穿越更能暴露层级问题。
3D Tiles 将空间层级、近似误差和可渲染内容连接起来,使大规模三维数据能够按视图流式加载。可靠产品仍依赖正确坐标、可追踪生成、明确元数据和真实终端验证。
资料依据
- Open Geospatial Consortium:3D Tiles Standard,https://www.ogc.org/standards/3DTiles/
- Open Geospatial Consortium:Standards,https://www.ogc.org/standards/