glTF 标记
GL 传输格式(.glTF 文件)是用于传输 3D 模型的行业标准交换格式。 二进制 GL 传输格式 (.glb) 文件是 glTF 文件的二进制版本,其中还包括纹理等嵌入式资产。
glTF 标记可以包含多个细节层次 (LOD),以便在各种视图距离下高效合理地管理其显示情况。 这一可扩展性意味着当标记在场景中位于远处时,其绘制比在距离观察者更近的前景中绘制时更为简单。
glTF 标记可包括材料属性,例如光泽度、粗糙度或金属度。 这能够赋予模型独特的真实感,这是仅通过单一颜色所无法实现的。
glTF 规范支持的要素
glTF 规范当前支持的要素如下:
全节点层次结构,其中包括节点变换和网格实例化。
支持 MSFT_lod glTF 扩展模块,但仅支持基于节点的 LOD,而不支持基于材料的 LOD。 MSFT_lod 只能出现在场景的第一个节点中。 如果它出现在其他位置,则会忽略所有出现的 MSFT_lod。
原始几何类型:
TRIANGLE、TRIANGLE_STRIP和TRIANGLE_FAN。所有折点属性以及使用缓冲区、缓冲区视图和存取器指定属性的方法(除非另有说明)。
GLB(二进制 glTF)。
节点变换动画。 每个动画属性一个动画。
转换目标动画(位置、法线、UV、切线、颜色)。 每个动画属性一个动画。
金属-粗糙度材料。
法线贴图。
遮蔽贴图。
自发光贴图。
折点颜色。
UV 固定。
UV 镜像。
Textures 使用 Basis Universal 超级压缩格式的纹理,由 KHR_texture_basisu 扩展模块进行定义。
网格几何的高级压缩,如 KHR_draco_mesh_compression 扩展模块所定义。
材料的折射率 (IOR),用于渲染透明和折射表面,如玻璃、水或宝石,如 KHR_materials_ior 扩展模块所定义。
镜面反射,用于显示光从表面的镜面反射,如 KHR_materials_specular 扩展模块定义。
模拟基础材料上的薄而透明的光泽层以表示汽车喷漆、清漆木材或涂层金属,如 KHR_materials_clearcoat 扩展模块所定义。
通过模拟光线穿过表面进行透明材料的真实渲染,如 KHR_materials_transmission 扩展模块所定义。
注:
必须将渲染引擎设置为 DirectX12 或 Vulkan 才能使用这些扩展模块:
KHR_materials_specular 扩展模块
KHR_materials_clearcoat
KHR_materials_transmission
glTF 规范不支持的要素
glTF 规范当前不支持的要素如下:
必须将 glTF 文档场景设置为特定场景,或者 glTF 文档中必须只有一个场景。
除了上述内容之外的所有 glTF 扩展模块。
皮肤。
原始几何类型:
POINTS、LINES、LINE_LOOP和LINE_STRIP。照相机。
多个 UV 集。
稀疏存取器。