亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        陳喜春

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

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

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

        0 引言

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

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

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

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

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

        1 Delta3D功能模塊介紹

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

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

        2 Delta3D應用程序的基本框架

        2.1 Delta3D中的基本概念

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

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

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

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

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

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

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

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

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

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

        3.1 網(wǎng)絡模塊

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

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

        3.2 物理引擎

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

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

        3.3 人工智能

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

        4 結(jié)束語

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

        參考文獻:

        [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三維視景仿真技術開發(fā)詳解[M].國防工業(yè)出版社,2012.

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

        精品国产乱码一区二区三区| 亚洲av中文无码字幕色三| 精品国产一级毛片大全| 亚洲av网一区天堂福利| 成人在线观看av毛片| 男人和女人做爽爽免费视频| 综合久久给合久久狠狠狠97色| 亚洲AⅤ男人的天堂在线观看| 亚洲中文字幕一区av| 中国少妇×xxxx性裸交| 无套内谢的新婚少妇国语播放| 亚洲中文字幕av天堂| 亚洲国产91高清在线| 亚洲av高清在线观看一区二区| 无码三级在线看中文字幕完整版| 国产午夜亚洲精品一级在线| 久久精品人妻一区二三区| 亚州国产av一区二区三区伊在| 蜜桃成人无码区免费视频网站| 日韩精人妻无码一区二区三区| 国产精品久久婷婷免费观看| 国产激情综合在线观看| 亚洲国产精品一区二区第四页 | 亚洲国产精品国自产拍av在线| 国产91色综合久久高清| 鸭子tv国产在线永久播放| 手机在线精品视频| 国产一区二区一级黄色片| 免费a级毛片又大又粗又黑| 一本色道久久综合亚洲精品不卡| 久久99精品中文字幕在| 日产国产亚洲精品系列| 男人扒开添女人下部免费视频 | 曰韩内射六十七十老熟女影视| 人妻忍着娇喘被中进中出视频| 国产中文字幕乱码在线| 白白色免费视频一区二区在线| 久久人妻无码一区二区| 尤物yw无码网站进入| 国产毛片一区二区三区| 亚洲av无码精品无码麻豆|