ShaderGraph是Unity于2018版本上推出的一个可编程渲染管线工具,开发者通过可视化界面的拖拉拽即可进行shader效果的创建和编辑。
目前ShaderGraph支持的URP通用渲染管线,也支持HDRP高清渲染管线。
我们通过Unity的PackageManager安装ShaderGraph,还需要安装对应的渲染管线工具包,比如要使用URP通用渲染管线,则需要通过PackageManager安装Universal RP,如果要使用HDRP高清渲染管线,则需要通过PackageManager安装High Definition RP。
安装了渲染管线工具包之后,就可以通过菜单 Assets - Create - Rendering创建对应的渲染管线配置。
接着在Editor - Project Setting - Graphics中的Scriptable Render Pipeline Settings设置渲染管线配置文件。
如果是使用URP,则设置URP的渲染管线配置
如果是使用HDRP,则设置HDRP的渲染管线配置
然后,我们就可以创建对应的ShaderGraph,愉快得进行连连看了。
当然,如果你在创建项目时,选择的URP或者HDRP模板,则不需要以上的设置,默认会设置好。
在2021版本中,unity对shadergrph的编辑界面进行了一些调整,我们先创建一个空的shadergraph:
然后选中刚才创建的shadergraph,右键创建一个对应的material
这时候的材质球,将是一个红色的状态(异常):
双击打开刚创建的shadergraph:
在graph inspector属性面板上添加一个targets
保存当前的状态,材质球已经恢复正常,必须保存才会应用到编辑器的物件中。
在场景中创建一个球体,并将创建的材质球,赋值给那个球体。
回到shadergraph编辑器,添加一个scenedepth节点,并设置sampling mode:eye
添加一个screen position 节点,并设置模式为raw
添加一个split节点,分割screen position 的alpha通道:
添加一个substract节点,让scenedepth的输出减去screen postion 的alpha
将输出连到自发光通道:
设置graph inspector
点击save asset,保存查看效果。
呈现半透明状态,关掉sphere的阴影投射。
添加一个变量offset
选中后可以设置它的参数值:0.6
添加一个substract节点,让screen position分离的alpha减去新建的偏移值offset,得出的结果,汇入scene depth的substract
保存,返回场景,调整offset可以看到效果。
移除自发光的连接,改为链接到透明通道上:
保存查看效果,这次透明度变得更加明显:
添加one minus节点和smoothstep,限制和平滑输出的值。
保存查看新的效果
添加一个颜色属性,设置模式为hdr:
拖拽该属性到编辑器中,赋值给emission。
保存查看效果,更明显了:
添加菲涅尔效果,添加一个fresnel effect 节点,这值为5:
定义一个新的变量:fresnelpower用于设置菲涅尔效果的强弱:
推拽变量到面板中,并赋值
添加一个add节点,将菲涅尔效果和平滑处理后的值相add到alpha通道中:
保存,查看效果:
添加一个图片纹理节点pattern:
准备一张蜂窝图,注意图片不要转成sprite:
将节点拖拽到编辑面板中,创建一个sampletexture 2d节点,
重新计算图片与平滑数值的混合结果
新的效果出来了:
添加动画效果,添加一个tilling and offset节点,输出(out)连入sample texture2d的uv中:
添加一个时间节点,并定义一个速度变量,让时间节点的时间与速度相乘,得出的结果汇入tilling and offset节点中:
预览效果,已经看到蜂窝网格动起来了。保存资源,并到材质中指定蜂窝网格图,可以看到场景中的球体有了动效。
再添加一个填充率的变量(float)
保存查看效果:
全节点图:
页面更新:2024-03-31
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号