Unity3D 海水多线程渲染算法实现,非常燃!

海水仿真渲染一直是比较困难的事情,虽然市面上有了各种海水的渲染算法,但是真正做到仿真渲染的少之又少。大多停留在试验阶段,达到了仿真的要求,但是硬件配置要求高,不利于推广。

 

本篇博客给读者介绍的是关于海水的实施渲染以及通过算法实现船只航行轨迹效果,真实的达到了海水的渲染,海水的网格采用了多个面片网格拼接的方式,网格采用的是LOD处理的,这样就优化了效率。

 

同时将海水的绘制以及算法实现放到C++中进行,这样对于复杂算法的实现效率明显提升。先给读者看几幅效果图:

 

除了岸边的效果图外,船在水中周围也会产生泡沫效果。最后一副效果图如下:

 

从里向外,面片的数量逐步减少,它是根据摄像机的远近处理的,对应的核心代码如下所示:

 

 

在Unity中生成的效果如下所示:

渲染的效果图如下所示:

运行效果如下所示: