虚拟现实系统中水体绘制技术的研究与应用
2014-03-23
(陕西工业职业技术学院,陕西咸阳,712000)
虚拟现实系统中水体绘制技术的研究与应用
乔国娜
(陕西工业职业技术学院,陕西咸阳,712000)
在虚拟现实系统实现过程中,水体的模拟是非常重要的部分。本文通过对水体特点进行剖析,比较、借鉴总结大量国内外研究成果及文献,深入地分析和研究了不同场景中的水体实时模拟绘制方法,提出了具有较高绘制效率和视觉效果的能够在PC机上实现的不同水体模型的绘制方法。
虚拟现实系统;水体绘制; 纹理映射; 光照模型
0 前言
在虚拟现实系统实现方面,其中一个重要的研究课题就是对自然景物的模拟。在自然景物的模拟中,水的模拟是比较重要的一部分,因为缺少水的模拟将会显著地影响自然场景的真实感和协调性。要绘制出真实感强、具有实时交互功能的水体场景并不容易,原因是水具其特殊性。首先是水是动态的,是各种力的叠加的效果,运动规律比较复杂且运动规律不重复;水是透明的,与周围环境相互影响,色彩属性及光学属性很难模拟,水体的模拟和绘制速率很难平衡,水体模拟要真实,需要使用更加复杂的水体模型,而这些趋于真实效果的水体模型的模拟计算量非常巨大,在普通的PC机上很难实时绘制出来,要提高绘制速度,必须要简化模型,减少计算量。实时水体绘制技术,往往涉及到物理学、数学、统计学、海洋学和气候学等多门学科交叉,使得水体模拟更加复杂。本文通过对水体模拟的大量国内外研究成果进行比较、借鉴总结,对不同场景中的水体实时模拟绘制方法进行了深入地分析和研究,提出了一种具有较高绘制效率和视觉效果的能够在PC机上实现的水体场景的绘制方法。
1 虚拟现实系统
虚拟现实系统的基本特征分别是:交互性,指网络用户针对虚拟环境中的物体可操作程度的反馈;沉浸感,又被称为临场感,指网络用户在模拟的环境中感觉自己是主角;构想性,指网络用户在多维的信息空间中,凭借自己的认知能力来全方位地获取知识,充分发挥出主观能动性。
正是虚拟现实系统的这三个基本特征,给了真实场景在虚拟网络中的再现提供了可操作性的手段和更为广阔的想象空间,同时也在一些自然景观的仿真中具有很好的实用价值。虚拟现实系统又分为桌面式、沉浸式、叠加式和分布式虚拟系统。文本采用基于桌面式虚拟系统来进行水体绘制方面的研究。
2 水体绘制的常用技术
对水面的模拟分为主要考虑水的运动对水面的影响。主要分为实时性和非实时性。非实时性的水体模拟在一些商业软件中应用比较多。例如3DMax中的glu3D;Maya里面的Fluid Effects插件,是目前PC机上应用最多、模拟效果较好的流体力学模拟软件。但是这些模拟软件实现的都是离线、非实时性水面模拟效果。而实时性的水体模拟技术主要有以下五种。
2.1基于高度图的水体模拟
基于高度图的水体模拟是建立起高度图像素灰度值与水面网格顶点高度值的联系,水面的高低起伏用纹理像素高度值控制。其特点是实现方法简单,能够很好解决模拟随机的水面波动。缺点是在波的传播方向和速度特性方面模拟真实度不足,在观察距离较近时容易发现波浪呈现静止的状态,所以对于要求真实感要求较高的虚拟现实系统中不适合应用此种方法来模拟水体。
2.2基于物理方法的水体模拟
基于物理方法的水体模拟是从真实的物理现象出发,将计算数学与图形学进行综合运用,用物理模型来模拟水面的流动效果。其技术关键在于推导出流体控制方程,主要是利用N-S 方程及方程组和浅水波方程。优点是能够真实地模拟水面波动效果,缺点是方程求解的过程复杂,计算量大。不适合在虚拟现实模拟和游戏开发中进行应用。在目前计算机软硬件水平都有很大提高的情况下,一些实验室里物理的流体模拟研究和应用还是比较广泛。
2.3基于粒子系统方法的水体模拟
粒子系统是利用大量、形状简单的,具有一定生命周期的微小粒子作为基本元素,通过设置特定的运动规律及相关属性,产生一系列的动画来模拟形状不规则的模糊的物体。能够较好地模拟大自然如爆炸、火焰、烟尘、雪花、细雨、水流、喷泉、瀑布等物体。用来制作喷泉、流水等小面积动态落水效果使用该种方法比较好,但是在大面积水面的模拟中需要控制每一滴水的运动效果,并且组成整个水面,形成水面波动的效果,将非常不现实。计算量非常高,不适合在PC机上进行水面实时模拟。
2.4基于谱分析方法的水体模拟
基于谱分析方法的水体模拟的关键技术要点就是找出适合系统设计的谱,如 依据世界不同水域的观测资料得到的数据形成Pierson-Moskowitz 谱、JONSWAP 谱、B-M谱和 Wallops 谱等。FFT是目前应用最广泛的方法,其核心思想是依据针对真实海浪谱的数据分析,设计出适合的高度场来模拟水面。应用 FFT模拟的水面效果可以达到很高的逼真度,但是谱分析的计算量非常大,不适合在PC机上进行水面实时模拟。
2.5基于波形分析的水面模拟
基于波形分析的水面模拟是通过利用构造波形函数构造参数曲面来模拟水面。由于波形函数具有波的特点,可以用来模拟水面波动效果。目前常采用的构造波形函数有正弦函数、Gerstner波函数、环形波等。优点是能满足视觉上逼真的效果,缺点是很难反映水流真实的运动规律。
3 水体绘制技术实现方法
近年来,GPU计算能力和编程语言表达能力得到了很大程度地提升,而且也逐步PC机上得到了普及。详细描述技术在本文中采用模拟水体的影响程度。远程观测,模拟水流模型纹理映射的额外的动态几何模型,观点、用物理方法、水的表面真实动态波纹、反射、光的折射效果,最终实现真实感较强的水面效果。
3.1远景水体模拟
远景水体因为距离较远,所以并强调波动效果的真实性。具体做法是创建几何体模型后,添加动态纹理效果生成波动效果。动态纹理是指纹理图像自身是变化的或者在不同时刻赋予模型的纹理坐标,当这种变化为连续时,就形成了动画的效果。其一,采用加载在几何模型上动态纹理图像来实现动态水面波动纹理。该方法原理很简单,主要利用人眼视觉驻留性质,当一系列不连续图像之间切换速度小于1/24秒时,人就会形成连续地动态效果。这种动态纹理图像可以用二维动画软件或三维动画软件制作并预先渲染出动画序列文件,也可以是从自然界中拍摄真实水面的视频图像,展示水面波光粼粼的效果,此方法适用于大面积水域的动态模拟。其二,首先创建水面材质,该材质采用不同时刻赋予不同坐标的方法来创建,通过给该材质使用水波纹理贴图,并使纹理坐标产生动态变化。最后将其赋值给几何水面模型。
3.2近景水体模拟
水面模拟最简单的方法是建立网格水面模型,通过正弦波构造水面波形函数对网格对象加以扰动。如果是面积较小的湖、池等水面,利用多个正弦波叠加的方式来进行模拟,特点是表现波形较光滑。如果是模拟海面效果,就需要突出表现波谷比较平静,波峰很尖锐的的效果,一般采用Gerstner 波来进行模拟海面水体波动效果。
3.3凹凸环境映射
对一个动态、波动的几何水体表面,具有互相影响的复杂法线图,还需要通过产生适当的凹凸环境映射参数进行互相联系来影响水面效果。该参数是将法线从纹理空间变换到世界空间,并且把表面反映到环境贴图的视线向量上来实现。
3.4基本光照模型
水面的波动效果模拟了水面的整体运动情况,但实际水面上还分布着许多细小的波纹,对波动效果的模拟需要采用逐点计算运动位置,对于细小的波纹如果仍采用类似波动的计算方法,需要将水面模型网格变得更细小,所需顶点数至少增加 1~2 个数量级,因此这种方法造成的计算量非常大,不适合在Pc机上进行实时绘制。通过比较采用逐像素的灯光计算方法更有效,主要思想是利用光照效果来细化海水表面的细节,生成水面波纹与光照效果,就需要更加贴近真实的光照模型。光照模型利用 Direct3D提供的基本光照模型附加距离衰减因子得到基本光照模型。该光照模型里面包含四个分量分别为物体表面放射 emissive、环境反射 ambient、漫反射 diffuse 和镜面反射 specular,每个分量都决定了表面材质和光源性质的不同。
4 结论
在动态水面的模拟中,采用根据不同动态场景特征采用不同的绘制方法,将不同的技术叠加形成动态效果。通过简化和分层技术,保证了图像实时的绘制频率。在目前可编程图形硬件GPU技术有了迅猛的发展的今天,可以完成以前在CPU上难以实时进行的比较复杂图形计算任务,在复杂地形大面积水体虚拟显示场景中,分层分布式场景绘制是一个新的研究方向和领域。
[1] 郭福亮,陈修亮,梁英杰.水体仿真与渲染方法研究综述[J].计算机应用,2013,(02):224-228.
[2] 张文辉,周小川,钟道欢.实时水体渲染[J].计算机与数字工程,2011,(03):114-117.
[3] 芦娟.虚拟现实系统的分类[J].企业导报,2011,(04):277.
[4] 吴磊,陈雷霆,何明耘.交互式实时水体渲染[J].计算机应用研究,2008,(08):2387-2389.
[5] 张水波.三维场景中的真实环境水体特效模拟研究[J].软件,2013,(02):115-117.
乔国娜(1977-),陕西合阳,1977年5月出生,女,汉族,硕士,讲师,主要从事图形图像教学工作
Water drawing technology Study and Appllication in Virtual reality system
Qiao Guona
(Shaanxi Polytechnic Institute,Xianyang,712000,China)
In the process of Virtual reality system implementation water drawing is very important part. Through analysing,comparing the water features and summarizing,drawing lessons from a large number of domestic and foreign research results and Literature this article deeply analyses and studies the water simulation drawing method under different scenes,and put forward the different water model drawing ways which is with higher rendering efficiency and visual effects and can be realized in PC.
Virtual reality system;Water drawing;texture mapping;illumination model
A