.GLTF 文件扩展名
文件类型 3D图形通用格式
开发者 | The Khronos Group |
常用度 |
|
文件后缀 | .gltf |
文件分类 | 3D图像文件 |
GLTF是什么文件?
GLTF文件以图形语言传输格式(glTF)保存的3D模型。它以JSON格式存储整完整的3D场景内容描述,其中可以包括场景、摄像机、动画等,也可以包括网格、材质、纹理,甚至包括了渲染技术、着色器以及着色器程序。同时由于JSON格式的特点,它支持预留一般以及特定供应商的扩展。
glTF是一种高效、可扩展、可互操作的格式,用于传输和加载3D场景和模型。glTF格式的目标包括最大限度地减少文件大小、快速加载、完整的3D场景表示、运行时独立性以及伴随进一步开发的可扩展性。glTF的提出是源自于3D工业和媒体发展的过程中,对3D格式统一化的急迫需求。
glTF全称Graphics Language Transmission Forma(图形语言传输格式),是三维场景和模型的标准文件格式。这种跨平台格式已成为Web上的3D对象标准。它由OpenGL和Vulkan背后的3D图形标准组织Khronos所定义,这使得glTF相当于成为3D模型中的JPG格式:Web导出的通用标准。
glTF的核心
glTF核心是JSON文件,描述了3D场景的整个内容。它由场景结构本身的描述组成,其由定义场景图的节点的层次提供。
- 场景中的3D对象通过场景结点引用网格(Meshes)进行定义;
- 材质(Materials)定义了3D对象的外观;
- 动画(Animations)定义了3D对象的变换操作(比如选择、平移操作);
- 蒙皮(Skins)定义了3D对象如何进行骨骼变换;
- 相机(Cameras)定义了渲染程序的视图配置。
glTF引用的资源
GLTF文件可能包含嵌入的资源或引用外部资源。如果GLTF文件带有单独的资源,它们很可能是以下文件:
- 二进制文件(.BIN) - 一个或多个包含动画、几何图形和其他数据的BIN文件。
- 着色器文件( .GLSL) - 一个或多个包含着色器的GLSL文件。
- 图像文件(.JPG、.PNG等) - 一个或多个包含3D模型纹理的文件。
当然,你可以将GLTF转换为名为.GLB的二进制格式,一个包含所有资源的单个文件,不需要再额外引用其他文件,加快加载速度。
glTF格式的优点
glTF作为一种应运而生的通用3D图像格式,有着自己独特的优势。
- glTF可以减少3D格式中与渲染无关的冗余数据,节约存储空间,减少带宽压力。
- glTF的设计是面向实时渲染应用的,尽量提供可以直接传输给图形API的数据形式,不再需要二次转换。
- glTF对OpenGL ES、WebGL非常友好,更加适合OpenGL簇加载。
- 使用glTF可以享受三维数据格式统一的好处,并避免各个三维软件间处理大量的导入/导出脚本有缩放问题、动画问题、纹理绑定问题、材质问题。
- glTF是对近二十年来各种3D格式的总结,使用最优的数据结构,来保证最大的兼容性以及可伸缩性。
- glTF作为一个标准,自2015年10月发布(glTF 1.0)以来,已经得到了业界广泛的认可。
更多关于glTF的信息,可以访问它的官网:https://www.khronos.org/gltf/。
GLTF文件怎么打开?
目前多种常用的三维软件可以直接或者通过插件读写glTF格式,例如Blender、Maya、3ds Max、Unity等等。