首页/文章/ 详情

将实时CFD纳入到游戏引擎中?

10天前浏览557

本文是一篇关于实时流体动力学在游戏应用中的研究论文,由Jos Stam撰写。文章提出了一种简单且快速的流体动力学求解器实现方法,该求解器能够为游戏引擎提供逼真的流体效果,如流动的烟雾和云彩。这些效果能够显著提升游戏的沉浸感。研究的核心在于将基于物理方程的流体动力学模型转化为适合实时计算的算法,特别强调了稳定性和速度,使得模拟可以在任意时间步长下进行。文章还提供了完整的C代码实现,展示了算法在标准PC硬件上实时运行的能力。

          

1

研究背景

   

流体流动无处不在:从升起的烟雾、云彩和薄雾到河流和海洋的流动。因为游戏的一个主要目标是将玩家沉浸在一个可信的虚拟世界中,所以将流体流动纳入游戏引擎是非常理想的。已经存在许多特别的模型,试图伪造流体般的效果,例如作为纹理精灵渲染的粒子。然而,以令人信服的方式对它们进行动画制作并不容易。我们认为,一个更好的选择是使用自欧拉、纳维和斯托克斯时代(从1750年代到1850年代)就已经发展起来的流体流动的物理原理。这些发展导致了所谓的纳维-斯托克斯方程,这是一个精确的数学模型,用于描述自然界中发生的大多数流体流动。然而,这些方程只有在非常简单的情况下才允许有解析解。因此,直到1950年代,研究人员开始使用计算机并开发数值算法来求解这些方程,才没有取得进展。一般来说,这些算法追求准确性,相当复杂且耗时。这是因为需要这些求解器的应用必须在物理上准确。对于飞机或桥梁上的应力和阻力的计算显然至关重要。另一方面,在计算机图形学和游戏中,最重要的是模拟既看起来令人信服又是快速的。此外,求解器不要太复杂,以便它们可以被实现在标准的PC、游戏机或PDA上。在本文中,我们提出了一套满足这些要求的算法。为了实现这些目标,我们背离了计算物理中的传统智慧,并为创建视觉效果量身定制了算法。与物理准确的求解器不同,后者对时间步长有严格的限制,我们的算法是稳定的,永远不会“爆炸”。              


2

研究方法

   

研究基于纳维-斯托克斯方程,这些方程描述了速度场随时间的演变。文章提出了一种算法,该算法侧重于视觉质量而非物理准确性,强调稳定性和速度,使得模拟可以在任意时间步长下进行。算法的设计考虑到了在标准PC、游戏机或PDA上的可实现性。

          

3

研究内容

   

研究内容包括:

1-流体的速度矢量场模型,即在空间中每一点分配一个速度矢量。

2-纳维-斯托克斯方程的简化和实现,以及如何通过这些方程计算物体在流体中的运动。

3-流体在固定容器中的模拟,包括边界条件的处理。

4-密度和速度的数值求解,包括扩散、平流和投影步骤。

5-算法的稳定性和效率,以及如何在不同的硬件平台上实现。    

  

 

      

    

  

4

研究结果

   

研究结果表明,所提出的算法能够在标准PC硬件上实时运行二维和三维的流体模拟。通过一系列原型和演示,展示了算法在游戏中的应用潜力。此外,算法已经被集成到MAYA Fluid Effects™ 功能中,该功能现已在MAYA 4.5版本中提供。通过与现实世界流体运动的比较,验证了模拟的准确性。文章还提供了CD-ROM,其中包含了源代码和原型,以及在Palm和PocketPC设备上运行的可执行文件。



来源:CFD饭圈
FluentCFX燃烧Polyflow海洋理论爆炸科普游戏Maya渲染ParaView
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-10-25
最近编辑:10天前
CFD饭圈
硕士 分享CFD文章,感谢关注
获赞 22粉丝 23文章 378课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈