问题:
这是一个极其低级的问题,但是致命。在编写Shader时,NormalMap等其他BumpMap必须初始化为“bump”而不是“white”,否则会导致没有添加该贴图时,出现计算错误!!
Tips:
1.我们可以输出bump的初始值来,进行查看。我们发现当我们以bump来初始化时,输出的时纯蓝色的。以NormalMap来举例,bumpMap常见都是在TangentSpace(其中基向量为x=tangent,y=binormal,z=normal)中进行计算的,而初始化bumpMap时即为该Object的初始发现,那么z分量则是1。
2.为什么大多数的发现贴图为蓝紫色。首先前面我们说到法线贴图大多使用TangentSpace来定义,其实大多数的像素的法线在z分量不会变化太多或者依旧为1(这是没有归一化时的)。Unity Shader入门精要笔记(十三):法线纹理-CSDN博客