Skip to main content

glTF 标记

GL 传输格式(.glTF 文件)是用于传输 3D 模型的行业标准交换格式。 二进制 GL 传输格式 (.glb) 文件是 glTF 文件的二进制版本,其中还包括纹理等嵌入式资产。

了解有关 glTF 规范的详细信息

glTF 标记可以包含多个细节层次 (LOD),以便在各种视图距离下高效合理地管理其显示情况。 这一可扩展性意味着当标记在场景中位于远处时,其绘制比在距离观察者更近的前景中绘制时更为简单。

glTF 标记可包括材料属性,例如光泽度、粗糙度或金属度。 这能够赋予模型独特的真实感,这是仅通过单一颜色所无法实现的。

glTF 规范支持的要素

glTF 规范当前支持的要素如下:

  • 全节点层次结构,其中包括节点变换和网格实例化。

  • 支持 MSFT_lod glTF 扩展模块,但仅支持基于节点的 LOD,而不支持基于材料的 LOD。 MSFT_lod 只能出现在场景的第一个节点中。 如果它出现在其他位置,则会忽略所有出现的 MSFT_lod。

  • 原始几何类型:TRIANGLETRIANGLE_STRIPTRIANGLE_FAN

  • 所有折点属性以及使用缓冲区、缓冲区视图和存取器指定属性的方法(除非另有说明)。

  • GLB(二进制 glTF)。

  • 节点变换动画。 每个动画属性一个动画。

  • 转换目标动画(位置、法线、UV、切线、颜色)。 每个动画属性一个动画。

  • 金属-粗糙度材料。

  • 法线贴图。

  • 遮蔽贴图。

  • 自发光贴图。

  • 折点颜色。

  • UV 固定。

  • UV 镜像。

  • KHR_Materials_pbrSpecularGlossiness 扩展模块定义的镜面光泽度。

  • Textures 使用 Basis Universal 超级压缩格式的纹理,由 KHR_texture_basisu 扩展模块进行定义。

  • 网格几何的高级压缩,如 KHR_draco_mesh_compression 扩展模块所定义。

  • 材料的折射率 (IOR),用于渲染透明和折射表面,如玻璃、水或宝石,如 KHR_materials_ior 扩展模块所定义。

  • 镜面反射,用于显示光从表面的镜面反射,如 KHR_materials_specular 扩展模块定义。

  • 模拟基础材料上的薄而透明的光泽层以表示汽车喷漆、清漆木材或涂层金属,如 KHR_materials_clearcoat 扩展模块所定义。

  • 通过模拟光线穿过表面进行透明材料的真实渲染,如 KHR_materials_transmission 扩展模块所定义。

注:

必须将渲染引擎设置为 DirectX12Vulkan 才能使用这些扩展模块:

  • KHR_materials_specular 扩展模块

  • KHR_materials_clearcoat

  • KHR_materials_transmission

glTF 规范不支持的要素

glTF 规范当前不支持的要素如下:

  • 必须将 glTF 文档场景设置为特定场景,或者 glTF 文档中必须只有一个场景。

  • 除了上述内容之外的所有 glTF 扩展模块。

  • 皮肤。

  • 原始几何类型:POINTSLINESLINE_LOOPLINE_STRIP

  • 照相机。

  • 多个 UV 集。

  • 稀疏存取器。