假设我们有一个有6个面的立方体。现在,我可以用某种方式在Shader Graph中用不同的颜色给所有的脸上色吗?
基本上我想做的就是用Shader Graph重现“极简-低多边形平坦/渐变着色器”。有什么建议吗?
发布于 2019-11-19 17:36:40
这取决于您希望能够显示的几何图形类型。如果只使用主轴,可以使用对象空间法线、饱和度和相乘的X/Y/Z拆分组件,然后将它们相加在一起。这覆盖了6个面中的3个。对于其他轴,除了在饱和之前对所有轴执行OneMinus之外,执行相同的操作。
不过,解决此问题的最通用方法是使用点积。点积计算一个向量与另一个向量的平行程度,并返回-1到1的范围内的结果,其中1是完全平行的,-1是反平行的。对于轴(1,0,0)、(0,1,0)和(0,0,1),点(法线,轴),饱和,与颜色相乘,并将颜色结果相加在一起。使用与上面相同的方法,在饱和之前将点积通过管道传输到OneMinus节点,以获得其他3个轴。这使您可以在世界空间和对象空间中应用效果。
https://stackoverflow.com/questions/58844361
复制相似问题