上海网站托管,公众号制作公司,网站建设要入什么科目,360免费wifi创建失败怎么回事Unity ShaderGraph实现流体效果之Node入门#xff08;一#xff09; 前言Shader Graph NodePosition NodeSplit NodeSubtract NodeBranch Node 总结 前言
Unity 提供的Shader Graph在很大程度上简化了开发者对于编写Shader的工作#xff0c;只需要拖拽即可完成一个视觉效果… Unity ShaderGraph实现流体效果之Node入门一 前言Shader Graph NodePosition NodeSplit NodeSubtract NodeBranch Node 总结 前言
Unity 提供的Shader Graph在很大程度上简化了开发者对于编写Shader的工作只需要拖拽即可完成一个视觉效果的制作使用ShaderGraph的前提一个是了解到shaderGraph如何操作二是理解每一个Shader Graph Node 的作用才能组合出想要的效果本文不针对操作进行必要讲解仅针对在实现流体效果时用到的Shader Graph Node进行解释和整理。 Shader Graph Node
Position Node
Position Node是我们可以访问顶点或者片元的信息其XYZ坐标由其颜色通道的RGB来表示。具体的讲就是Red从左到右延伸表示x轴绿色向下眼神表示Y轴Blue你看不到它因为它从屏幕向外延申。 Position Node如图 下拉框中表示你可以选择的空间如Object World等。具体的假设我们需要实现一个物体上从上到下的渐变颜色渐变效果那么我们就需要将Position的Out中的RGB(XYZ)提取并将G (Y提取出来拿流体效果举例我们希望流体效果仅根据本地坐标变化既只在容器中显示变化而不是跟随世界坐标但是我们又需要流体在世界坐标中如流体一般在物体旋转时始终将有颜色部分显示在下方且水平线与世界坐标中的X轴平行从而控制颜色渐变是沿着Y轴从上到下变化的由此我们又引入了一个Shader Graph NodeSplit Node
Split Node Split 主要作用就是可以拆分输入数据并把拆分后的数据作为单独的通道进行处理如上图我们使用了G通道结合Position Node的表达既将Y坐标数据作为数据处理的依赖值。
Subtract Node Subtract 字面意思相减实际使用时通常用来控制值的增加和减少如图所示既将A的值减去B的值最终将结果输出。 我们可以将A or B设置为属性值再通过对其值设置可以在代码中灵活控制渐变色的分界点以及从某颜色变换到另一个颜色上等等。
Branch Node 条件分支Predicate为输入条件如是否是前向面是否是世界坐标等等如果是的话则使用True分支的输入内容作为输出结果如果不是的话使用False分支内容作为输出结果。 总结
基本项会分为两篇文章分享最后的Graph可用package会上传到指定位置仅供参考。