前言
本文主要介绍通过使用unity的2d Shader Graph实现溶解和发光的思路。
首先需要导入URP的包,然后再设置用于2D的shader
2D Shader Graph设置:
生成URP Assest的时候会生成一个默认的Renderer,不过默认是3D用的,所以记得删去。
Dissolve效果展示
从效果上可以看到,除了溶解,还有边缘发光的效果。
Shader编辑器如图。
溶解的思路就是生成一个噪声图,与图片叠加,由噪声图控制透明度,然后用step节点控制噪声图,就能形成淡出淡入的效果,再加上噪声图的大小缩放也控制上,就能实现溶解。
间隙发光的思路是用原来的噪声图进行一点点偏差,生成一个新的噪声图,再将两个噪声图做差,再与原本的噪声图(指最初的噪声图与图片叠加后的结果),得到间隙,再附带上颜色,就形成了间隙发光的效果。
Glowing效果展示
这个发光效果的好处就是可以变化颜色,也就是说,可以代码控制颜色变化,实现角色获得buff展示不同效果或者是角色技能升级产生不同效果。
Shader编辑器如图。
首先要制作一个原本技能贴图的蒙版,作为原本图片的次级纹理。蒙版图片只有黑白,所以只选取RGB其中任意一个通道就行,然后再用个颜色叠加,就能只影响技能的发光并且可以更改技能颜色。
写在最后
这也算是我第一次接触这部分的知识,道阻且长。无他,只是想记录记录,其实这也没什么技术含量,但是我想写就写。
参考资料: