glTF格式入门(二)--glTF基本结构
glTF基本结构
glTF文件本质上是一个Json文件,其描述了整个3D场景的内容.
glTF的元素
可以将glTF的元素分为两类: 核心元素与拓展元素
核心元素
- asset: 保留了glTF文件的元数据, 如版本号, 作者, 标题等信息.
- scenes: 场景列表, 用于指定场景的层级结构.
- nodes: 节点列表, 用于指定场景中的对象及其关系.
- materials: 材质
- meshes: 网格
- accessors: 访问器列表, 用于指定缓冲区视图中的数据格式.
- bufferViews: 缓冲区视图列表, 用于指定缓冲区中的数据.
- buffers: 缓冲区列表, 用于存储二进制数据.
- Textures: 纹理
- Images: 图像列表, 用于指定纹理的图像数据.
- Samplers: 采样器列表, 用于指定纹理的采样方式.
- Animations: 动画
- Cameras: 摄像机
- Skins: 蒙皮
拓展元素
拓展元素让glTF可以支持更多功能,比如压缩网格,透明材质,GPU Instancing等.
详细的拓展元素可以参考官方文档
外部数据引用
二进制数据,比如3D对象的几何数据和纹理数据通常不被包含在JSON文件中,它们被存储在外部的文件中.JSON文件中只包含了到这些外部文件的链接,这使得二进制数据可以以非常紧凑的形式进行存储方便互联网传输,并且可以直接被渲染程序使用,无需额外的解码以及预处理.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 VanishingBlog!