马上注册,加入CGJOY,让你轻松玩转CGJOY。
您需要 登录 才可以下载或查看,没有帐号?立即注册
×
今天为大家分享在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
|