[Shader/渲染] Unity3D移动端海水的实时绘制

查看:8032 |回复:98 | 2015-12-23 16:01:53

您需要 登录 才可以下载或查看,没有账号?注册

x

海水的实时仿真一直是一个比较热门的话题,移动端海水的仿真更是热上加热,目前在这方面的研究已经很多了,但是结果都不是很近人意,在这里给大家介绍一种在移动端实时绘制的算法,满足了移动端运行的要求,而且可以在海面上显示高光,反射,以及折射效果,海浪滚动效果以及海上的泡沫效果,以及物体在大海上随海浪上下颠覆效果,比较真实的模拟了海浪的形成。
移动端海浪的生成尤其局限性,在这里采用网格块拼接,实现无限地形。GPU的渲染也需要使其在移动端能够运行。先将其效果图展示一下:
wKioL1SgxkmxegvgAAJ0H1Mwx9A903.jpg
反射,折射,海面光照都有了,而且实现了泡沫效果。
接下来开始分析其如何实现的。
首先我们要自定义生成网格块,然后再将其拼接,同时产生高度图,网格如下图示。
wKiom1SgyeayMn7VAAS5bF7e79w079.jpg
代码如下所示:
接下来需要渲染海面高光图示如下:
代码如下所示:
由于反射以及折射的效果渲染涉及到Shader的编程,我们将其代码实现如下:
下面实现海浪的滚动以及泡沫效果图:
其实现代码如下所示:
以上代码采用的是Fourier算法实现的,通过枚举设置其方向。
其渲染Shader如下所示:
以上就实现了移动端海水的实时仿真,最后把在手机上运行的效果图展示一下:


评分

参与人数 2元素币 +40 活跃度 +30 展开 理由
醉酒風 + 10 + 30 优秀
adminsss + 30 求下载

查看全部评分

2015-12-23 16:01:53  
 赞 赞 2

使用道具 登录

98个回答,把该问题分享到群,邀请大神一起回答。
2#
赞一个啊,呵呵
回复 收起回复
2015-12-23 16:22:40   回复
 赞 赞 2

使用道具 登录

4#
谢谢楼主 分享
回复 收起回复
2015-12-24 09:38:50   回复
 赞 赞 2

使用道具 登录

5#
学习一下~~
回复 收起回复
2015-12-25 13:49:36   回复
 赞 赞 2

使用道具 登录

6#
支持 感谢支持 感谢支持 感谢支持 感谢
回复 收起回复
2015-12-28 11:23:13   回复
 赞 赞 2

使用道具 登录

7#
好强
回复 收起回复
2017-11-30 09:33:16   回复
 赞 赞 2

使用道具 登录

8#
回复 收起回复
2017-11-30 09:34:31   回复
 赞 赞 2

使用道具 登录

9#
牛逼啊  谢谢分享
回复 收起回复
2018-3-13 15:00:03   回复
 赞 赞 2

使用道具 登录

10#
看看好不好玩
回复 收起回复
2018-3-15 09:38:16   回复
 赞 赞 2

使用道具 登录

11#
以上就实现了移动端海水的实时仿真
回复 收起回复
2018-3-15 18:13:51   回复
 赞 赞 2

使用道具 登录

12#
666
回复 收起回复
2018-4-10 09:25:44   回复
 赞 赞 2

使用道具 登录

13#

谢谢楼主分享
回复 收起回复
2018-5-15 10:08:42   回复
 赞 赞 2

使用道具 登录

14#
为了元素币,拼了!
回复 收起回复
2018-5-24 15:50:35   回复
 赞 赞 2

使用道具 登录

15#
谢谢提供的资源
回复 收起回复
2018-10-15 09:43:58   回复
 赞 赞 2

使用道具 登录

16#
学习一下
回复 收起回复
2018-10-15 10:01:16   回复
 赞 赞 2

使用道具 登录

17#
回复 收起回复
2018-10-15 10:03:46   回复
 赞 赞 2

使用道具 登录

18#
回复 收起回复
2018-10-15 10:04:15   回复
 赞 赞 2

使用道具 登录

19#
回复 收起回复
2018-10-15 14:17:59   回复
 赞 赞 2

使用道具 登录

20#
学习学习
回复 收起回复
2018-10-15 14:26:31   回复
 赞 赞 2

使用道具 登录

CG 游戏行业专业问题

Unity3D技术手机游戏引擎手游引擎
12345下一页
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表