开源仿真引擎delta3d在军用仿真中应用

开源仿真引擎delta3d在军用仿真中应用

ID:5609407

大小:29.50 KB

页数:7页

时间:2017-12-19

开源仿真引擎delta3d在军用仿真中应用_第1页
开源仿真引擎delta3d在军用仿真中应用_第2页
开源仿真引擎delta3d在军用仿真中应用_第3页
开源仿真引擎delta3d在军用仿真中应用_第4页
开源仿真引擎delta3d在军用仿真中应用_第5页
资源描述:

《开源仿真引擎delta3d在军用仿真中应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、开源仿真引擎Delta3D在军用仿真中应用  摘要:由于商业仿真软件的高昂费用以及源码的不开放,许多军事仿真已转而使用开源仿真软件。Delta3D是一款由美军开发的全功能游戏与仿真引擎,通过对底层模块进行隐藏封装,将多个相关功能模块整合在一起形成一个使用更加方便的高级API函数库,目前在军用仿真领域已经较有影响。文章介绍了Delta3D的模块组成,应用程序开发的基本框架,以及与相关仿真软件的配合使用,并就开发过程中的相关问题给出了建议。关键词:Delta3D;仿真引擎;开源软件;军事仿真中图分类号:TP319文献标

2、志码:A文章编号:1006-8228(2014)02-33-030引言目前,作战实验中大量采用了3D图形技术。在游戏和仿真领域,从技术实现上可将3D图形技术分为基础层、中间层和应用层三个层次。基础层主要是3D加速硬件和厂商提供的基本的API函数接口;中间层则是根据游戏和仿真各自不同的需求编写的公共引擎或软件(在游戏领域多称之为游戏引擎,仿真领域则称之为仿真软件或仿真环境);应用层则是具体的游戏产品或仿真应用。7一个良好的仿真引擎是仿真应用研发的基础,在一个相对成熟的仿真引擎基础上,作战实验系统研发人员能够根据需求较

3、快地开发出相应的作战仿真软件,仿真软件厂商也能很快地为客户建立各种仿真应用。目前仿真软件中有大量的商业化软件,如IdSoftware公司的Quake、QuakeII和QuakeIII引擎,EpicMegagames公司(即现在的Epic游戏公司)的UnrealTournament引擎,Monolith公司的LithTech引擎,但这些软件价格昂贵,且源码不开放,对作战实验这种需要从底层保证其结果可靠性的应用来说,造成很大困难。美军较早意识到了这种困难,他们积极转向开源软件。Delta3D是一款由美国海军研究生院(N

4、avalPostgraduateSchool)开发的全功能游戏与仿真引擎,得到美国军方巨大的支持与丰厚的投资[1]。该引擎应用领域极为广泛,在培训、教育、娱乐行业和科学计算可视化领域等方面建模与仿真软件的开发中都得到了广泛的应用。它的标准化设计把一些知名开源软件和引擎如OpenSceneGraph(OSG),OpenDynamicsEngine(ODE),CharacterAnimationLibrary(CAL3D),以及OpenAL等融为一体。Delta3D通过对这些底层模块进行隐藏封装、整合在一起,从而形成了

5、一个使用更加方便的高级API函数库,使得开发者在必要的时候能够使用底层函数进行二次开发。7本文将对开源软件Delta3D的模块组成、开发方法以及与相关仿真软件的配合使用进行介绍。1Delta3D功能模块介绍Delta3D在软件系列中,处于中间层(Middlelayer)的位置上。Delta3D主要目标是提供一套简单可行的API函数库,构成搭建任何可视化软件的基本要素。Delta3D是一个开放源码的引擎,研发开始于2002年4月,集成了现有最先进的开源软件(OpenSourceprojects),并经过全球Delta

6、3D关注者的增补与完善,相对于购买一款价格很高又不开放源代码的引擎具有很大的优势,使用Delta3d可以任意修改代码并且定制所需的功能,这是不开放源代码的商业引擎无法做到的[2]。2Delta3D应用程序的基本框架2.1Delta3D中的基本概念在Delta3D的开发中,有几个重要概念,如游戏管理器(GameManager),游戏角色(GameActor),游戏组件(GameComponent),以及游戏消息(GameMessage)。Delta3D提供仿真应用程序的基本要素,如场景管理,物理系统,立体音效,对象加

7、载,动态角色库,环境特效,光照,地形支持,相机,以及角色动画。7在应用程序中,游戏管理器负责管理整个应用程序虚拟世界中存在的所有要素以及角色或组件之间的交互,游戏管理器拥有所有的游戏角色,普通角色,组件以及消息。游戏管理器的主要任务是:管理消息;维护系统内部的所有的角色,包括游戏角色以及普通角色;提供游戏管理组件功能。普通角色或者称之为非游戏角色一般指那些游戏世界中静态的物体,比如:房子、不移动的灯光、树木、地形等,游戏角色指那些具有生命的角色。在Delta3D中,一个很重要的概念是角色代理。游戏管理器只识别游戏角

8、色代理,不直接识别游戏角色。因此游戏角色只能够通过角色代理与游戏管理器发生关系。游戏消息是角色和组件之间互相通信的内容。消息通常用来发送数据(比如属性变化)或者行为(请求或命令)。图2展示了消息在游戏角色,游戏管理器以及组件之间的流向。2.2基本程序框架[3-4]程序的逻辑顺序依次是:创建新的dtABC::Application对象,加载实体对象,向场景中添

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。