glTF基本结构

glTF文件本质上是一个Json文件,其描述了整个3D场景的内容.

glTF基本结构

glTF的元素

可以将glTF的元素分为两类: 核心元素拓展元素

核心元素

  1. asset: 保留了glTF文件的元数据, 如版本号, 作者, 标题等信息.
  2. scenes: 场景列表, 用于指定场景的层级结构.
  3. nodes: 节点列表, 用于指定场景中的对象及其关系.
  4. materials: 材质
  5. meshes: 网格
  6. accessors: 访问器列表, 用于指定缓冲区视图中的数据格式.
  7. bufferViews: 缓冲区视图列表, 用于指定缓冲区中的数据.
  8. buffers: 缓冲区列表, 用于存储二进制数据.
  9. Textures: 纹理
  10. Images: 图像列表, 用于指定纹理的图像数据.
  11. Samplers: 采样器列表, 用于指定纹理的采样方式.
  12. Animations: 动画
  13. Cameras: 摄像机
  14. Skins: 蒙皮

拓展元素

拓展元素让glTF可以支持更多功能,比如压缩网格,透明材质,GPU Instancing等.

详细的拓展元素可以参考官方文档

外部数据引用

二进制数据,比如3D对象的几何数据和纹理数据通常不被包含在JSON文件中,它们被存储在外部的文件中.JSON文件中只包含了到这些外部文件的链接,这使得二进制数据可以以非常紧凑的形式进行存储方便互联网传输,并且可以直接被渲染程序使用,无需额外的解码以及预处理.

glTF外部数据引用