● 摘要
爆炸特效模拟被广泛应用于游戏、电影、军事仿真等领域,其模拟方法一直是计算机图形学领域中一个极具挑战性的问题。早期主要是利用粒子系统对其进行模拟,粒子系统模拟虽然灵活,但是在真实感和交互性方面都存在一定的缺陷。随着计算机硬件技术的发展,基于物理的模拟方法逐渐成为一个研究的热点。本文使用基于物理的方法来模拟爆炸效果,主要研究了以下三个方面的内容:(1)研究并实现了一种基于物理的爆炸效果实时逼真模拟方法。首先对经典的流体运动模型Navier-Stokes方程进行了简化,同时建立了燃烧模型,得到了本文模拟爆炸的物理模型。然后将仿真区域利用规则的立方体网格进行离散化,采用分步求解法求解方程,得到爆炸流场中各个物理量的状态值,然后利用体绘制方法对烟雾浓度场进行绘制,得到爆炸场景。为了减少数值耗散和增强细节,本文采用了MacCormack方法和漩涡约束力方法。此外,本文在GPU上实现了方程的求解,提高了模拟的实时性。(2)研究并实现了一种爆炸与外界物体实时交互的方法。包括爆炸流场各物理量的初始化和边界条件的处理,爆炸与静态物体、动态物体的交互方法和改进的体绘制算法。重点在于如何快速检测流体与外界物体的碰撞、边界处外界物体对流场运动的影响。本文主要采用预计算的方式,通过预计算一张存储障碍物体素化结果的纹理,在进行交互检测时,利用该纹理提高检测速度,增强交互方法的实时性。(3)研究并实现了虚拟战场环境下多点爆炸效果的实时生成算法。该方法主要基于简化的物理模型,并结合粒子系统,具有实时性。利用物理模型产生的速度场,驱动粒子的运动,并赋予粒子相关的属性,一个速度场控制若干个粒子系统的运动,利用粒子系统的绘制来表现爆炸效果。最后在GPU上完成了物理方程的求解、优化和粒子属性的更新、绘制等工作。上述工作为实时三维图形平台BH_GRAPH提供了高效的爆炸特效支持,并将作为一个插件封装到BH_GRAPH中。