cesium——基本数据格式:3D Tiles

第二章:模型数据介绍——3D Tiles

3D tiles作为Cesium的主要支持模型数据,主要适用于展示大区域的建筑模型,采用loD(levels of Detail)分层加载的方法实现模型的快速加载呈现。

3D tiles类型

类型 标识 应用
批量三维模型 b3dm 传统三维建模数据、BIM数据、倾斜摄影数据
实例三维模型 i3dm 一个模型多次渲染的数据,灯塔、树木、椅子等
点云 pnts 点云数据
复合模型 cmpt 复合场景模型

上述的批量3D模型(b3dm)和实例3D模型(i3dm)是基于glTF构建的,点云格式不嵌入glTF中。

3D tiles三维瓦片数据集

第一层级的基本属性

1.png

第二层级属性

2.png
  • boundingVolume:空间范围框,允许有box、sphere、region(盒子、球体、区域)三种范围框,但是只能定义一种
  • geometricError:几何误差,小于父级的几何误差数。
  • content:瓦片内容,uri/url属性引用二进制瓦片数据文件。
3.png

模型和数据结构

FeatureTable(特征表)和Batch(批处理表)是模型记录数据最重要的两张表

FeatureTable:记录的是整个瓦片渲染相关的数据,而不是渲染所需的数据。渲染相关,即有多少个模型,坐标是相对的话相对于哪个中心,如果是点云的话颜色信息是什么以及坐标如何等;渲染所需,例如顶点信息、法线贴图材质信息均由glb部分完成。

Batch:三维模型的要素表,在一个瓦片中,一个三维要素(GIS中的通常叫法)= 一个模型(图形学、工业建模叫法) = 一个BATCH(3dtiles叫法),
批次表中每个属性数组的个数,就等于模型的个数,因为有多少个模型就对应多少个属性。
_BATCHID是与几何数据对应的关键键

Cesium查询瓦片批量表

4.png

用到了 Cesium3DTileFeature.getPropertyNames() 方法获取批量表中所有属性名,用了 Cesium3DTileFeature.getProperty(string Name) 来获取对应属性名的属性值

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容