这两天在学习的过程中,看到一个项目中有个比较好看的物件,但这个物件的normal只有R通道和B通道。
众所周知,normal记录的是像素点的朝向信息,那么这张图就有R²+G²+B²=1的性质。所以B=sqrt(1-R²-G²),非常好理解。
但是在用substance designer还原normal map的时候,有一些细节还是要注意一下。
1,导入的贴图需要做sRGB to linear sRGB Color的处理后,再用RGBA Split节点分割。这是因为我们存储出来的tga等格式的图片都是sRGB色域下的,而normal作为向量,是数字,不需要进行sRGB的处理。
2,substance designer中substance_graph下是不能直接使用开根号的,这时必须用Pixel Processor节点对每个一像素单独处理。
3,Pixel Processor节点下的使用指令Get Float2中的$pos选项来获取uv信息,再用sample gray节点获取输入的图片。最后输出的节点需要用鼠标右键选择Set as Output Note来标记最终的输出,不然会有警告。
4,最终合成之后还需要使用Linear sRGB to sRGB Color节点把色域换回去,才能得到最终想要的结果。