3D 模型GLTF、GLB格式文件介绍使用;FBX格式-一、GLTF、GLB介绍

时间:2024-09-30 12:31:40

GLTF(GL Transmission Format)和 GLB(GL Binary)是用于在 Web 和各种应用程序中传输和加载 3D 场景和模型的开放标准格式。它们由 Khronos Group 开发,旨在提供一种高效、可扩展且易于使用的 3D 内容格式。以下是对 GLTF 和 GLB 格式的详细介绍:

1. GLTF 格式

1.1 概述

GLTF 是一种基于 JSON 的格式,用于描述 3D 场景和模型。它支持多种 3D 数据类型,包括几何体、材质、动画、相机、灯光等。GLTF 文件通常由多个部分组成,包括 JSON 文件、二进制文件和外部资源文件(如纹理图像)。

1.2 文件结构

一个典型的 GLTF 文件包含以下部分:

  • JSON 文件:描述 3D 场景的结构和内容。JSON 文件包含场景、节点、网格、材质、纹理、动画等信息。
  • 二进制文件:存储几何体数据(如顶点、法线、UV 坐标等)。二进制文件通常以 .bin 扩展名保存。
  • 外部资源文件:存储纹理图像、外部引用等资源。外部资源文件通常以 .png.jpg 等格式保存。
1.3 优点
  • 高效传输:GLTF 格式设计用于高效传输和加载 3D 内容,减少文件大小和加载时间。
  • 可扩展性:GLTF 格式支持扩展,可以添加自定义数据和功能。
  • 跨平台支持:GLTF 格式广泛支持各种平台和应用程序,包括 Web、移动设备、桌面应用程序等。
1.4 应用场景
  • Web 3D 应用:GLTF 格式广泛用于 Web 3D 应用,如 Three.js、Babylon.js 等。
  • 游戏开发:GLTF 格式用于游戏开发中的 3D 模型和场景的传输和加载。
  • 虚拟现实和增强现实:GLTF 格式用于虚拟现实(VR)和增强现实(AR)应用中的 3D 内容传输和加载。

2. GLB 格式

2.1 概述

GLB 是 GLTF 的二进制格式版本,将 JSON 文件和二进制文件合并为一个单独的二进制文件。GLB 文件通常以 .glb 扩展名保存。

2.2 文件结构

GLB 文件包含以下部分:

  • 文件头:包含文件的元数据,如文件格式版本、文件大小等。
  • JSON 部分:包含 3D 场景的结构和内容,以二进制格式存储。
  • 二进制数据部分:包含几何体数据(如顶点、法线、UV 坐标等),以二进制格式存储。
  • 外部资源部分:包含纹理图像、外部引用等资源,以二进制格式存储。
2.3 优点
  • 单一文件:GLB 格式将所有数据合并为一个单一文件,简化了文件管理和传输。
  • 高效加载:GLB 格式减少了文件数量和加载时间,提高了加载效率。
  • 跨平台支持:GLB 格式广泛支持各种平台和应用程序,包括 Web、移动设备、桌面应用程序等。
2.4 应用场景
  • Web 3D 应用:GLB 格式广泛用于 Web 3D 应用,如 Three.js、Babylon.js 等。
  • 游戏开发:GLB 格式用于游戏开发中的 3D 模型和场景的传输和加载。
  • 虚拟现实和增强现实:GLB 格式用于虚拟现实(VR)和增强现实(AR)应用中的 3D 内容传输和加载。

3. GLTF 和 GLB 的比较

特性 GLTF GLB
文件格式 基于 JSON 的文本格式 二进制格式
文件结构 多个文件(JSON、二进制、外部资源) 单一文件
文件大小 较大(多个文件) 较小(单一文件)
加载时间 较长(多个文件) 较短(单一文件)
文件管理 复杂(多个文件) 简单(单一文件)
跨平台支持 广泛支持 广泛支持
应用场景 Web 3D 应用、游戏开发、VR/AR Web 3D 应用、游戏开发、VR/AR