一、GLB简介
GLB是以GL传输格式(gltf)保存3D模型的一种二进制文件格式。
-
GLTF文件结构图
参考文档:https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.pdf
参考手册:https://www.khronos.org/files/gltf20-reference-guide.pdf
-
GLB文件结构
包含头文件块和数据块两部分,其中头文件以
uint32
存储专用符magic
,版本号version
以及文件长度length
信息。数据块又分为
JSON
和BIN
两部分,JSON
主要存储一些数据说明,包含scenes
、nodes
、meshsp分页标题e
、accessors
、bufferView
、buffer
等信息说明,BIN
以base64编码存储数据。- 数据存储方式
- 数据存储内容
参考:https://docs.fileformat.com/3d/glb/
回到顶部
二、关键数据
解析GLB文件,可以先获取JSON
块,然后再依据说明依次解析里面的数据
-
meshes
-
primitivesp分页标题e
表明
mesh
包含的数据内容,每个值以索引的方式指向buffer view-
attributes
POSITION
: accessors_ID (表示顶点坐标值)NORMAL
: accessors_ID (表示顶点归一化后坐标值) -
indices
: accessors_ID (表示索引)
-
-
-
accessors
访问器,可以理解成访问数据的一个接口,以数组形式存储,每个
item
内容如下:bufferView
: buffer_view_IDcomponentType
: 数据类型(如:unsigned short / float …)count
: 数据个数type
: 数据存储类型 (如:“SCALAR标量 /p分页标题e
VEC3` 3D向量 …)
-
bufferView
说明每个数据流的信息
buffer
: buffer_IDbyteOffset
: 数据起始位置byteLength
: 数据长度
-
buffer
base64编码的数据
byteLength
: 数据长度
回到顶部
三、GLB数据
在Windows下搜索3D查看器,点击文件 ==> 3D资源库 ==> 选择模型 ==> 文件另存为即可得到glb模型文件
回到顶部
四、GLB读取p分页标题e
借助JsonCPP
库可以读取头部JSON信息,然后解析出位置和索引的相关信息,然后分别进行解析其个数、存储类型等信息。
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性
GLB下载网(glbxz.com)gltf文件下载-glb格式下载-模型制作 » GLB文件格式解析GLTF文件格式解析和免费下载
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载要提取码
- 分享过期和重复下载怎么办
- 模型和平台不兼容怎么办