引言

Batched 3D Model(.b3dm)文件,是3d-tiles中单个模型文件,按照官方的文档,是一些基本信息加上glb(Binary glTF)模型文件,参见下图的官网文件说明。

3d-tiles中b3dm文件读取_版本号



单个文件的读取方式

文件的前4位是文件格式名称b3dm,接下来4位是版本号,接下来4位是文件的总长度,后边是featuretable和batchtable的信息,最后是glb文件和一些其他的信息,具体的内容,参见官方的文档。

清楚此文件的格式,就可以对文件进行操作了。

这里使用nodejs语言进行操作,关键的操作步骤如下:

//使用fs模块,读取b3dm文件

const fs = require('fs');
​​ fs.readFile('文件路径', (err, filebuffer) => {​​
if (err)
return
//读取的为nodejs的Buffer类型,参见api进行解析
//格式说明头读取方式
​​const _headstr = filebuffer.toString(​​​​'utf8'​​​​, 0, 4);​​
​​ //版本号和文件总长度读取​​
​​const _version = filebuffer.readUInt32LE(4);​​
​​const _bytelen = filebuffer.readUInt32LE(8);​​
​​ //按照以上方式,featuretable和batchtable等进行读取​​
​​ .....​​
}

     按照此种方式,b3dm中包含的glb文件,也能够单独分离出来,直接可以保存成一个文件进行查看。



引用内容:




“原创不易,赞赏是对作者的最好支持!”