基于!"#$%&'构建虚拟战场环境研究
文件类型:PDF/Adobe Acrobat 文件大小:8125字节
内容摘要:
文章编号:!""#$%&'#((""%)"%$"&()$"%**
基于!"#$%&'构建虚拟战场环境研究
!
田海江!,高朝廷(,王德才(,冯正超(
(!+重庆邮电学院,重庆#"""&%;(+防化指挥工程学院,北京!"(("%)
摘*要:虚拟战场的构建是当前军事仿真领域中的一个非常前沿性的课题.随着计算机硬件性能的大幅度提高,
使得在,-机上利用底层的图形函数接口构建虚拟战场环境也成为可能,从而可以大大降低成本.探讨了./01234
在三维地形模拟,海洋环境仿真,战场特殊效果,自然现象模拟,武器装备动画,人员动作模拟和战场三维真实感声
音生成中的应用.比较全面地介绍了利用./01234构建虚拟战场环境所涉及到的各种技术.
关键词:虚拟战场;./01234;三维地形;特殊效果;海洋环境仿真;自然现象 模拟;三维真实感声音
中图分类号:5,6'!+'**文献标识码:7
(引)言
随着虚拟现实技术应用的发展,使得军事演习
在概念上和方法上有了一个新的飞跃,即通过建立
虚拟战场环境(作战仿真系统)来训练军事人员,同
时通过虚拟战场来检验和评估武器系统的性能.在
虚拟战场环境中,参与者可以看到在地面行进的坦
克和装甲车,在空中飞行的直升机,歼击机和导弹,
在水面和水下游弋的舰艇;可以看到坦克行进时后
面扬起的尘土和被击中坦克的燃烧浓烟;可以听到
飞机或坦克的隆隆声由远而近,从声音来辨别目标
的来向和速度[!].虚拟战场环境的构建可以采用
高层的三维视景开发软件环境,像819:,;51 @8A等,也可以直接采用底层的三维图形开发
库,像./01234和=>1 @B等.
*)!"#$%&'简介
./01234是C/20DADE3公司开发的运行于计算机
平台的多媒体控制处理引擎,基于./012347,F设计
开发的多媒体软件运行于硬件抽象层上,即充分利
用了系统硬件的加速功能,又隐藏了硬件相关的设
备特性,具有效率高并且易于开发的优点[(].目前
./01234已经发展到第'个版本,在./01234)发布
后,./01234就已经在6.游戏领域树立起它的权威
地位,而且./01234中包括几个组件,除了用于三维
场景开发的./01236.外,还有用于开发三维声音的
./0123ADG H等.
+)三维地形模拟
三维地形模拟是虚拟战场环境构建中最基本也
是最重要的技术之一.地形模拟分为(类:真实地
形和模拟地形.真实地形是现实世界地形的再现,
具有非常高的真实度,必须采用世界中的具体数据
来构造,在这种情况下一般采用数字高程模型
(.IC:H/9/3:J1J1K:3/D LDH1J)方法..IC方法精确
度高,但是生成速度慢;模拟地形一般采用随机生成
高程数据的方法.采用这种方法生成的地形速度非
常快,但是不能和现实世界一一对应.这(种方法
在开发技术上没有本质区别,只是地形高程值一个
是采用真实的高程数据,一个是采用随机生成的高
程数据[6].
三维地形模拟首先要生成地形模型,以构成地
形模型的图元类型划分,可以将地形模型分成以下
几种[#].
(!)规则格网地形模型:以矩形网格作为构成
数字地形模型的基本元素,最常见的是规则矩形网
格表示的地形模型以及四叉树表示的多分辨率规则
网格地形模型.
(()5FM地形模型:以三角形为基本元素构成的
地形模型,如.1J:G :N三角网,各种多分辨率三角
网地形.
(6)等值线地形模型:将等值线表示到三维空
第*,卷第-期重庆邮电学院学报(自然科学版)./01*,)2/1-
+((-年*(月3/4#560/789/5:;"5:"& /7@/>&>65AB$0$%/CC45"%6&"/5>(26&4#60D%"$5%$)E%&1+((-
!收稿日期:(""#$!!$6"**修订日期:(""%$"6$")
基金项目:上海警备区反恐课题项目资助
作者简介:田海江(!')!$),男,黑龙江省哈尔滨人,助理工程师,研究方向为计算机科学与技术.I$L:/J:ODP1021Q!&6+
2DL
间中的地形模型,最常见的是等高线表示的地形模
型.一般情况下,它并没有表示到三维空间中.
常用的数字地形模型主要有规则格网地形模型
和!"#地形模型$种.这$种模型结构相对简单,
易于建立拓扑关系,以及对模型进行可视化和分析,
各自都有其优点和缺点.
在%&'()*+%中,三维地形模拟最简单的方法是
采用规则三角形网格模型,先通过三维模型制作软
件制作一个平面地形模型,然后导出为%&'()*+%支
持的后缀名为,-的文件格式,也可以通过直接编写
代码生成平面地形模型,如图.所示.
图.规则三角形模型
/&0,.1(0234'*'&4503(678(3
%&'()*+%中提供一个"%+%-9(:;接口来处理
网格模型,在程序中可以通过该接口的成员函数来
对网格模型进行各种处理.
地形的高低起伏通过改变代表地形的网格模型
的顶点的高度值来实现.下面给出一段代码说明如
何改变顶点的高度.
!+%@>1!>-AB//>1CD@A;EED@A为保存顶点数据
的缓冲区
@>1!>-!D@('*&)(:;EE@>1!>-为顶点结构
%FG1%8H#26@('*&)(:ID9(:;JKL(*#26@('*&)(:();
EE获取地形模型点的数量
D9(:;JKL(*@('*(MA2NN('(OD@A);EED9(:;为网格接口指针
D@AJKNN()*7N*(''4&5:&6234*&75
由于大面积地形需要绘制的三角形非常多,导
致显示速度变慢,所以绘制大面积地形通常采用层
次细节技术,如%&'()*+%通过"%+%-=9(:;接口来
提供对层次细节模型的支持,通过该接口可以方便
地实现层次细节模型.
在绘制地形时,提高三维地形真实感最有效,最
简单的方法就是纹理贴图,在三维地形表面贴上地
形的真实照片,或地表纹理图.
!海洋环境仿真
海洋环境仿真包括海面,海体(水下空间)和海
底的视景仿真.
!,"#海面的视景仿真
海面视景仿真的重点是逼真地模拟出海面的波
浪起伏.人们很早以前就开始了对海浪的研究,目
前大致分为$个方向:一是对海面液体的波动从流
体力学的角度加以研究;二是将海面波动看作是一
个随机过程,从统计意义上对海面各质点的运动状
态进行描述.目前已有多种模型来描述复杂的海面
运动.在具体实现技术上和前面所讲地形模拟没有
太大的区别,首先也是要先创建一个平面的海面网
格模型,所不同的是,在地形模拟中,地形的高度是
固定的,所以只需要计算.次,而海面波浪是动态
的,所以每一帧都需要根据海浪模型来重新计算海
平面模型中每个顶点的高度,再贴上海面的纹理贴
图,显然计算量是非常大的,特别当波面网格很多
时,必然会影响视景生成的实时性.事实上,距离很
远处的海面波动是肉眼分辨不出来的,计算机不必
QCW UUUUUUU重庆邮电学院学报(自然科学版)UUUUUUUUUUUUUUU第.X卷
再解算其模型而浪费资源.为此,可将整个海面分
为动态和静态!部分.动态部分只限制在以当前视
点为中心的一个圆形范围内;在此范围外,海面静
止,只是设置与动态海域一样的颜色即可.
除了上面提到的方法外,还可以采用更简单的
循环纹理贴图技术来实现简单的海面波浪效果,采
用这种方法真实感比较差,但是不涉及海浪模型的
解算,对场景绘制速度几乎没有影响.图"为通过
循环纹理贴图实现的海面模拟效果.
图"海面视景仿真效果
#$%&"'(()*+,(,*)-./*).)/$012-+$,.
!&"#海体的视景仿真
在水下作战等领域的视景仿真中,视点需要深
入到海面以下.水下空间具有光影,气泡,混浊等特
殊的视景效果,一直是视景仿真的难点,但是充分利
用3$4)*+"3提供的各种技术,还是可以比较逼真地
构造出水下环境.对水下空间的光影效果可以通过
3$4)*+"动态光照效果实现(见图5),也就是不断改
变光照的方向,光源位置,光照强度等光的属性.气
泡效果可以采用粒子系统实现,设计若干由下至上
随机升起的粒子群,各个粒子不断变大,模拟水下气
泡(粒子系统,下面会有较详细的介绍).通过3$6
4)*+"3提供的雾化功能在水下空间添加适当浓度的
蓝色雾,就可以模拟水下的混浊效果.
图57水下空间视景仿真效果
#$%&5'(()*+,(8.9)4:-+)4/;-*)/*).)/$012-+$,.
!&!#海底的视景仿真
海底的视觉特性主要由海底地形和海底沉淀层
决定.海底沉淀层物质大都以砂石或泥为主,为了
使场景生成,通常还需要添加海底的光斑闪烁效果.
海底地形模拟和上面提到的三维地形模拟在实现技
术上完全相同.
海底砂石可以通过在海底地形上贴上砂石纹理
来实现,闪烁光斑可以通过循环纹理影射来实现,其
方法是先制作一组模拟光斑闪烁的循环纹理,即相
邻的纹理有微小而近似连续的变化.在具体的实现
时,可以先在海底地形上贴上砂石纹理,再在上面贴
上模拟光斑闪烁效果的循环纹理,利用3$4)*+"3提
供的纹理混合技术.对!种纹理进行混合.在3$6
4)*+"3中最多可以支持幅连续纹理贴图,那么
在内存中就要保存 >幅纹理贴图资源,这时可以使
用3$4)*+"3提供的3@A纹理压缩技术,应用3@A
纹理压缩不仅仅可以节省相当大的内存空间,而且
能有效地降低纹理传输带宽,提高图形系统的整体
性能,经过我们测试,可以明显提高场景渲染速度.
对于有些特殊效果,特别是持续时间较长而且
外观变换不定的效果,采用循环纹理贴图来实现比
较困难,而且效果也比较差,例如发烟效果,类似这
种特殊效果可以利用粒子系统来模拟.粒子系统理
论是B))C)/在DE 第>期777777777777田海江,等:基于3$4)*+@构建虚拟战场环境研究
颜色,生命周期,形状.生成粒子系统某瞬间画面的
基本步骤[!]如下:!产生新的粒子加入系统中;"
赋予每一新粒子一定的初始属性;#删除那些已经
超过其生命周期的粒子;$根据粒子的动态属性对
粒子进行变换;%绘制并显示有生命的粒子组成的
图形.在具体实现时最好采用链表来管理粒子系统中
的所有粒子,将整个粒子系统封装成一个类,以便于
使用和代码重用.
图!给出了使用连续纹理贴图和粒子系统实现
的"个特殊效果,其中爆炸效果是通过纹理贴图实
现的,喷洒车喷洒效果是通过粒子系统实现的.
图!#战场特殊效果模拟
$%&'!()*+%,-*..*+/012,//-*.%*-34%56-,/%01
!自然现象模拟
在虚拟战场环境构建中,自然现象模拟也是一
个重要的组成部分,它直接影响到虚拟战场环境的
逼真程度.自然现象模拟一直是最具挑战性的研究
方向之一.自然现象模拟实现的方法很多,下面仅
给出几种比较容易实现的方法.
对雾的模拟最为简单,可以直接利用7%8*+/97
提供的雾化功能,在渲染场景前只需正确设置相关
雾化参数和雾化计算公式并启用雾化效果即可,雾
化参数设置主要包括:雾的颜色,浓度,起始距离和
达到最大浓度值的距离.
对雨,雪效果模拟可以采用上面提到的粒子系
统.对于动态云彩的模拟可以采用动态纹理贴图来
实现.图:为采用粒子系统实现的下雪效果模拟,
图;为通过纹理贴图实现的动态云彩模拟.
"#武器装备动画和人员动作模拟
在虚拟战场中,存在着各种武器装备和大量的
作战人员等作战实体.通常武器装备和作战人员处
于运动状态,在7%8*+/97中可以通过为各作战实体
分别设置世界矩阵来控制作战实体在空间中的位置
图:下雪效果模拟
$%&':(10 @ABC>5,/D%4E*1;FF机身的世界矩阵
797> @ABC>5,/G60H6,1I%,1&;FF螺旋桨的世界矩阵
797> ,/8%HA8,14-,/%01(J5,/D%4E*1,H,=,K)FF移动直升飞机到
(H,=,K)
5,/G60H6,1I%,1&L5,/D%4E*1;FF先将螺旋桨移动到(H,=,K)
797> ,/8%HB0/,/%01M(J5,/D%4E*1,.@1&-*)FF在转动螺旋桨
对于一些复杂的动画,特别是作战人员会有各
种动作,对于这种情况靠编写代码来实现难度非常
大,对于一般的开发人员几乎不可能实现.这时我
们可以在模型制作软件中设计模型的各种动作,以
作战人员为例,我们可以根据需要为其设计射击,跑
动,卧倒等各种动作,然后再将制作的模型导出7%N
8*+/97支持的'>文件,导出后,模型的各种动作数
据就可以导出到'>文件中.在7%8*+/97中使用包
含动画信息的网格模型时,我们通过7%8*+/97提供
的动画控制器接口C797>@1%5,/%01O01/80--*8,利用
"P! #######重庆邮电学院学报(自然科学版)###############第Q;卷
模型中的动画数据控制模型的各种动画,而且通过
该接口还可以实现动画之间平滑过渡的功能,例如
作战人员可能会在跑动的过程中卧倒,这时在程序
中就可以通过!"#"$%&'()*'+&,+&*-+../-提供的功
能实现由跑动动画到卧倒动画的平滑过渡.另外
"'-/0*#"还提供了!"#"$12'&!&3+接口来处理接口
角色模型中的蒙皮信息,使人员模拟更加符合真实
情况.图4中的喷洒车,在制作模型时我们就为其
设置了车轮转动的动画,在程序中通过
!"#"$%&'()*'+&,+&*-+../-来控制车轮转动,因此,可
以实现开始转动,停止转动,调节转动速度使其和车
辆运动速度相吻合等功能.
!"战场三维声音环境的实现
视觉和听觉是人类感知外部世界的5种最重要
的信息渠道,其信息载体分别为图像和声音,所以要
构造出逼真的虚拟战场环境,除视景仿真外,还必须
提供具有真实感的声音环境.在有些情况下听觉信
息比视觉信息更重要,例如当坦克从观察者身后冲
过来时,虽然看不到坦克,但可以通过坦克运动的声
音感觉到坦克从身后运动过来,从而为观察者提供
了和真实世界中相同的感觉.
所谓真实感声音的生成是指用计算机来模拟实
际或虚拟的声场,从而使人们获得与临场相似的听
觉感受,其中主要包括方位感,距离感,尤其是相对
距离感以及环境感等[6].
在"'-/0*$中有一个专门用于声音开发的"'7
-/0*1+8&9组件,通过"'-/0*1+8&9提供的各种接口可
以方便地构造出逼真的三维声音环境."'-/0*1+8&9
通过为声音和收听者分别设置不同的参数来计算声
音的多普勒效应,声音随距离的衰减,声音的方向感
等来实现三维真实感声音.
#结束语
我们在本文中分析了采用"'-/0*$构建虚拟战
场环境所涉及到的各种关键技术,虚拟战场环境的
构建是一项长期的任务,也是一项基础性的工作,目
前我们在这方面做了一些工作,取得了一些成果.
"'-/0*$目前在游戏开发领域占有绝对的优势,但是
在军事仿真领域应用得比较少.通过上面的分析可
以看出"'-/0*$提供的许多技术在军事仿真领域都
有很好的应用前景.
参考文献:
[:];汪成为,高文,王行仁,等6<
[5];陈卡#"图形程序设计[=]<上海:
上海科学技术出版社,5 #<
[#];和平鸽工作室<@A/&BC三维图形系统开发与
实用技术(实用技术篇)[=]<重庆:重庆大学
出版社,北京:清华大学出版社,5 #<
[4];高俊,夏运钧,游雄,等><
[D];禹海全,李岩,冯振声<基于某型防空导弹的
尾焰仿真研究[E]<
[6];石教英<虚拟现实基础及实用算法[=]<北
京:科学出版社,5 5<(责任编辑:刘勇)
$%&'()*+&,-',*./,0%&1-+1%%-23,2-'+142')*5,026%7
G!%HI)'7J')&K:,B%@,L)+7*'&K5,M%HB"/70)'5,NOHBPL/&K70L)+5
(:!"#$%&'(%&)%(*+,-(./$01$-.-2%34+5+6$778%(62.($%-,"#$%&'(%&4 6D,1!9!"#(%2
5!:%-.(.8.+$0"#+7(625;+0+%-+,<+(=(%&: 55 D,1!9!"#(%2)
8+4%016%:Q8'.9'&KR'-*8).S)**./3'/.9'T)&'(A+-*)&*T8SJ/0*'&('.'*)-UT'(8.)*'+&,!&*L'TA)A/-*L/)87
*L+-T&+V8T/*L/.+V./R/.K-)AL'0%W!S8'.9R'-*8).S)**./3'/.9+&W,V'*L*L/'(A-+R/(/&*+30)A)S'.'*U
+3L)-9V)-/,T+'*0)&9/0-/)T/*L/0+T*K-/)*.U<!&*L'T)-*'0./,*L/)8*L+-TT*89UT'(A.U*L/)AA.'0)*'+&
+3"'-/0*$'"*/--)'&T'(8.)*'+&,+0/)&T0/&/T'(8.)*'+&,TA/0')./33/0*+&S)**./3'/.9T'(8.)*'+&,V/)*L7
/-AL/&+(/&+&T'(8.)*'+&,)&'()*'+&+3/X8'A(/&*,(+*'+&+3T+.9'/-)&9#"T+8&9T'(8.)*'+&<OR/-U
*/0L&'X8/+3"'-/0*$8T/9'&S8'.9'&KR'-*8).S)**./3'/.9'T'&*-+980/9D 第D期;;;;;;;;;;;;田海江,等:基于"'-/0*$构建虚拟战场环境研究
!"# $$$$$$$重庆邮电学院学报(自然科学版)$$$$$$$$$$$$$$$第%&卷
·上一篇:
激光与红外Vol36·下一篇:
领导学基础网上教学活动文本(20041224)