【实现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

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

相关推荐
Sitarrrr18 分钟前
【Unity】ScriptableObject的应用和3D物体跟随鼠标移动:鼠标放置物体在场景中
3d·unity
极梦网络无忧21 分钟前
Unity中IK动画与布偶死亡动画切换的实现
unity·游戏引擎·lucene
逐·風8 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
_oP_i10 小时前
Unity Addressables 系统处理 WebGL 打包本地资源的一种高效方式
unity·游戏引擎·webgl
代码盗圣13 小时前
GODOT 4 不用scons编译cpp扩展的方法
游戏引擎·godot
Leoysq19 小时前
【UGUI】实现点击注册按钮跳转游戏场景
游戏·unity·游戏引擎·ugui
PandaQue21 小时前
《潜行者2切尔诺贝利之心》游戏引擎介绍
游戏引擎
_oP_i1 天前
unity中 骨骼、纹理和材质关系
unity·游戏引擎·材质
Padid1 天前
Unity SRP学习笔记(二)
笔记·学习·unity·游戏引擎·图形渲染·着色器
Tp_jh1 天前
推荐一款非常好用的C/C++在线编译器
linux·c语言·c++·ide·单片机·unity·云原生