glTF JSON (.gltf)

ISO/IEC 标准

GL 传输格式 (glTF) 是一个开源标准、免版税的 JSON 规范,用于通过 WebGL、WebGPU、游戏引擎和本地应用程序高效传输和加载 3D 场景与模型。

将 GLTF 转换为 GLB

免费的浏览器端 GLTF 转 GLB 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 glTF 文件:

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 glTF 文件:

十六进制签名 (偏移量 0):

7B 0A 20 20 22 61 73 73 65 74 22

ASCII 表示形式: {\n "asset"

标准化: ISO/IEC 12113:2022 / Khronos Open Standard

技术规格

容器架构Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers
压缩方式External textures (PNG, JPEG, WebP) and optional Draco geometry compression
字节序UTF-8 JSON text (referencing Little-Endian .bin buffers)
色彩空间sRGB base color, Linear roughness/metallic
通道与结构Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets
最大尺寸Unbounded coordinate space and triangle count
透明度Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission
流式传输与渐进式加载Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background

技术对比矩阵:glTF 对比同类产品

技术属性glTF (当前)GLBOBJFBX
文件架构JSON 场景文本 + 关联的 .bin / 纹理单个自包含的二进制文件纯文本顶点和面 + .mtl专有的二进制/ASCII 容器
PBR 材质标准标准化的金属-粗糙度 PBR标准化的金属-粗糙度 PBR传统的 Phong/Lambert 材质自定义专有材质
动画支持骨骼蒙皮与变形目标骨骼蒙皮与变形目标无(仅静态几何体)复杂的动画与骨骼
运行时性能针对 WebGL 和实时引擎进行了优化针对 WebGL 和实时引擎进行了优化需要缓慢的解析和重建需要复杂的桌面 SDK 解析

常见损坏模式与十六进制恢复指南

3D 引擎错误:"加载缓冲区失败:未找到 URI"。

根本原因: 关联的 .bin 二进制文件或纹理图像未与 .gltf 文件一起上传。

恢复方法: 将所有关联文件打包在一起,或使用 File2File 直接将其转换为单个 GLB 文件。

安全分析与解析器攻击向量

glTF JSON 文件引用了外部 URI(数据 URI 或远程 URL),这可能会触发服务器端请求伪造 (SSRF) 或路径遍历。

已知攻击向量

  • 通过相对缓冲区 URI 进行路径遍历(例如 'uri: ../../../etc/passwd')。
  • 在服务器端 3D 缩略图生成器中通过远程网络缓冲区获取触发 SSRF。
  • 通过格式错误的递归节点层级循环导致拒绝服务。

防御性最佳实践:

历史渊源与里程碑

2022glTF 2.0 正式通过国际标准化认证,成为 ISO/IEC 12113:2022 标准。
2017科纳斯组织 (Khronos Group) 发布 glTF 2.0,将基于物理的渲染 (PBR) 作为核心功能进行标准化。
2015glTF 1.0 在 SIGGRAPH 大会上宣布,由 Fabrice Robinet、Neil Trevett 和 Tony Parisi 共同构思。

核心优势与特点

  • 人类可读的 JSON 结构允许进行程序化编辑、管道脚本编写和可视化检查。
  • 模块化设计:将轻量级场景元数据与重型二进制几何数据 (.bin) 及纹理分离。
  • 基于物理的渲染 (PBR) 材质定义确保 3D 资产在所有渲染引擎中呈现完全相同的视觉效果。

技术局限与劣势

  • 多文件复杂性:共享模型需要将 .gltf、.bin 和图像纹理打包成压缩包或合并在一起。
  • 由于有多个 HTTP 请求,初始网络加载速度比单文件 GLB 略慢。
  • 如果关联的纹理文件被重命名或移动,相对路径依赖关系可能会失效。

趣味技术冷知识

  • glTF 被正式昵称为"3D 领域的 JPEG",因为它专注于运行时传输和显示,而不是内容创作。
  • 该格式由 Tony Parisi 联合创立,他曾于 1994 年共同创建了 VRML(虚拟现实建模语言)。
  • 美国宇航局 (NASA) 提供探测器、卫星和宇航员的 3D 模型,供公众以 glTF 格式免费下载。

常见技术问题

为什么我的 glTF 文件缺少颜色或形状?

.gltf 文件仅包含 JSON 场景指令。它依赖配套的 .bin 文件来处理 3D 形状,并依赖 .png/.jpg 文件来处理颜色。请确保所有配套文件都在同一个文件夹中。

如何将 glTF 文件转换为单个 GLB 文件?

将您的 .gltf 及其配套的 .bin 和纹理文件上传到 File2File.app,即可立即将它们合并为一个自包含的 .glb 文件。

哪些程序支持 glTF?

Blender、Three.js、Babylon.js、Unity、Unreal Engine、Godot 和 Windows 3D Viewer 开箱即用支持 glTF。