这样,一个简单的shadergraph就完成了。除了Unlit方式之外,ShaderGraph还提供了一种使用光照进行渲染的graph——PBRGraph。他和Unlit方式在编辑界面的唯一区别就是MasterNode的属性。增加了许多和光照相关的属性例如法线等。
可以看出来上面所定义的属性和UnityStandardShader比较类似,都是使用了PBR渲染的光照计算。不过Unity的LWRP渲染管线中的PBR所使用的一些计算函数相对于UnityStandardShader计算量上面有所缩减,相对来说更加适合低性能的设备。
那么ShaderGraph适用于什么样的场景呢?我的体验是这样的,ShaderGraph更适合于搭建应用于某个场景中元素的特殊效果,编辑起来方便快捷,不需要写代码,部分美术人员经过学习也有可能很好的进行编辑,降低美术和程序之间的沟通成本。例如需要在场景中增加一个带uv动画的Quad,美术人员可以通过shadergraph方便的实现,而不需要和程序进行沟通。
本篇文章对shaderlab进行了一些基础的介绍和使用场景和方法的推荐。下一次更新将结合ShaderLab官方的一个老旧电视机条纹波动的效果和大家一起分析如何利用shadergraph实现这个效果。希望感兴趣的同学多多关注。