glTF 教程、glb 教程
介绍
glTF 的目的是定义 3D 资产的传输格式。如前面部分所示,这包括有关场景结构和场景中显示的几何对象的信息。但 glTF 资产也可以包含有关对象外观的信息;也就是说,这些对象应如何在屏幕上呈现。
材质的属性有不同的可能表示形式,着色模型描述了如何处理这些属性。简单的着色模型(如 Phong 或 Blinn-Phong)由 OpenGL 或 WebGL 等常见图形 API 直接支持。这些着色模型基于一组基本材质属性构建。例如,材质属性涉及有关漫反射光的颜色(通常以纹理的形式)、镜面反射光的颜色和光泽度参数的信息。许多文件格式都包含这些参数。例如,Wavefront OBJ 文件与包含此纹理和颜色信息的文件合并。渲染器可以读取此信息并相应地渲染对象。但为了描述更逼真的材质,需要更复杂的着色和材质模型。MTL glbxz.com glb官方下载glb/gltf格式模型
基于物理的渲染 (PBR)
要允许渲染器在不同的照明条件下显示具有真实外观的对象,着色模型必须考虑对象表面的物理属性。这些物理材料属性有不同的表示形式。经常使用的一种是 metallic-roughness-model (金属粗糙度模型)。在这里,有关对象表面的信息使用三个主要参数进行编码:
基础颜色,即对象表面的“主”颜色。
金属值。这是一个参数,用于描述材料的反射行为与金属的反射行为的相似程度。
粗糙度值,指示表面的粗糙程度,影响光散射。
金属粗糙度模型是 glTF 中使用的表示形式。其他材质表示,如 specular-glossiness-model ,通过扩展支持。
不同金属度值和粗糙度值的效果如下图所示:
图 10a:具有不同金属度和粗糙度值的球体。
基色、金属感和粗糙度属性可以作为单个值给出,然后应用于整个对象。为了将不同的材质属性分配给对象表面的不同部分,这些属性也可以以纹理的形式给出。这使得能够对具有逼真外观的各种真实材质进行建模。
根据着色模型,可以将其他效果应用于对象表面。这些通常以纹理和缩放因子的组合形式给出:
自发光纹理描述对象表面中发射具有特定颜色的光的部分。
遮挡纹理可用于模拟对象相互自阴影的效果。
法线贴图是一种纹理,用于调制表面法线,使其能够模拟更精细的几何细节,而无需牺牲更高的网格分辨率。
glTF 支持所有这些附加属性,并为省略这些属性的情况定义合理的默认值。
以下部分将展示如何在 glTF 资产中对这些材质属性进行编码,包括各种材质示例:
简单的材质
纹理、图像和采样器,用作定义材质属性的基础
一个 Simple Texture(简单纹理),显示了如何为材质使用纹理的示例
一种高级材质,结合了多种纹理,为对象实现了复杂的表面外观

浙公网安备 33010602011771号