来自 3D 世界的 JPEG。什么是 glTF?什么是 glb?
定义和简史
GLTF(GL 传输格式)是一种用于存储 3D 场景和模型的文件格式,它非常易于理解(结构是用 JSON 标准编写的),可扩展并易于与现代 Web 技术交互。这种格式可以很好地压缩 3D 场景,并最大限度地减少对使用 WebGL 和其他 API 的应用程序的运行时处理。glTF 现在由 Khronos Group 作为 3D 世界的 JPEG 积极推广。
glTF 旨在成为一种高效、可互作的资产交付格式,可压缩 3D 场景的大小,并最大限度地减少使用 WebGL 和其他 API 的应用程序的运行时处理。glTF 还为 3D 内容工具和服务定义了一种通用的发布格式。
glTF 的首次提及可以追溯到 2012 年,但它于 2015 年 10 月 19 日随着 glTF 1.0 规范的宣布而开始使用。目前,使用的是 2017 年 3 月 3 日发布的规范的第 2 版 (glTF 2.0)。此外,我们将只讨论 glTF 2.0。 关于这种格式的内部结构的详细说明可以在我后续的出版物中找到:第一部分和第二部分
glb官方下载 glbxz.com glb/gltf格式文件模型
glTF 的基础及其优点
glTF 基于 2 个文件:JSON 用于描述整个 3D 场景的结构,一个二进制文件用于存储场景中的所有数据,包括纹理贴图,这些数据可以“拼接”成二进制文件或存储为外部文件。还有一个名为 GLB 的二进制版本的 glTF,唯一的区别是所有内容都存储在具有 GLB 扩展名的第一个文件中。 glTF 的其他优势包括:
-
3D 场景结构中对象的清晰层次结构
-
存储场景信息,例如灯光和摄像机
-
支持关节动画
-
更可靠的材质和着色器
如果你比较 glTF 和 COLLADA,它们支持的功能非常相似,但请记住 glTF 首先是一种“传输格式”,那么它不可否认的优势将是与 Web 技术的良好兼容性。打个比方,我会使用 .PSD (Adobe Photoshop) 和 .JPG 格式。第一个方法适用于编辑源材料,但 JPG 仍用于在 Internet 上存储和使用。
今天,3D 来自完全不同的来源,每个来源都有自己的格式。并非用户需要所有信息,并非所有格式都可以在他的应用程序中打开。必须分析场景的结构,并将 3D 几何数据转换为图形 API 所需的格式。必须将 3D 数据传输到显卡的内存中,然后才能使用对图形 API 的顺序调用来描述渲染过程。因此,每个可执行应用程序都必须为其支持的所有文件格式创建自己的导入器、加载器或转换器,如幻灯片所示。
添加图片注释,不超过 140 字(可选)
GLTF 格式定义了一个标准,用于以适合在运行时在应用程序中使用的形式呈现 3D 内容。现有格式不太适合通过 Internet 传输:有些仅包含几何信息,有些则包含所有内容,并且大小太繁琐且难以分析,更不用说实时运行(运行时)。
GLTF 旨在解决这个问题。这不是“另一种文件格式”,其中已经有很多了,这就是传输 3D 场景的格式定义!
JSON 描述的场景结构可以轻松解析,并且 3D 数据以易于阅读的形式存储,并由图形 API 直接使用,因此无需解码或预处理 3D 数据。通过这种方式,GLTF 可以帮助弥合内容创建和渲染之间的差距。
添加图片注释,不超过 140 字(可选)