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 控制:动态切换瓦片精度,平衡画质与性能
  • 空间查询:支持快速碰撞检测与属性交互,解决海量三维数据的实时加载问题,使城市级,全球级三维可视化成为可能
相关推荐
雨田哥5 小时前
3D 数字人的成长养成记
3d·数字人·3d数字人·陪伴·数伴·成长养成·3d数伴
天空之城--11 小时前
Claude Code 高效开发 Web 2D/3D 完全指南:心法、自定义 Skill 体系与社区技能包实战
前端·3d
清风笑烟语1 天前
rustfs 集群部署
3d
还是大剑师兰特1 天前
Unity 从零搭建简易3D场景(新手分步教程)
3d·unity·游戏引擎
EQ-雪梨蛋花汤1 天前
Android 3D 开发教程(三):Sceneform-EQR 配置 PBR 材质、光照、相机与实时阴影
android·3d·材质
弈语道破AI1 天前
3D渲染不再熬时间!即梦 Seedance 2.5 具备3D白模渲染功能的AI视频生成工具
人工智能·3d·音视频
答案—answer2 天前
VibeCoding 能做到什么程度?我用它做了一座 3D 数字博物馆
3d·ai编程·threejs·vibecoding
玖玥拾2 天前
Unity3D RPG 入门项目(四)背包拖拽、物品悬浮提示、项目开发思维
3d·unity·游戏引擎
cyadyx3 天前
【Three.js】Three.js 中加载 3D 模型
前端·javascript·3d
chaoyuanl3 天前
悬空玻璃剧场源头厂家选型全解析|270°裸眼3D悬空玻璃剧场投资避坑指南
大数据·人工智能·3d·xr·娱乐·mr