Unity ShaderGraph实现流体效果之Node入门(二)
- 前言
- Shader Graph Node
- Step Node
- Multiply Node
- Rotate About Axis
- Add
- fresnel effect
- Is Front Face
前言
在(一)中讨论了一部分在制作流体效果时使用的Node,本章继续将剩余部分补充。
Shader Graph Node
Step Node
In的value大于等于Edge返回1,否则返回0。Step 常见于溶解效果,将in输入值设置为Noise,通过控制Edge的大小,进而使得物体产生逐渐消解的效果。
Multiply Node
Multiply对输入内容做乘积运算,可以计算向量叉乘,向量与矩阵相乘,矩阵与矩阵相乘,在本文中的主要作用时为了添加属性作用于效果上,绕轴旋转时模拟流体效果。
Rotate About Axis
将输入值绕Axis轴旋转Rotation大小,在本章中可见,将本地坐标的position值传入,并绕Z轴旋转90度,再将输出值通过Multiply 于属性值相乘进而控制旋转的程度,从而达到一个流体简单的波浪效果。
Add
将两个输入值相加,通常为矢量值,举例在流体效果中,通过将position分别绕x和z轴旋转并将结果相加,进而造成一种竖直方向不变,水平波浪的效果。
fresnel effect
菲涅耳效应 (Fresnel Effect) 是根据视角不同而在表面上产生不同反射率(接近掠射角时的反射光增多)的效果。Fresnel Effect 节点通过计算表面法线和视图方向之间的角度来模拟这一点。该角度越宽,返回值越大。这种效果通常用于实现在许多艺术风格中很常见的边缘光照。(ps: 这种从概念上就很好理解的Node,使用起来也更加的方便)。
Is Front Face
当前在渲染正面返回True,当前在渲染背面返回False。这依赖于主界面设置为Both Sides。结合Branch,对不同位置颜色进行分别处理。