开源仿真引擎Delta3D在军用仿真中的应用(2)
普通角色或者称之为非游戏角色一般指那些游戏世界中静态的物体,比如:房子、不移动的灯光、树木、地形等,游戏角色指那些具有生命的角色。
在Delta3D中,一个很重要的概念是角色代理。游戏管理器只识别游戏角色代理,不直接识别游戏角色。因此游戏角色只能够通过角色代理与游戏管理器发生关系。游戏消息是角色和组件之间互相通信的内容。消息通常用来发送数据(比如属性变化)或者行为(请求或命令)。图2展示了消息在游戏角色,游戏管理器以及组件之间的流向。
2.2基本程序框架[3-4]
程序的逻辑顺序依次是:创建新的dtABC::Application对象,加载实体对象,向场景中添加实体对象,设置实体对象在三维场景中的位置,设置摄象机,最后进入仿真循环。
较复杂的仿真程序主要是在仿真推进中需要将对象的属性进行更新,所以需要管理的对象数量、复杂程度会大大增加。
3与相关仿真软件的配合使用
Delta3D是一套复杂的软件,它不仅仅实现了仿真程序框架,而且将其他一些开源项目进行了集成,从而可以实现更复杂的功能。
3.1网络模块
如今分布式仿真大行其道,仿真程序的网络功能是不可或缺的。HLA是如今仿真开发的标准架构,Delta3D也对HLA提供了支持。Delta3D提供了HLA组件作为一个消息翻译器(GameTranslator),游戏管理器(GameManager)对消息的处理首先要经过消息翻译器的处理,然后按照HLA架构的要求由rti软件进行收发。HLA组件对rti函数进行了封装,使用起来比直接调用rti函数要大大简化。rti软件同样有开源版本,与Delta3D配合使用时,推荐使用CERTI。
除HLA外,Delta3D还可以使用另外的网络通信机制,如使用开源的GNE库(GameNetworkingEngine,游戏网络引擎)。GNE库是一个可移植的多线程网络函数库,它为常用的网络程序开发提供了一套框架,开发人员可以直接在这个框架之上添加代码。
3.2物理引擎
物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟,以及发生碰撞后的物体骨骼运动的力学模拟。Delta3D中对物理引擎的封装也有几种不同的实现方式[5],第一是在dtCore中对ODE(开放动力学引擎)的封装,第二通过dtPhysics使用PAL(physicsabstractlayer)对三种物理引擎Bullet、ODE、Phys的封装。
在Delta3D中应用ODE的时候,可以使用Scene类调用ODEController,通过ODEController中配置ODESpaceWrap,进行碰撞检测设置。
3.3人工智能
在娱乐游戏或者军事仿真中,都会涉及到路径寻找、避障等问题。Delta3D提供了dtAI模块,通过AIutility工具可以在场景上编辑路点(WayPoint),然后提供包括A*算法在内的一些标准程序,实现AI功能。当然,人工智能也有很多第三方库,如NavMesh,采取导航网的方法来进行路径选择,同样可以集成到Delta3D应用中。
4结束语
本文分析了开源软件在仿真领域得到重视的原因,并介绍了一种得到广泛应用的开源软件Delta3D。Delta3D集成了大量的其他开源项目,并开发了一个易于使用的应用程序编程接口,它的开放性、易用性将会为它的未来发展带来广泛的空间。
参考文献:
[1]Delta3DHomepage[EB/OL].http://www.delta3d.org/index.php,2013-10-10.
[2]Delta3DTutorials[EB/OL].http://www.delta3d.org/article.php?story=20050720155458456&topic=tutorials,2013-10-10.
[3]Delta3DForum[EB/OL].http://www.delta3d.org/forum/index.php,2013-10-10.
[4]杨化斌,于振华,林中等.OpenSceneGraph3.0三维视景仿真技术开发详解[M].国防工业出版社,2012.
[5]Delta3DTutorialsintheWiki[EB/OL].http://sourceforge.net/apps/mediawiki/delta3d/index.php?title=Tutorials,2013-10-10.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊