您当前的位置:首页 > 计算机 > 文件格式与编码

认识3D模型-GLTF文件

时间:01-19来源:作者:点击数:
CDSY,CDSY.XYZ

GLTF文件格式

glTF的全称(Graphics Language Transmission Format)图形语言传输格式。是三维场景和模型的标准文件格式。

glTF 核心是 JSON 文件,描述了 3D 场景的整个内容。它由场景结构本身的描述组成,内容其由定义场景图的节点的层次提供。

场景中出现的 3D 对象是使用连接到节点的 meshes(网格)定义的。Materials(材料)定义对象的外观。Animations(动画)描述 3D 对象如何随着时间的推移转换 3D 对象,并且 Skins(蒙皮)定义了对物体的几何形状的方式基于骨架姿势变形。Cameras(相机)描述了渲染器的视图配置。

除此以外,它还包括了带有二进制数据和图像文件的链接。

Json文件(.gltf)包含完整的场景描述。

二进制文件(.bin)存储几何及动画等数据内容。

纹理文件(.jpg, .png)存储纹理图片内容。

ITF的格式有三种表达

>gTF分离格式(.gltf+.bin+纹理)

>gITF嵌入格式 (.gltf)

>gITF二进制格式 (.glb)

.gltf 文件,本质是 json 文件,记录对bin文件中模型顶点基本数据的索引、材质索引等信息。

.bin 文件,以二进制流的方式存储顶点坐标、顶点法线坐标和贴图纹理坐标、贴图信息等模型基本数据信息。

.glb 文件是二进制流文件,通常来说会更小一点,若不关心模型内的具体数据可直接选择此类型。

模型加载顺序

模型加载顺序为,先加载gltf文件,然后解析依次读取scenes、nodes、meshes、accessors、bufferViews、buffers、materials、textures、images。其中每个mesh包括一个bufferViews和一个materials。每一层的递进都有数组下标来确定。

glft的压缩优化

可以采用KHR_mesh_quantization或EXT_meshopt_compression进行网格压缩

然后再使用gltf-pipeline进行模块区分并对纹理图片压缩

制作GLTF模型数据

可以通过blender(开源免费)制作模型,然后导出成GLTF格式的文件。

blender地址: www.blender 组织网/

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐