水体虚拟仿真及运用综述

水体虚拟仿真及运用综述

作者:方贵盛 潘志庚 单位:浙江水利水电专科学校 杭州师范大学数字媒体与人机交互研究中心

影视动画中大型水场景的制作影视特效中大型水场景,如洪水、海啸等,如果要达到某种逼真的效果,在实际拍摄取景的过程中,往往需要经过多次拍摄才能完成。对于一些危险性、破坏性场面不仅拍摄起来困难,而且还可能会对演员造成一定的人身安全。另外有些虚构的场景也很难在现实世界中找到。如果能借助于计算机来生成具有高度真实感的虚拟场景,则可以为制作者节省大量的钱财,还可以保证人员的安全。在国内外的电影拍摄与制作过程中,如《海神号》、《水世界》、《水啸雾都》、《泰坦尼克号》等,均采用了虚拟仿真技术实现水场景特效的建模与仿真。

虚拟现实场景中水体的制作为了增强虚拟环境的真实感,往往需要在虚拟环境中添加各种自然景象。而自然景象中一个重要的组成部分便是水体的制作,包括了江河湖海、瀑布、喷泉等,如军事仿真训练海战场景中海洋仿真,河流整治效果虚拟展示、港口海岸工程与水利工程建设虚拟仿真、城市建设规划中河流的设计等。这些水场景要求尽可能真实,同时满足交互性、实时性要求。

3D游戏中水场景的制作电脑游戏要能吸引更多的玩家,一个趋于真实的自然景物场景制作非常关键,如逼真的江河湖海、溪流、水池、瀑布、喷泉等,可以让玩家有种身临其境的感觉。目前流行的一些游戏软件中,都有一些逼真的水场景仿真,比较典型的有《勇闯水世界》中海天相接、波光粼粼的大海场景,逼真的水池仿真,《航海世纪》中壮观的海洋、瀑布场景等。《极品飞车》中赛道两边流淌的小溪、一望无际的大海、交错的河流、鳞次栉比的城市以及飞奔而下的瀑布等。

数字流域的三维可视化仿真随着各领域数字化进程的发展,水利行业正在逐步开展数字化流域三维可视化研究,推动数字流域建设的发展。流域三维可视化仿真研究是构建数字流域可视化信息平台的基础,其中三维可视化仿真系统的关键环节是流域中水虚拟场景的仿真,包括了洪水演进实时动态仿真、海浪风暴潮预报仿真、涌潮实时仿真、溃坝波仿真等。三维可视化仿真的主要目的在于利用计算机图形学和图像处理技术将科学计算得到的数据和仿真结果转换为三维模型,并能实现动态仿真和交互控制,以弥补原先数值仿真中所采用的二维表现形式直观性不强、表现力不足、交互性差的缺点。

各种水现象的虚拟仿真

1海浪仿真海浪作为生活中最常见的自然现象之一,其仿真结果可广泛应用于电脑游戏、电影电视、虚拟海战环境、海港与堤岸工程建设等领域中,成为了水体虚拟仿真的主要研究热点。海浪作为一个时刻变化的复杂环境,它的产生、传播、消失与风场、气候、潮汐、水下地形等因素息息相关。海浪从外观上看是杂乱无章的,总体上表现为海面连续变化的紊乱的波峰和波谷,波形极不规则,其波高、波长、周期等物理量均为随机量,传播方向也变化不定,而且海浪的范围非常广阔,因此海浪的仿真十分困难。随着计算机软硬件技术的发展,其研究的重点从最初研究静态海浪高度场的生成,动态海浪网格的构建,到现如今研究海浪特效的生成技术等,总体上可分为三类:一类是深海区域海浪的仿真,侧重于大面积海域的构建,以及海浪在风作用下无规则涌动、以及波浪翻滚的效果。这方面研究代表性的有DamienHinsinger等人[3]仿真的逼真的深海区海浪,ViorelMihalef[4]仿真的风暴潮作用下的波浪翻滚效果;第二类是近岸海浪的虚拟仿真,侧重于仿真海浪与潮滩或堤岸交互后产生的浪花及波浪破碎效果,以及海面与堤岸建筑物相互映射的视觉效果等,代表性的有Peachey[5]等人仿真的近岸海浪沿海滩地形变化所产生的反射、折射现象以及浪花、泡沫等效果;QiangWang等人[6]仿真出海浪冲击码头和冲上海滩形成破碎波的效果。第三类主要研究海水在船的作用下形成的海浪效果,如曾芬芳等人[7]仿真出随机海浪,以及舰船航行中的浪花,如艏浪、艉浪等,从而为海战场视景图生成创建了一个较为逼真的海洋虚拟场景。从波浪的构造技术来看,对于深海区相对比较平静的海浪大多采用基于波浪谱或基于Perlin噪声函数的方法,通过构建海面高度场来实现。而对于波涛翻滚的海浪和近岸海浪,一般通过构造特殊的波浪函数,如基于Gerstner波的方法或通过匹配适当的二维破碎波浪库来实现。对于波浪的破碎部分和浪花的仿真,则采用基于粒子系统的方法,通过改变浪尖处粒子的位置、速度、颜色来实现。对于船形波,一般先利用开尔文波理论构建出船行波模型,然后采用粒子系统技术构造出船行波的浪花。

2河流湖泊的仿真河流湖泊是数字流域的主要研究内容,同时也是虚拟现实、计算机游戏场景的重要组成部分,因此其研究受到了较大的关注。相对于海洋来讲,河流湖泊属于中等尺度的流体,其研究重点主要关注的是两个方面的内容:一是仿真河水的动态流动效果;二是仿真水流与障碍物的交互碰撞效果等。这方面研究比较典型的有PeterKipfer等人[8]仿真的河流中水绕过岩石障碍物流入水池的仿真效果。QizhiYu[9]则实现了大范围流域内河流的三维可视化仿真技术,从近处观察可见河面的波纹与涟漪,并仿真了河水分叉及绕开障碍物进行流动的效果。另外程甜甜[10]针对太湖水域进行了研究,仿真出太湖湖面连续动荡变化的效果,以及小面积水域内(如水塘)雨滴落入水面后,水面波动的效果。FabriceNeyret[11]仿真了小溪在流动过程中产生的振荡波和涟漪效果等。流动的河水仿真一般采用网格高度场的方法或基于物理的方法来实现。网格高度场的方法把河水看作是一个由大量水粒子构成的网格,每个水粒子沿一定的速度和方向平稳推进,便可仿真出水流的动态效果。基于物理的方法则通过求解二维浅水波方程,得到水流的速度场,在进而得到水域各处的压强,把压强大小伸缩后当作第三维的数据,即当作水表面高度后,逼真地仿真物体在水域里移动时产生的波纹或漩涡。湖泊的仿真类似于较为平静的海面波浪的仿真,大多采用波浪谱方法或构造Perlin噪声函数来实现。

3水波的仿真当物体落入水池中,会产生水波。水波以扰动点为中心,并向四周传播;由于水存在的一定的阻尼作用,水波在传播过程中能量会逐渐的衰减,直至最后消失。水波的仿真为平静的水面赋予了生机,增加了虚拟现实的真实感。当传播中的水波碰到池壁反弹后会产生干涉与叠加效果,另外如果碰到小的障碍物后会产生绕射效果,增加了仿真的难度。从水波的传播效果来看,水波仿真包括了深水波和浅水波两个部分。在深水区域,水波可以自由地进行传播,而不用考虑地形和海岸线对波形的影响。在浅水区域,则需要考虑波的反射、折射、干涉、叠加等各种现象。从引起水波的介质来看,则主要有雨点波、船行波和落物波等。雨点波产生的波纹小,但密集、波与波之间会产生干涉等现象,如杨怀平等人[12]在水池中仿真雨点波、反射波、紊乱波以及水花效果等。陈前华等人[13]仿真了近距离观察雨点或水龙头的水滴掉入水池后产生涟漪的场景。在水波仿真过程中同时考虑了水波的叠加、反射、绕射,以及坝缺口处的穿越效果。落物波是当物体落入水中所产生的波形,同时伴随着水花的产生,如NilsThuerey等人[14]仿真出物体落入水面后溅起的水花产生到消亡及引起的水波传播效果。船形波是船在水上航行时产生的一种特殊水面波动效果,随船的运行轨迹变化而变化。如CemYuksel等人[15]仿真出船行驶过程中产生的破碎波效果。相对于海浪来说,水波的波纹一般较小,属于小振幅波,而且其影响范围也相对较小,因此其构建一般采用小振幅波理论,通过邻域传播思想来构建。还有一种方法是通过求解二维浅水方程来实现,通过水流方程控制水波的传播效果。#p#分页标题#e#

4喷泉的仿真逼真的喷泉效果可以大大增强虚拟现实系统的沉浸感。喷泉的形式多种多样,如一柱擎天式、宝塔式等,同时当喷泉喷水口的压力值比较高时,高速的水流与空气碰撞会产生很多水雾,使喷泉产生雾蒙蒙的效果。逼真的喷泉仿真同样是虚拟现实场景中不可或缺的景象,成为许多虚拟现实爱好者的重要研究对象。如万华根等人[16]实现了音乐喷泉的实时仿真。他采用流体动力学和粒子系统方法,通过求解纳维—斯托克斯方程的特例———均匀圆管中的平稳流体Hagen-Poisuelle流来仿真喷泉的动作,结合音乐的强度来控制喷泉喷射的高度。肖何等人[17]提出了一种基于等加速运动和色彩融合的喷泉仿真方法。其基本思想是在运用物理学原理仿真实现喷泉粒子的运动轨迹时,结合等加速运动来简化粒子运动状态,并采用纹理色彩融合绘制粒子。蒋恒恒等人[18]仿真出喷泉在不同喷射层数、不同喷射角度、不同喷射力作用下形成的视觉效果,同时仿真了喷泉从高处向下落入水面时产生的水花效果。

5瀑布的仿真当流动的河水流经具有一定落差的岩石或大坝时,便成了瀑布。瀑布的仿真可用于网上虚拟漫游系统、3D实时游戏、动画及影视广告的制作过程中,也可以重现消失的瀑布景观。由于受地形和风力风向的影响,瀑布的形状千姿百态,特别是瀑布流下时与障碍物的碰撞形成的水花飞溅现象更是难以仿真。瀑布仿真相对比较逼真的有管宇等人[19]仿真出水流下大坝时形成的瀑布效果,同时考虑了瀑布与物体间碰撞时形成的水花效果。张亚旭[20]不仅实现了水流从高处流下时形成的瀑布效果,而且仿真出与岩石碰撞后的水花飞溅效果,此外还加入了天空、光照和雾化等效果来增加场景的真实感。瀑布的仿真常采用基于粒子的方法,通过改变粒子群的位置、速度、加速度等参数来实现逼真的瀑布效果。

6洪水的仿真洪水作为一种自然现象,给人类造成极大的灾难。随着计算机三维图形技术和流体仿真技术的发展,使得在计算机上仿真洪水的行为特性成为可能。对洪水淹没过程进行动态仿真和三维可视化展示,可以再现和预测洪水淹没的变化,为防洪减灾提供决策支持。因此其研究也受到了很大的关注。比较典型的有Jasrul等人[21]采用基于光滑粒子动力学的方法,针对2007年6月10日发生在吉隆坡的洪水淹没过程进行了仿真;康玲等人[22]采用基于数字高程模型的流域变动等流时线方法开发出洪水演进仿真系统,能够实时仿真流域洪水的淹没演进过程,较为逼真地仿真了洪水在流域内的形态变化,为防洪减灾提供了较好的决策支持。

7其它水现象的仿真除了针对海洋、江河、湖水、小溪、喷泉、瀑布等中大尺度范围的水体进行虚拟仿真外,国内外许多科研人员还针对一些小尺度的水现象进行了仿真研究。如HilkoCords[23]仿真出水管中的水快速流入水池,并产生水波,以及物体在水面漂浮的视觉效果。DouglasEnright等人[24]仿真出水倒入杯子时水的晃动效果。Jeong-MoHong等人[25]仿真出水倒入容器时气泡流的形成过程。PaulW.Cleary等人[26]仿真出啤酒倒入杯中产生泡沫的过程。对于小尺度的水体,大多采用基于物理的方法,通过求解光滑粒子动力学方法和欧拉法求解三维Navier-Stokes方程来实现。

研究趋势

纵观三十年来水体研究的发展变化过程,从最初主要研究海浪的虚拟仿真,到现如今研究各种水现象与水景观的虚拟仿真;从最初的静态仿真到现如今逼真的动态仿真;从单纯依赖CPU到现如今CPU与GPU相结合实现水体的仿真与渲染,无论是在研究方法上,还是在研究内容上,都有了长足的发展和进步。随着近年来计算机软硬件技术的飞速发展,特别是GPU技术的广泛应用,必将迎来水体研究新的热潮。今后一段时期水体的主要研究方向可归结为两点:多方法融合、多物体融合。

1多方法融合在研究方法上,从单一建模方法向多方法融合转变。因为对于一个复杂水场景的仿真,很难用一种方法表示出各种视觉效果。如虚拟海战场景中,对于海浪的仿真,不仅需要仿真出风平浪静时海面的视觉效果,还需要仿真出波涛汹涌的海浪所产生的浪花、泡沫等,同时需要仿真船在海面航行时所产生的轨迹浪等。因此结合每种建模方法各自的特点进行综合处理,从而可以达到性能和效果的平衡。比如黄玲等人[27]采用了基于3DGerstner海浪模型、Perlin噪声、NURBS几何曲面、粒子系统等多种方法实现海洋卷浪的建模与绘制。她首先基于三维Gerstner海浪模型,加入Perlin噪音扰动来构建海浪的基本造型;然后采用基于物理的NURBS卷浪曲面生成算法,构建3D卷浪曲面库;随后动态搜索波面波峰,用卷浪曲面取代海面波峰,将卷浪曲面与初始波面无缝拼接,最后采用基于粒子系统的方法构造出海浪的泡沫。NathanHolmberg等人[28]采用流体静力学理论产生二维高度场,然后构造一个非均匀有理B样条曲面来实现高度场的拟合,以此来构建主要水体;水与物体碰撞产生的浪花则用粒子方法来构建。

2多物体融合在研究对象上,从研究单个水体到研究水体与其它物体的交互方向转变。在这方面,近些年重点研究的对象主要有风暴对海面的影响,船与水的交互、海水与潮滩的交互,河水与堤坝的交互,瀑布与岩石的交互、洪水与地形及建筑物的交互、物体落入水中的交互、水倒入容器产生的交互等。如ToonLenaerts等人[29]仿真了水与多孔材料的交互过程。当拧一条湿的毛巾或捏一块带水的海绵时,水会逼真地从中流出。WitawatRungjiratananon[30]仿真了沙堆在水的冲击下塌陷、流动、变湿的过程。ToonLenaerts等人[31]仿真了水与沙及土壤之间的交互现象。当水流入沙堆时,沙受水力的冲击而流动,同时水融入沙堆中使沙变湿,达到了沙与水的相互融合。NuttapongChentanez等人[32]仿真了水倒入容器、溃坝后的水体冲击墙体,以及近岸海浪冲击灯塔和海滩时产生的破碎波、浪花、泡沫和薄雾的效果。H.Cords等人[33]逼真地仿真出船在水面上行驶产生的水波和绕过障碍物的效果等。

结论

水虚拟仿真建模一直是影视制作、计算机动画、虚拟现实、电脑游戏、数字流域等领域的主要研究热点,经过研究人员近四十年来不懈的努力,目前无论是在交互性、实时性、逼真度方面都取得了较大的进步,得到了广泛的应用。由于水体建模涉及的范围广,很难囊括所有类别,因此本文主要针对目前研究比较热门的几种水体,如海浪、河流、喷泉、瀑布、洪水等,从其应用范围、研究方向、研究方法等几个方面进行阐释,目的在于为希望从事与水虚拟仿真有关的研究人员提供参考与借鉴作用。由于篇幅的关系,本文没有详细介绍有关水体建模与渲染方面的方法,有待另文加以阐述。#p#分页标题#e#