Unity 5实现水波着色器
今天为大家分享在Unity 5中实现可供移动平台使用的水波效果着色器,支持设置纹理和各参数来实现风格各异的水波效果。注意:开始阅读本文前,可点击[阅读原文]查看文字版着色器代码。文中的移动平台针对一般配置的机型,不保证低端机型也能正常运行。另外Unity 5.3的着色器相较之前版本有些区别,本文的着色器需要Unity 5.3及以上版本(Unity 5.3.3p1测试通过)。
先看看最终运行效果:
下面介绍属性部分:
以上是显示在着色器检视面板中的属性,会影响到水的颜色、亮度、对比度、深度以及浪花的速度、高度等信息。其中用到三张贴图,分别是浪花法线贴图、岛屿遮罩贴图以及泡沫反射贴图。
岛屿遮罩贴图的四个分量用途如下:.r ——用于选择希望展现泡沫的区域.g——用于光照和颜色信息.b——用于选择希望展现浪花的区域.a——表示透明度
顶点输出结构体如下:
各顶点经顶点函数计算后会应用输出结构体中的顶点位置、颜色、深度、法线等信息。顶点函数如下:
最后是用于处理海岸线、浪花及浪花泛起泡沫等的片段函数:
例子中用到的浪花法线贴图如下,用于设置浪花的颜色及高光等:
海岸效果:
各贴图及参数设置示例如下:
最后再看一下渲染的效果:
我们将分享更多Unity 5着色器相关的文章在Unity官方中文社区(forum.china.unity3d.com),欢迎大家访问中文社区交流学习!
本文来源于:brabl.com 原作者:marasov
感谢楼主分享,谢谢~ 谢谢分享,下载地址在哪里? 6666很好 不错 很好很强大 看了楼主的帖子,我只想说一句很好很强大!
非常感谢
谢谢楼主分享~
楼主,明明可以靠脸吃饭,偏偏要靠才华!
膜拜神贴,后面的请保持队形~
这个水的插件哪里下载,能qq交流一下么?我的qq627514491
页:
[1]
2