
在上篇谈论完卡通渲染的技术之后,本文我们来探讨一下主材质的制作方法。首先还是跟前文一样,我们来讨论一下主材质(Master Material)是什么,以及它的存在意义。
试想一下,现在你的游戏里面有大量属性不同的对象有不同的材质需要管理,但同时这些材质可以受到某些相同的环境因素影响(如雪的覆盖、墨水喷洒等等),此时每个材质都分开来写显然不是一个很好的解决方案,而采用继承思想去制作材质显然会更好一些——正如在写代码时候可以有父类子类一样,我们制作材质同样可以用这个思路去做主材质和派生材质。此外,制作主材质同样可以方便美术使用,保证场景内大部分材质只需要调一调参数就能出需要的效果。
本文默认阅读者已经能清晰理解材质是什么,材质与Shader的关系与区别。

主材质的制作分析
在本项目中,美术对于材质有以下需求:
- 可以选用固定色作为diffuse图
- 可以选用渐变色作为diffuse图
- 可以选用指定图与固定色的叠加作为diffuse图
- 可以不指定normal map,自动生成默认normal图
- 允许在diffuse上叠加一层贴花纹理
- 允许调整整体颜色的明暗
接下来我会依次分析如何实现这些功能。
UE4基础材质节点
首先我们先看一下基础的Opaque Material输出节点含有哪些属性:

- Base Color:基础色,这里的输出色即后续处理中的diffuse color <