自 2017 年发布 glTF™ 2.0 以来,该格式已经发展成熟,形成了一个涵盖网格压缩、纹理优化、3D 高斯泼溅 (3D Gaussian splats) 等技术的丰富生态系统。今天,Khronos® 3D 格式工作组怀着激动的心情宣布 glTF 2.1 的计划:这是一次针对核心规范的、重点突出且向后兼容的修订,其核心动机只有一个——让 glTF 在处理大型组合场景时,能像处理单个资产一样出色。
以下是本次更新的两大核心板块:
一、 完美支持复杂场景 (Complex Scenes)
过去组合大场景只能合并为单一的大文件或使用私有协议,现在有了官方标准方案:
-
外部资产 (External Assets): 允许一个 glTF 文件直接引用其他 glTF 文件并在加载时组装。支持模型的无限次复用(实例化)和按需延迟加载。
-
打包功能 (Packaging): 可以将一个由多个文件组合而成的庞大场景及其所有依赖项,无损打包成一个独立资产,方便分发。
-
内置基础形状 (Shapes): 核心规范原生支持物理引擎常用的基础体积(盒子、球体、胶囊体、圆柱体和平面),不再必须使用复杂的网格。
-
包围体积层次结构 (BVH): 为节点附加包围盒。这让大型场景在进行碰撞检测、视锥体剔除和流式加载时性能大幅提升。
-
统一文件引用: 引入统一的 files 字段集中管理所有外部资源的路径,让工具链能轻松一键抓取或打包所有依赖项。
-
弃用“多场景”: 正式废弃 2.0 中极少被使用的“单文件多场景”模式,明确规定一个 glTF 文件最多只包含一个场景。
二、 体验质量与管线优化 (Quality of Life)
这些改进旨在消除日常工作流中的痛点:
-
自带缩略图 (Thumbnails): 文件可直接包含预览图,不用打开 3D 软件渲染就能在资产库里直观浏览。
-
打破 4GB 限制 (64位 GLB): 二进制格式升级,轻松装下海量点云和 3D 高斯泼溅数据(上限提至 8 EiB)。
-
唯一标识符 (Unique IDs): 引入文件内严格唯一的 UID,终于有了跨文件精确寻址对象的可靠标准。
-
吸收成熟扩展: 现已强制原生支持 WebP 纹理、发光强度控制、网格量化以及节点可见性切换。
-
解除数据限制: 允许属性索引非连续(如直接使用 TEXCOORD_1),并为未来的高精度需求扩充了 64 位整数、双精度浮点数等底层数据类型。