在3D模型的渲染中,除了贴图属性外,顶点颜色也是一种常见的材质属性。顶点颜色是指通过给模型的顶点分配颜色值来定义模型表面的颜色。
顶点颜色通常以顶点数据的形式储存,并且与每个顶点的位置信息相对应。在渲染过程中,顶点颜色会根据其在三角形内的位置插值,从而确定整个三角形内各个点的颜色。
顶点颜色是介于 0 和 1(或 0 和 255)之间的值,可以添加到网格的顶点。大多数工具和引擎都支持,包括 FBX 文件格式。我相信 OBJ 不支持顶点颜色。从技术上讲,您可以拥有这些值的“无限”数量。但通常的做法是将其限制为 RGBA 值,因此每个顶点 4 个值。因此,我们称之为顶点颜色。
让我们以立方体为例。它有 8 个顶点。每个顶点都有一个数字,当你只是建模时你看不到这个数字,但它确实需要这个数字,以便3D世界和文件格式知道什么顶点在哪里以及所有东西是如何连接的。每个顶点编号都会添加一定数量的值,即 RGBA。然后,我们可以使用我们的 3D 工具调整这些值。见下图。

您经常会看到这种遮罩方法与树叶和树木着色器一起使用。其中红色通道控制整棵树的风摇曳效果。蓝色通道控制树枝的摇摆效果。绿色通道控制着树叶的颤动。但是,顶点颜色也用于地板和墙壁的纹理混合,在着色器中创建着色渐变控件,VFX着色器效果,创建廉价的AO替代品等。

为了正确使用着色器的顶点着色,通常需要一些方便的工具。每个 3D 软件工具都有不同的方法,因此您必须了解它们如何适用于您选择的 3D 工具。您将希望能够执行以下操作:
GLTF编辑器 是一款集在线查看、材质修改、模型尺寸修改、模型材质属性修改、重置原点、模型合批等功能的在线GLTF模型编辑工具,可以通过模型材质属性修改来设置模型顶点颜色。
在GLTF编辑器中,是通过通道遮罩的颜色填充整个对象的方式来设置模型颜色,顶点颜色设置的效果就是让模型全黑。如下图所示:

使用顶点颜色作为材质属性还有有几个优势:
顶点颜色通常通过将红、绿、蓝和透明度(可选)数值分别分配给每个顶点来定义。这些数值可以表示RGB颜色空间中的各种颜色。例如,顶点颜色(1, 0, 0)表示纯红色,(0, 1, 0)表示纯绿色,(0, 0, 1)表示纯蓝色。
要创建顶点颜色,需要为每个顶点指定相应的颜色值。在渲染过程中,引擎会基于顶点之间的插值自动计算并渲染其他颜色值。
总体而言,顶点颜色是一种灵活且高效的材质属性,可以用于实现各种实时渲染效果,并提供更好的性能和控制力。