ShaderGraph创建一个力场特效简明教程2021版

ShaderGraph是Unity于2018版本上推出的一个可编程渲染管线工具,开发者通过可视化界面的拖拉拽即可进行shader效果的创建和编辑。

目前ShaderGraph支持的URP通用渲染管线,也支持HDRP高清渲染管线。

我们通过Unity的PackageManager安装ShaderGraph,还需要安装对应的渲染管线工具包,比如要使用URP通用渲染管线,则需要通过PackageManager安装Universal RP,如果要使用HDRP高清渲染管线,则需要通过PackageManager安装High Definition RP。

安装了渲染管线工具包之后,就可以通过菜单 Assets - Create - Rendering创建对应的渲染管线配置。

ShaderGraph创建一个力场特效简明教程2021版

接着在Editor - Project Setting - Graphics中的Scriptable Render Pipeline Settings设置渲染管线配置文件。

如果是使用URP,则设置URP的渲染管线配置

如果是使用HDRP,则设置HDRP的渲染管线配置

然后,我们就可以创建对应的ShaderGraph,愉快得进行连连看了。

当然,如果你在创建项目时,选择的URP或者HDRP模板,则不需要以上的设置,默认会设置好。

在2021版本中,unity对shadergrph的编辑界面进行了一些调整,我们先创建一个空的shadergraph:

ShaderGraph创建一个力场特效简明教程2021版

然后选中刚才创建的shadergraph,右键创建一个对应的material

ShaderGraph创建一个力场特效简明教程2021版

这时候的材质球,将是一个红色的状态(异常):

ShaderGraph创建一个力场特效简明教程2021版

双击打开刚创建的shadergraph:

ShaderGraph创建一个力场特效简明教程2021版

在graph inspector属性面板上添加一个targets

ShaderGraph创建一个力场特效简明教程2021版

保存当前的状态,材质球已经恢复正常,必须保存才会应用到编辑器的物件中。

ShaderGraph创建一个力场特效简明教程2021版

在场景中创建一个球体,并将创建的材质球,赋值给那个球体。

ShaderGraph创建一个力场特效简明教程2021版

回到shadergraph编辑器,添加一个scenedepth节点,并设置sampling mode:eye

ShaderGraph创建一个力场特效简明教程2021版

添加一个screen position 节点,并设置模式为raw

ShaderGraph创建一个力场特效简明教程2021版

添加一个split节点,分割screen position 的alpha通道:

ShaderGraph创建一个力场特效简明教程2021版

添加一个substract节点,让scenedepth的输出减去screen postion 的alpha

ShaderGraph创建一个力场特效简明教程2021版

将输出连到自发光通道:

ShaderGraph创建一个力场特效简明教程2021版

设置graph inspector

ShaderGraph创建一个力场特效简明教程2021版

点击save asset,保存查看效果。

ShaderGraph创建一个力场特效简明教程2021版

呈现半透明状态,关掉sphere的阴影投射。

添加一个变量offset

ShaderGraph创建一个力场特效简明教程2021版

选中后可以设置它的参数值:0.6

ShaderGraph创建一个力场特效简明教程2021版

添加一个substract节点,让screen position分离的alpha减去新建的偏移值offset,得出的结果,汇入scene depth的substract

ShaderGraph创建一个力场特效简明教程2021版

保存,返回场景,调整offset可以看到效果。

ShaderGraph创建一个力场特效简明教程2021版

移除自发光的连接,改为链接到透明通道上:

ShaderGraph创建一个力场特效简明教程2021版

保存查看效果,这次透明度变得更加明显:

ShaderGraph创建一个力场特效简明教程2021版

添加one minus节点和smoothstep,限制和平滑输出的值。

ShaderGraph创建一个力场特效简明教程2021版

保存查看新的效果

ShaderGraph创建一个力场特效简明教程2021版

添加一个颜色属性,设置模式为hdr:

ShaderGraph创建一个力场特效简明教程2021版

拖拽该属性到编辑器中,赋值给emission。

ShaderGraph创建一个力场特效简明教程2021版

保存查看效果,更明显了:

ShaderGraph创建一个力场特效简明教程2021版

添加菲涅尔效果,添加一个fresnel effect 节点,这值为5:

ShaderGraph创建一个力场特效简明教程2021版

定义一个新的变量:fresnelpower用于设置菲涅尔效果的强弱:

ShaderGraph创建一个力场特效简明教程2021版

推拽变量到面板中,并赋值

ShaderGraph创建一个力场特效简明教程2021版

添加一个add节点,将菲涅尔效果和平滑处理后的值相add到alpha通道中:

ShaderGraph创建一个力场特效简明教程2021版

保存,查看效果:

ShaderGraph创建一个力场特效简明教程2021版

添加一个图片纹理节点pattern:

ShaderGraph创建一个力场特效简明教程2021版

准备一张蜂窝图,注意图片不要转成sprite:

ShaderGraph创建一个力场特效简明教程2021版

将节点拖拽到编辑面板中,创建一个sampletexture 2d节点,

ShaderGraph创建一个力场特效简明教程2021版

重新计算图片与平滑数值的混合结果

ShaderGraph创建一个力场特效简明教程2021版

新的效果出来了:

ShaderGraph创建一个力场特效简明教程2021版

添加动画效果,添加一个tilling and offset节点,输出(out)连入sample texture2d的uv中:

ShaderGraph创建一个力场特效简明教程2021版

添加一个时间节点,并定义一个速度变量,让时间节点的时间与速度相乘,得出的结果汇入tilling and offset节点中:

ShaderGraph创建一个力场特效简明教程2021版

预览效果,已经看到蜂窝网格动起来了。保存资源,并到材质中指定蜂窝网格图,可以看到场景中的球体有了动效。

再添加一个填充率的变量(float)

ShaderGraph创建一个力场特效简明教程2021版

保存查看效果:

ShaderGraph创建一个力场特效简明教程2021版

全节点图:

ShaderGraph创建一个力场特效简明教程2021版

展开阅读全文

页面更新:2024-03-31

标签:力场   球体   赋值   工具包   蜂窝   网格   管线   平滑   节点   简明   变量   材质   属性   特效   通道   状态   编辑   效果   教程   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top