US3S2L8——渐变纹理基本概念

渐变纹理

通过单张纹理和凹凸纹理相关知识的学习,我们知道图片中存储的数据不仅仅可以是颜色数据,还可以是高度、法线数据。
理论上来说,图片中存储的数据我们可以自定义规则,我们可以往图片中存储任何满足我们需求的数据用于渲染。
渐变纹理就是用于控制漫反射光照结果的一种存储数据的方式,它的主要作用是让游戏中的对象具有插画卡通风格

下图中的模型就是使用不同渐变纹理呈现出来的效果
渐变纹理的使用可以保证物体的轮廓线相比之前使用的传统漫反射光照更加明显
而且还能提供多种色调的变化,可以让模型更具卡通感

image

渐变纹理的基本原理

渐变纹理的基本原理就是在计算漫反射时利用 半兰伯特光照模型 公式中后半部分

半兰伯特光照模型公式:

Color漫反射光照=Color光源×Color材质的漫反射×((标准化后物体表面法线向量标准化后光源方向向量)×0.5+0.5)Color_{漫反射光照} = Color_{光源} \times Color_{材质的漫反射} \times ((\overrightarrow{标准化后物体表面法线向量} \cdot \overrightarrow{标准化后光源方向向量}) \times 0.5 + 0.5)

半兰伯特光照模型后半部分会得到一个 0~1 区间的值,将这个值作为 uv 坐标中的 uv 值,从渐变纹理中取出颜色
与公式中前面部分进行颜色叠加,最终得到漫反射光照颜色。

也就是说,决定漫反射明暗的不再是单由 0~1 这个值决定,而是通过 0~1 这个值从渐变纹理中取出的颜色进行叠加达到最终效果
这意味着,原本由光照带来的明暗变化会变成通过从渐变纹理内映射颜色来叠加颜色,这样可以改变一个模型光照的明暗表现

例如,通过下图的三个带有明显边界的黑灰白渐变纹理,可以让模型的光照效果显示出明显的明暗变化线,而不是平滑过渡

image