cocos2dx中uiwebview替换为wkwebciewGIS系列(⼗三)什么是b3dm?详解b3dm
上篇⽂章我们知道了什么叫gltf,不知道的可以去
discuzq停止维护
这篇⽂章来了解⼀下什么是b3dm。
⾸先,b3dm是⼀个缩写,它的全称是:Batched 3D Mode(批量化3d模型),顾名思义,批量化指的是⼀定有很多个,不⽌⼀个。
Batched 3D Model allows offline batching of heterogeneous 3D models, such as different buildings in a city, for efficient streaming to a web client for rendering and interaction. Efficiency comes from transferring multiple models in a single request and rendering them in the least number of WebGL draw calls necessary. Using the core 3D Tiles spec language, each model is a feature.
Per-model properties, such as IDs, enable individual models to be identified and updated at runtime, e.g., show/hide,
highlight color, etc. Properties may be used, for example, to query a web service to access metadata, such as passing a building's ID to get its address. Or a property might be referenced on the fly for changing a model's appearance, e.g., changing highlight color based on a property value.
class文件的是什么命令A Batched 3D Model tile is a binary blob in little endian.
译⽂:b3dm允许不同类型的3d模型,例如城市⾥不同的建筑,组织成⾼效的数据流到web端渲染和交互,这种⾼效率来⾃于⼀次请求转化多个模型并且⽤最少的webGL消耗。在3d tiles特殊的语⾔中,每⼀个模型都是⼀个要素。
每⼀个模型的属性,例如ID能够将模型分离成单个的个体,同样也能对这些模型做更新,颜⾊变化,是否展⽰等这样的操作,模型的属性也会有所使⽤,举个例⼦来说,通过⽹络服务去访问元数据,通过建筑的id去访问它的地址,或者动态的属性决定模型外观,根据属性值来改变颜⾊⾼度。
properties是什么文件b3dm⽡⽚是⼀个⼆进制的blob
返回值为string的方法
好,看完了官⽅的介绍以后,基本可以理解为,b3dm也是⼀种数据格式,这种格式符合3d tiles规范,能够做⼀些操作,⽐如说查询,分层设⾊等。b3dm格式的数据通常都是城市的批量化的建筑模型,例如倾斜摄影模型。在实际的⽣产应⽤中,倾斜摄影(或者别的格式的⼤批量模型)的格式并不是b3dm格式的,绝⼤多数的倾斜摄影模型格式是osgb,还有⼀部分是obj,所以我们需要把它转化成b3dm格式的数据,才能进⾏进⼀步的操作。
b3dm格式的数据结构有两部分组成,header和body(有点像html)header部分主要记录了⼀些例如版本,字节长度之类的信息。body 部分主要由3个⽂件构成feature table  batchtable 和binary gltf
⾸先 feature table记录了模型的语义信息,包括每个模型的特征值信息。
reg汇编语言batch table 记录了模型的样式以及rest请求,还有⼀些属性信息。
特别值得注意的是。b3dm数据也是基于gltf的,也就是说批量的模型中的单个模型的模型格式还是gltf,并且数据组织⽅式也和之前讲到过的gltf是⼀样的。说⽩了b3dm就是在原来gltf⼩模型,单个模型的基础之上,做了批量化的数据组织⽅式,多了feature table和batch table两个⽂件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。