999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

開源仿真引擎Delta3D在軍用仿真中的應用

2014-04-29 00:44:03陳喜春
計算機時代 2014年2期

陳喜春

摘 要: 由于商業仿真軟件的高昂費用以及源碼的不開放,許多軍事仿真已轉而使用開源仿真軟件。Delta3D是一款由美軍開發的全功能游戲與仿真引擎,通過對底層模塊進行隱藏封裝,將多個相關功能模塊整合在一起形成一個使用更加方便的高級API函數庫,目前在軍用仿真領域已經較有影響。文章介紹了Delta3D的模塊組成,應用程序開發的基本框架,以及與相關仿真軟件的配合使用,并就開發過程中的相關問題給出了建議。

關鍵詞: Delta3D; 仿真引擎; 開源軟件; 軍事仿真

中圖分類號:TP319 文獻標志碼:A 文章編號:1006-8228(2014)02-33-03

0 引言

目前,作戰實驗中大量采用了3D圖形技術。在游戲和仿真領域,從技術實現上可將3D圖形技術分為基礎層、中間層和應用層三個層次。基礎層主要是3D加速硬件和廠商提供的基本的API函數接口;中間層則是根據游戲和仿真各自不同的需求編寫的公共引擎或軟件(在游戲領域多稱之為游戲引擎,仿真領域則稱之為仿真軟件或仿真環境);應用層則是具體的游戲產品或仿真應用。

一個良好的仿真引擎是仿真應用研發的基礎,在一個相對成熟的仿真引擎基礎上,作戰實驗系統研發人員能夠根據需求較快地開發出相應的作戰仿真軟件,仿真軟件廠商也能很快地為客戶建立各種仿真應用。

目前仿真軟件中有大量的商業化軟件,如Id Software公司的Quake、Quake II和Quake III引擎,Epic Megagames公司(即現在的Epic游戲公司)的Unreal Tournament引擎,Monolith公司的LithTech引擎,但這些軟件價格昂貴,且源碼不開放,對作戰實驗這種需要從底層保證其結果可靠性的應用來說,造成很大困難。

美軍較早意識到了這種困難,他們積極轉向開源軟件。Delta3D是一款由美國海軍研究生院(Naval Postgraduate School)開發的全功能游戲與仿真引擎,得到美國軍方巨大的支持與豐厚的投資[1]。該引擎應用領域極為廣泛,在培訓、教育、娛樂行業和科學計算可視化領域等方面建模與仿真軟件的開發中都得到了廣泛的應用。它的標準化設計把一些知名開源軟件和引擎如Open Scene Graph(OSG),Open Dynamics Engine (ODE),Character Animation Library(CAL3D),以及Open AL等融為一體。Delta3D通過對這些底層模塊進行隱藏封裝、整合在一起,從而形成了一個使用更加方便的高級API函數庫,使得開發者在必要的時候能夠使用底層函數進行二次開發。

本文將對開源軟件Delta3D的模塊組成、開發方法以及與相關仿真軟件的配合使用進行介紹。

1 Delta3D功能模塊介紹

Delta3D在軟件系列中,處于中間層(Middle layer)的位置上。Delta3D主要目標是提供一套簡單可行的API函數庫,構成搭建任何可視化軟件的基本要素。

Delta3D是一個開放源碼的引擎,研發開始于2002年4月,集成了現有最先進的開源軟件(Open Source projects),并經過全球Delta3D關注者的增補與完善,相對于購買一款價格很高又不開放源代碼的引擎具有很大的優勢,使用Delta3d可以任意修改代碼并且定制所需的功能,這是不開放源代碼的商業引擎無法做到的[2]。

2 Delta3D應用程序的基本框架

2.1 Delta3D中的基本概念

在Delta3D的開發中,有幾個重要概念,如游戲管理器(Game Manager),游戲角色(Game Actor),游戲組件(Game Component),以及游戲消息(Game Message)。

Delta3D提供仿真應用程序的基本要素,如場景管理,物理系統,立體音效,對象加載,動態角色庫,環境特效,光照,地形支持,相機,以及角色動畫。

在應用程序中,游戲管理器負責管理整個應用程序虛擬世界中存在的所有要素以及角色或組件之間的交互,游戲管理器擁有所有的游戲角色,普通角色,組件以及消息。游戲管理器的主要任務是:管理消息;維護系統內部的所有的角色,包括游戲角色以及普通角色;提供游戲管理組件功能。

普通角色或者稱之為非游戲角色一般指那些游戲世界中靜態的物體,比如:房子、不移動的燈光、樹木、地形等,游戲角色指那些具有生命的角色。

在Delta3D中,一個很重要的概念是角色代理。游戲管理器只識別游戲角色代理,不直接識別游戲角色。因此游戲角色只能夠通過角色代理與游戲管理器發生關系。游戲消息是角色和組件之間互相通信的內容。消息通常用來發送數據(比如屬性變化)或者行為(請求或命令)。圖2展示了消息在游戲角色,游戲管理器以及組件之間的流向。

2.2 基本程序框架[3-4]

程序的邏輯順序依次是:創建新的dtABC::Application對象,加載實體對象,向場景中添加實體對象,設置實體對象在三維場景中的位置,設置攝象機,最后進入仿真循環。

較復雜的仿真程序主要是在仿真推進中需要將對象的屬性進行更新,所以需要管理的對象數量、復雜程度會大大增加。

3 與相關仿真軟件的配合使用

Delta3D是一套復雜的軟件,它不僅僅實現了仿真程序框架,而且將其他一些開源項目進行了集成,從而可以實現更復雜的功能。

3.1 網絡模塊

如今分布式仿真大行其道,仿真程序的網絡功能是不可或缺的。HLA是如今仿真開發的標準架構,Delta3D也對HLA提供了支持。Delta3D提供了HLA組件作為一個消息翻譯器(Game Translator),游戲管理器(Game Manager)對消息的處理首先要經過消息翻譯器的處理,然后按照HLA架構的要求由rti軟件進行收發。HLA組件對rti函數進行了封裝,使用起來比直接調用rti函數要大大簡化。rti軟件同樣有開源版本,與Delta3D配合使用時,推薦使用CERTI。

除HLA外,Delta3D還可以使用另外的網絡通信機制,如使用開源的GNE庫(Game Networking Engine,游戲網絡引擎)。GNE庫是一個可移植的多線程網絡函數庫,它為常用的網絡程序開發提供了一套框架,開發人員可以直接在這個框架之上添加代碼。

3.2 物理引擎

物理引擎主要包含游戲世界中的物體之間、物體和場景之間發生碰撞后的力學模擬,以及發生碰撞后的物體骨骼運動的力學模擬。Delta3D中對物理引擎的封裝也有幾種不同的實現方式[5],第一是在dtCore中對ODE(開放動力學引擎)的封裝,第二通過dtPhysics使用PAL(physics abstract layer)對三種物理引擎Bullet、ODE、Phys的封裝。

在Delta3D中應用ODE的時候,可以使用Scene類調用ODEController,通過ODEController中配置ODESpaceWrap,進行碰撞檢測設置。

3.3 人工智能

在娛樂游戲或者軍事仿真中,都會涉及到路徑尋找、避障等問題。Delta3D提供了dtAI模塊,通過AIutility工具可以在場景上編輯路點(WayPoint),然后提供包括A*算法在內的一些標準程序,實現AI功能。當然,人工智能也有很多第三方庫,如NavMesh,采取導航網的方法來進行路徑選擇,同樣可以集成到Delta3D應用中。

4 結束語

本文分析了開源軟件在仿真領域得到重視的原因,并介紹了一種得到廣泛應用的開源軟件Delta3D。Delta3D集成了大量的其他開源項目,并開發了一個易于使用的應用程序編程接口,它的開放性、易用性將會為它的未來發展帶來廣泛的空間。

參考文獻:

[1] Delta3D Homepage[EB/OL].http://www.delta3d.org/index.php,2013-10-10.

[2] Delta3D Tutorials[EB/OL]. http://www.delta3d.org/article.php?story=20050720155458456&topic=tutorials,2013-10-10.

[3] Delta3D Forum[EB/OL]. http://www.delta3d. org/forum/index.php,2013-10-10.

[4] 楊化斌,于振華,林中等.Open Scene Graph3.0三維視景仿真技術開發詳解[M].國防工業出版社,2012.

[5] Delta3D Tutorials in the Wiki[EB/OL]. http://sourceforge.net/apps/mediawiki/delta3d/index.php?title=Tutorials,2013-10-10.

主站蜘蛛池模板: 国产成人做受免费视频| 毛片手机在线看| 亚洲中文字幕在线观看| 香蕉久人久人青草青草| 91av国产在线| 亚洲成综合人影院在院播放| 亚洲一区二区三区在线视频| 国产精品3p视频| 国产精品性| 97色伦色在线综合视频| 国产特一级毛片| 91免费观看视频| 狠狠综合久久| 久久精品视频亚洲| 免费人成黄页在线观看国产| 9cao视频精品| 国产免费久久精品99re丫丫一| 色有码无码视频| 久久免费精品琪琪| 国产精彩视频在线观看| 噜噜噜综合亚洲| 国产乱人免费视频| 亚洲va精品中文字幕| 国产美女一级毛片| 毛片免费在线视频| 91在线播放国产| 亚洲制服丝袜第一页| www中文字幕在线观看| 亚洲国产成人麻豆精品| 中文字幕人成人乱码亚洲电影| 国产95在线 | 亚洲人成网站色7777| 久久永久免费人妻精品| 国产女人爽到高潮的免费视频| 九色在线观看视频| 波多野结衣视频一区二区| 伊人丁香五月天久久综合| 青青草一区二区免费精品| 国产第一福利影院| 久久天天躁夜夜躁狠狠| 国产午夜无码片在线观看网站| 日韩人妻精品一区| 一级不卡毛片| 久久情精品国产品免费| 国产成人亚洲综合a∨婷婷| 亚洲日韩国产精品综合在线观看| 99热在线只有精品| 亚洲欧美不卡中文字幕| 亚洲日韩高清在线亚洲专区| 午夜视频在线观看免费网站| 国产精品白浆无码流出在线看| 欧美亚洲国产一区| 欧美在线中文字幕| 四虎AV麻豆| 国产精品美女自慰喷水| 欧美啪啪精品| 凹凸精品免费精品视频| 国产成人喷潮在线观看| 她的性爱视频| 国产成人一区免费观看| 狠狠色狠狠综合久久| 日韩欧美视频第一区在线观看| 国产美女精品在线| 国产精品久线在线观看| a级毛片免费看| 国产精品国产三级国产专业不 | 一级成人a做片免费| 国产成人精品高清不卡在线| 久久久国产精品免费视频| 国产成人凹凸视频在线| 国产靠逼视频| 在线国产毛片| 乱码国产乱码精品精在线播放| 午夜精品久久久久久久无码软件| 欧美一区二区自偷自拍视频| 久久亚洲高清国产| 97视频免费在线观看| 国产黄色免费看| 香蕉久人久人青草青草| 午夜高清国产拍精品| 国产高清国内精品福利| 妇女自拍偷自拍亚洲精品|