【实现100个unity特效之19】使用ShaderGraph实现Unity 2D水

最终效果

文章目录

前言

先粗略记录一下,后面再补充

开始

我们新建一个render texture

设置尺寸

然后我要创建另外一个摄像机,将他的画面投到这上面来

我们要保证它跟我的main cameral里面的设置是相同的,比如正交,尺寸

它会自动伴随有一个audio listener,我们同一个场景当中只能有一个audio listener,将它移除

绑定输出到前面的render texture

如果你想后期再次更改这个TEXTRA的尺寸,你会注意可能这里相机的尺寸并不会跟着更改,是unity一个bug,我们要将相机的这个texture移除,再重新配置,即可刷新相机的尺寸

拉高水面渲染相机,因为我只希望看到水面下面从这儿开始的位置

创建白色图片

我们可以按键盘的F定位它一下,按键盘上的T键修改尺寸

拖拽的时候按住alt键或者Mac系统的option键,可以以中心点来放大调整一下它的尺寸

注意排序层自己调整

新增无光照影响的shaderGraph

那么首先我们要获得我们场景中倒影的这个图片

显示

翻转画面

可以根据翻转的情况调整摄像机的位置

其实这时候就已经有镜面效果了,效果

添加噪点,和水波纹

效果

半透明效果,并且有一些颜色的变化

添加颜色节点,修改透明的实现半透明效果

效果

其他办法

如果你直接有类似于water的这样的图片的画,可以直接和主图

然后将两个不同的节点直接multiply加在一起

然后我们也可以用这个气泡的效果让它动起来

可以看到我们只要改变这个的值就行

或者如果我只希望不想它显示里面的黑色部分,只想要显示这个白色波纹的部分的话,我们也可以添加反转

参考

https://www.bilibili.com/video/BV1Ei4y1t7H4/

https://www.youtube.com/watch?v=-jA72OSTfwk

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

相关推荐
异次元的归来7 小时前
Unity DOTS中的share component
unity·游戏引擎
向宇it10 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
_oP_i11 小时前
unity webgl部署到iis报错
unity
Go_Accepted12 小时前
Unity全局雾效
unity
向宇it12 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
每日出拳老爷子15 小时前
【图形渲染】【Unity Shader】【Nvidia CG】有用的参考资料链接
unity·游戏引擎·图形渲染
北海651616 小时前
Dots 常用操作
unity
YY-nb1 天前
Unity Apple Vision Pro 开发教程:物体识别跟踪
unity·游戏引擎·apple vision pro
Cool-浩1 天前
Unity 开发Apple Vision Pro物体识别追踪ObjectTracking
unity·ar·apple vision pro·mr·物体识别·vision pro教程·objecttracking
向宇it1 天前
【从零开始入门unity游戏开发之——C#篇23】C#面向对象继承——`as`类型转化和`is`类型检查、向上转型和向下转型、里氏替换原则(LSP)
java·开发语言·unity·c#·游戏引擎·里氏替换原则