本文重点:
1、烘焙自阴影到材质中
2、给表面的某些部分增加细节
3、支持更多的效果变体
4、一次性编辑多个材质
这是关于渲染的系列教程的第十部分。上一次,我们使用了多个纹理来创建复杂的材质。这次我们再增加一些复杂度,并且还支持多材质编辑。
本教程是使用Unity 5.4.3f1制作。
(复合材质往往看起来一团糟)
1、遮挡区域
虽然我们可以创建看起来很复杂的材质,但这些只是假象,三角形仍然是平坦。法线贴图可以给人深刻的印象,但这仅适用于直射光。没有自我遮挡。较高的零件应该在较低的区域上投射阴影,但现在不会发生。当法线贴图存在小孔,凹痕或裂缝时,这一点最为明显。
假设有人在向我们的电路板射击。但没有穿过电路板,留下了明显的凹痕。下面就是为此调整的法线贴图。
(凹陷电路法线图)
使用此法线贴图时,电路材质确实确实凹陷了。但是凹痕最深的部分和未凹痕的表面一样被照亮。凹痕没有任何自我遮挡的现象。结果,这些凹痕看起来并不深。
1.1 遮挡贴图
要添加自阴影,我们可以使用所谓的遮挡贴图。你可以将其视为材质的一部分,固定阴影贴图。用于凹陷电路的这种贴图,一般为灰度图像。
(遮挡贴图)
要使用此贴图,请将此贴图的texture属性添加到我们的着色器。再添加一个遮挡强度滑块属性,以便我们可以对其进行微调。
就像金属贴图一样,使着色器功能仅在设置遮挡贴图时才对其进行采样。仅将功能添加到基本通道中,因此不必担心会出现其他灯光影响。
1.2 遮挡UI
因为我们有一个自定义的着色器GUI,所以必须将新属性手动添加到着色器的UI中。因此,向MyLightingShaderGUI.DoMain添加DoOcclusion步骤。
这种新方法与DoMetallic几乎相同,DoMetallic也涉及贴图,滑块和关键字。因此,请复制该方法并进行所需的更改。尽管DoMetallic在没有贴图的情况下会显示滑块,但我们需要在此做相反的操作。另外,Unity的标准着色器使用遮挡贴图的G颜色通道,因此我们也将这样做。在工具提示中展示。
(检视器,没有和有遮挡贴图)
1.3 添加阴影
要访问包含文件中的贴图,请添加采样器和float变量。