3d-tiles中b3dm文件读取

Batched 3D Model(.b3dm)文件,是3d-tiles中单个模型文件,按照官方的文档,是一些基本信息加上glb(Binary glTF)模型文件,参见下图的官网文件说明。
在这里插入图片描述
文件的前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文件,也能够单独分离出来,直接可以保存成一个文件进行查看。

引用内容:
https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel
http://nodejs.cn/api/buffer.html
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值