3D Tiles 格式中,Bounding Volum

3D Tiles 格式中,Bounding Volum

在 3D Tiles 格式中,Bounding Volum (包围体),是空间索引的核心机制,它通过层级化的空间范围定义,实现大规模三维数据的高效加载与渲染,

Bounding Volum 是什么?

  • 空间包裹盒:每个瓦片 (Tile)包含一个几何体(如盒子,球体或区域),用于精确描述该瓦片内所有模型数据的空间范围
  • 层级嵌套结构 :在瓦片金字塔中,父瓦片的Bounding Volum 完全包含其子瓦片的 Bounding Volum,形成树状空间索引。

核心作用与功能

  1. 视锥体剔除
  • 原理 : 相机渲染时,快速检测瓦片的 Bounding Volum 是否在视锥体可见范围内
  • 效果 : 仅加载并渲染可见范围内的瓦片(例如:相机背面的建筑瓦片直接跳过)
  • 减少GPU渲染压力,提升帧率(尤其对城市级模型)。
  1. 细节层级控制 (LOD切换)
  • 原理 : 根据瓦片与相机之间的距离,计算其在屏幕上投影大小 (屏幕空间误差,SSE)
  • 效果 : 距离远 ,使用低精度瓦片 (父级 Bounding Volum 粗略包裹)
    距离近, 加载高精度瓦片 (子级Bounding Volum 精细包裹)
  • 避免不必要的细节加载,(如:1公里外的树木,用点云代替精细模型)
  1. 碰撞检测与空间查询
    原理:通过Bounding Volum 快速判断物体与瓦片的交集,(如:射线拾取,车辆碰撞)
    高效支持交互操作,如点击建筑查询属性。

实际效果与性能优化

  1. 加载速度提升,仅请求可见瓦片,减少网络传输量(如100平方千米倾斜摄影数据,实际加载 小于 1 平方千米的瓦片)。
  2. 渲染效率飞跃 : 剔除 70% - 90%不可见瓦片,(实测:百万级建筑场景,帧率从 5fps - 60 fps)
  3. 内存占用优化 :动态卸载视锥体外的瓦片,避免浏览器崩溃。
    如Cesium的LRU缓存策略。
总结

Bounding Volume 是 3D Tiles中定义瓦片空间范围几何体 (BOX,Sphere,Region)

用于构建空间索引层级。

核心作用
  • 视锥剔除 : 跳过不可见瓦片,提升渲染效率;
  • LOD 控制:动态切换瓦片精度,平衡画质与性能
  • 空间查询:支持快速碰撞检测与属性交互,解决海量三维数据的实时加载问题,使城市级,全球级三维可视化成为可能
相关推荐
军军君016 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
CG_MAGIC9 小时前
Substance Painter 高效出图:贴图导出与后期优化技巧
3d·贴图·maya·substance painter·渲云渲染·3d软件
图生生16 小时前
基于AI的电商产品2D转3D,降低3D建模开发成本
3d·ai
mocoding1 天前
Flutter 3D 翻转动画flip_card三方库在鸿蒙版天气预报卡片中的实战教程
flutter·3d·harmonyos
2501_948120151 天前
3D虚拟衣服动画系统关键技术的研究与实现
3d
应用市场2 天前
基于上下文感知分层深度修复的3D照片生成技术详解
3d
你好!蒋韦杰-(烟雨平生)2 天前
OpenGL
c++·数学·游戏·3d
星幻元宇VR2 天前
消防安全教育展厅设备|消防器材装备3D展示系统
安全·3d·虚拟现实
山楂树の2 天前
3D渲染分层机制 Layers 的原理分析(Threejs)
数据结构·3d·相机
应用市场2 天前
【自动驾驶感知】基于3D部件引导的图像编辑:细粒度车辆状态理解技术详解
人工智能·3d·自动驾驶