网页游戏开服表-9K9K.COM
当前位置:首页 > 页游产业 > 研发经验 > 用波动方程渲染制造真实的水面波动效果
  • 用波动方程渲染制造真实的水面波动效果

  • 来源:寂灭万乘    日期:2019-01-11 08:30:48
摘要:现在游戏制作技术的进步,帮助开发者实现打造真实环境的目的。在很多运用到自然场景的游戏画面中,对水面场景的描绘必不可少,那么如何制作出一个表面如同物理世界一样的流动水面呢?下面来了解一下用波动方程渲染真实的水面波动效果的方法。

  游戏观察消息,现在游戏制作技术的进步,帮助开发者实现打造真实环境的目的。在很多运用到自然场景的游戏画面中,对水面场景的描绘必不可少,那么如何制作出一个表面如同物理世界一样的流动水面呢?下面来了解一下用波动方程渲染真实的水面波动效果的方法。

  文/寂灭万乘

  很多游戏描述的世界都会含有流体表面,他们可能是个水池,可能是桶强酸,或者一个熔岩坑。为使这些对象的表面如同物理世界一样,需要模拟波在液体表面的扰动传播方式。

水池

  波动方程

  波动方程是一个偏微分方程,表示为在恒定张力下的一维线或二维面上每一个点的运动方式

  一维线波动方程为:

波动方程

  c为波速,x,y是二维笛卡尔坐标系的2个维

  二维面波动方程为

波动方程

  z为x,y轴构成平面的第三维

  由于波速会因为粘性阻尼力衰减,所以水面的波动方程如下

波动方程

  u为液体粘稠度,用以控制波在液体表面的存在时间

  近似导数

  实时仿真波动方程需要大量的计算,所以使用近似导数简化方程

  近似导数如下

近似导数

  所以可得

近似导数

  同理

近似导数

近似导数

近似导数

  计算液体表面平移

  由之前的近似表达式易得

计算液体表面平移

  使dx=dy=d易得最终方程如下

计算液体表面平移

  稳定条件

  如果波速c太快,或者dt时间段太长,使位移发散为无穷大,需要约束c或t,约束如下

稳定条件

稳定条件

(稳定条件)

  或

稳定条件

(稳定条件)

  参考资源

  Mathematics for 3D Game Programming and Computer Graphics,Third Edition

  博客地址:https://www.cnblogs.com/millionsmultiplication/p/9895079.html

  • 将此文分享给好友
相关阅读:
产业新闻
观点报告
行业会议
思想观点
投资信息
行业动态
经验分享