• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Unity3D的通信專業(yè)競賽流程模擬演練系統(tǒng)

      2014-07-18 18:41:31馮劍川杜軼焜伊鑫
      電腦知識(shí)與技術(shù) 2014年13期

      馮劍川 杜軼焜+伊鑫

      摘要:針對(duì)院校各類型專業(yè)競賽逐年增多但競賽組織效率偏低的現(xiàn)狀,基于Unity3D開發(fā)了通信專業(yè)競賽流程模擬演練系統(tǒng)。該系統(tǒng)具有三維場(chǎng)景生成、可視化競賽現(xiàn)場(chǎng)布置、競賽流程模擬演練和方案報(bào)表生成等功能,有效提高了競賽組織效率,具有廣泛的應(yīng)用前景和較高的推廣價(jià)值。

      關(guān)鍵詞:Unity3D;競賽流程;模擬演練

      中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)13-2971-03

      A Simulation System of Communication Competition Based on Unity3D

      FENG Jian-chuan1, DU Yi-kun 2, YI Xin 1

      (1.Bengbu Naval Petty Officer Academy, Bengbu 233012, China; 2.China Aerodynamics Research and Development Center with High-speed, Mianyang 621000, China)

      Abstract: According to the actuality of the low organizational efficiency for all types of professional competitions which is increasing every year, , we design a professional communication competition process simulation training system based on Unity3D. The system has a three-dimensional scene generation, visualization contest site layout, process simulation and report generation capabilities. The work of this paper improves the efficiency of the organization of the competitions, with a wide range of applications and high promotional value.

      Key words: Unity3D; competition process; simulation exercise

      目前,院校組織的各類型專業(yè)競賽逐年增多。通常,競賽組織者根據(jù)競賽總體要求,先期熟悉場(chǎng)地環(huán)境,之后進(jìn)行競賽準(zhǔn)備方案撰寫,主要包括場(chǎng)地布置、人員車輛分配調(diào)度、流程安排等,進(jìn)而召集相關(guān)人員召開競賽前期準(zhǔn)備協(xié)調(diào)會(huì),通報(bào)準(zhǔn)備情況,部署競賽組人員具體分工,之后按照時(shí)間節(jié)點(diǎn)檢查落實(shí)情況。在競賽前組織兩至三次預(yù)演,熟悉整個(gè)流程,發(fā)現(xiàn)存在的問題并及時(shí)修正。

      在組織競賽過程中,普遍存在方案制定繁瑣復(fù)雜、前期預(yù)演效率低下、人員組織協(xié)調(diào)難度大等諸多問題。因此,競賽組織者迫切需要一種能夠輔助其進(jìn)行競賽組織的工具。為解決以上問題,以通信類專業(yè)競賽為切入點(diǎn),該文提出“基于Unity3D的通信專業(yè)競賽流程模擬演練系統(tǒng)”。Unity3D是一款專業(yè)3D引攀,具備跨平臺(tái)發(fā)布、高效能優(yōu)化、高性價(jià)比、AAA級(jí)畫面渲染效果等特點(diǎn)。該引擎最大的優(yōu)勢(shì)是性價(jià)比高,并且可以發(fā)布成網(wǎng)頁瀏覽的方式,不用下載客戶端,就能直接體驗(yàn)[1]。該文所提出的通信專業(yè)競賽流程模擬演練系統(tǒng)即基于該引擎開發(fā)。

      1 系統(tǒng)的目標(biāo)功能

      1.1 可視化競賽現(xiàn)場(chǎng)布置功能

      改變以往“現(xiàn)場(chǎng)看、腦子想、紙上畫”的場(chǎng)地布置方式,為競賽組織者呈現(xiàn)三維可視化的競賽現(xiàn)場(chǎng),將競賽所需器材設(shè)備用品等分門別類作為競賽現(xiàn)場(chǎng)布置基本模塊單元,使組織者可采用拖拽的形式進(jìn)行競賽場(chǎng)地可視化布置。同時(shí),組織者可對(duì)布置的基本模塊進(jìn)行屬性信息編輯,明確人員分工、對(duì)外協(xié)調(diào)和時(shí)間節(jié)點(diǎn)等信息,存入后臺(tái)數(shù)據(jù)庫,待實(shí)時(shí)查看最終效果且滿意后,可將完整的場(chǎng)地布置信息報(bào)表輸出。

      1.2 競賽流程模擬演練功能

      改變以往大規(guī)模人員調(diào)動(dòng)困難、組織協(xié)調(diào)復(fù)雜等競賽前期模擬演練存在的問題,以競賽時(shí)間軸為主線,在可視化競賽現(xiàn)場(chǎng)的基礎(chǔ)上,根據(jù)競賽方案設(shè)定各時(shí)間節(jié)點(diǎn)人員位置編排、任務(wù)分工、行進(jìn)路線、行進(jìn)速率、到達(dá)時(shí)間等信息,先期在計(jì)算機(jī)上進(jìn)行整個(gè)競賽流程模擬演練,及時(shí)發(fā)現(xiàn)存在的問題,為進(jìn)一步修改完善方案提供依據(jù)。待模擬演練效果滿意后,可召集競賽組人員在競賽前期準(zhǔn)備協(xié)調(diào)會(huì)期間進(jìn)行流程展示宣講[2]。

      2 總體方案設(shè)計(jì)

      2.1 系統(tǒng)總體構(gòu)成

      “通信專業(yè)競賽流程模擬演練系統(tǒng)”由可視化場(chǎng)地布置和流程模擬演練兩大模塊構(gòu)成,總體構(gòu)成見圖1。其中,可視化場(chǎng)地布置模塊由三維場(chǎng)景生成、競賽場(chǎng)地布置、場(chǎng)地方案報(bào)表生成等子模塊組成。流程模擬演練模塊由節(jié)點(diǎn)設(shè)定、模擬演練和流程方案報(bào)表生成等子模塊組成。

      圖1 通信專業(yè)競賽流程模擬演練系統(tǒng)總體構(gòu)成

      2.2 主要模塊

      “通信專業(yè)競賽流程模擬演練系統(tǒng)”主要用于通信專業(yè)競賽場(chǎng)地可視化布置,輔助競賽組織者進(jìn)行前期方案制定,并根據(jù)方案要求進(jìn)行前期競賽流程的模擬演練,以便于即時(shí)發(fā)現(xiàn)方案制定中存在的問題,從而有效提高競賽組織效率。

      1)可視化場(chǎng)地布置

      該功能模塊主要包含“三維場(chǎng)景生成”、“競賽場(chǎng)地布置”、“場(chǎng)地方案報(bào)表生成”三個(gè)子模塊?!叭S場(chǎng)景生成”模塊可實(shí)現(xiàn)通信專業(yè)競賽場(chǎng)地的三維場(chǎng)景生成,為后續(xù)功能模塊提供基礎(chǔ)平臺(tái),這是整個(gè)系統(tǒng)可視化的基礎(chǔ);“競賽場(chǎng)地布置”模塊通過前期分析,將裝設(shè)備、電腦、打印機(jī)、桌椅、標(biāo)牌、橫幅、指示牌等競賽過程中所需器材設(shè)備用品等分別歸類,生成競賽用品布置基本模塊單元庫,基于前期生成的可視化三維競賽場(chǎng)景,組織者可采用拖拽的形式進(jìn)行競賽場(chǎng)地可視化布置,實(shí)時(shí)查看最終效果。同時(shí),組織者可對(duì)布置的基本模塊進(jìn)行屬性信息編輯,明確人員分工、對(duì)外協(xié)調(diào)和時(shí)間節(jié)點(diǎn)等信息,存入后臺(tái)數(shù)據(jù)庫。在與競賽組人員進(jìn)行溝通交流的過程中,若發(fā)現(xiàn)不適宜之處,可及時(shí)修改相應(yīng)屬性信息,使方案更進(jìn)一步趨于完善;在“場(chǎng)地方案報(bào)表生成”模塊中組織者在競賽場(chǎng)地布置完成查看最終效果且滿意后,可將完整的場(chǎng)地布置信息報(bào)表按預(yù)定需求輸出打印,方便查看。

      2)流程模擬演練

      該功能模塊主要包含“節(jié)點(diǎn)設(shè)定”、“模擬演練”和“流程方案報(bào)表生成”三個(gè)子模塊?!肮?jié)點(diǎn)設(shè)定”模塊以競賽總體方案為依據(jù),以競賽時(shí)間軸為主線,在可視化三維競賽場(chǎng)景的基礎(chǔ)上,競賽組織者可設(shè)定各時(shí)間節(jié)點(diǎn)人員的位置編排、任務(wù)分工、行進(jìn)路線、速率等信息,并存入后臺(tái)數(shù)據(jù)庫;“模擬演練”模塊在節(jié)點(diǎn)設(shè)定的基礎(chǔ)上,競賽組織者先期在計(jì)算機(jī)上進(jìn)行整個(gè)競賽流程的模擬演練,及時(shí)發(fā)現(xiàn)存在的問題并修改節(jié)點(diǎn)設(shè)定,使方案更進(jìn)一步趨于完善;“流程方案報(bào)表生成”模塊在流程模擬演練順利結(jié)束后,競賽組織者可將存于后臺(tái)數(shù)據(jù)庫中的競賽流程方案報(bào)表輸出打印。

      3 系統(tǒng)實(shí)現(xiàn)

      3.1 可視化競賽現(xiàn)場(chǎng)三維場(chǎng)景生成

      可視化競賽現(xiàn)場(chǎng)通過對(duì)先期獲得的競賽現(xiàn)場(chǎng)建筑的CAD圖紙進(jìn)行相應(yīng)整理,之后導(dǎo)入3dsMax軟件實(shí)現(xiàn)場(chǎng)景建模。對(duì)三維模型的建立,主要依據(jù)實(shí)際場(chǎng)景本身的物理狀態(tài),即具體的大小尺寸,其原則就是在盡量減小面數(shù)的同時(shí)提高逼真度[3]。

      3.2 競賽場(chǎng)地布置和流程模擬演練

      將3dsMax軟件生成的可視化競賽現(xiàn)場(chǎng)三維場(chǎng)景導(dǎo)入U(xiǎn)nity3D引擎,在其中進(jìn)行競賽場(chǎng)地布置和流程模擬演練功能開發(fā)[4]。競賽場(chǎng)地布置和流程模擬演練所需的大量人機(jī)交互功能均在該引擎中設(shè)計(jì)實(shí)現(xiàn),具體如下:

      1)利用剛體碰撞器物理引擎實(shí)現(xiàn)場(chǎng)景布置時(shí)的定位;

      2)利用角色控制器進(jìn)行視角轉(zhuǎn)換以實(shí)現(xiàn)第一人稱視角場(chǎng)景檢視和第三人稱視角流程模擬演練功能;

      3)利用鍵盤鼠標(biāo)自定義按鍵等輸入控制事件實(shí)現(xiàn)人機(jī)交互;

      4)利用路點(diǎn)功能設(shè)置人員行進(jìn)路徑以實(shí)現(xiàn)流程模擬演練;

      5)利用MySQL實(shí)現(xiàn)場(chǎng)景布置信息和節(jié)點(diǎn)設(shè)定信息的后臺(tái)數(shù)據(jù)庫存儲(chǔ)并報(bào)表輸出。

      3.3 方案報(bào)表生成

      由于Unity3D本身提供的持久化數(shù)據(jù)僅能存取少量數(shù)據(jù),故本系統(tǒng)采用第三方MySQL數(shù)據(jù)庫存儲(chǔ)場(chǎng)地布置方案和流程設(shè)定方案信息。MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),相較于SQLServer數(shù)據(jù)庫,其體積小、速度快、總體擁有成本低[5]。

      為生成相應(yīng)方案報(bào)表,系統(tǒng)采用MySQL數(shù)據(jù)庫中自帶的MySQL For Excel插件實(shí)現(xiàn),該插件作為加載項(xiàng)嵌入Excel軟件中,可將MySQL數(shù)據(jù)庫中存儲(chǔ)的信息導(dǎo)出至Excel表格中,方便后期打印輸出,輔助競賽組織者進(jìn)行前期方案生成。

      3.4 關(guān)鍵技術(shù)實(shí)現(xiàn)

      1)競賽場(chǎng)地布置

      在真3D環(huán)境下進(jìn)行競賽場(chǎng)地布置,具有較好的沉浸式真實(shí)感。如何實(shí)現(xiàn)真3D環(huán)境下物品擺放的三維坐標(biāo)精確控制,是競賽場(chǎng)地布置功能需要著重解決的問題。為使組織者可采用拖拽的方式進(jìn)行競賽場(chǎng)地可視化布置,需要相應(yīng)的拖拽算法,主要解決如何將鼠標(biāo)的二維坐標(biāo)移動(dòng)轉(zhuǎn)換成三維世界的移動(dòng)向量,該算法流程如下圖2所示。

      圖2 Unity3D拖拽功能實(shí)現(xiàn)流程

      2)模擬演練

      流程模擬演練可鑒定通用塔防游戲的設(shè)計(jì)思路[6],通過創(chuàng)建二維數(shù)組保存場(chǎng)景信息,攝像機(jī)始終由上至下俯視整個(gè)場(chǎng)景,自定義路徑節(jié)點(diǎn)引導(dǎo)人員按規(guī)定速率行動(dòng),并實(shí)時(shí)記錄行動(dòng)耗時(shí)信息。為使路徑節(jié)點(diǎn)人員能夠按設(shè)定程序依次有序行進(jìn)演練,自定義路徑節(jié)點(diǎn)信息設(shè)定完畢后,需要對(duì)設(shè)定信息進(jìn)行沖突檢測(cè),防止邏輯混亂,出現(xiàn)一人在同一時(shí)間分處不同兩地的情形。設(shè)置人員尋路的流程如圖3所示。

      圖3 設(shè)置人員尋路流程

      4 結(jié)束語

      本系統(tǒng)初期可滿足院校通信類專業(yè)競賽流程模擬演練,使競賽組織者可進(jìn)行競賽場(chǎng)地可視化布置,有效輔助其進(jìn)行前期方案制定。同時(shí),可依照組織者的需求進(jìn)行競賽前期的整體流程模擬演練,以便于即時(shí)發(fā)現(xiàn)方案制定中存在的問題,從而有效提高競賽組織效率。此外,該系統(tǒng)具有較好的推廣性,結(jié)合各院校其它專業(yè)競賽具體要求進(jìn)行二次開發(fā),即可滿足其專業(yè)競賽的模擬演練功能。后期若構(gòu)建全校的三維模型,可將該系統(tǒng)推廣到全校大型活動(dòng)時(shí)的流程模擬演練。

      參考文獻(xiàn):

      [1] 王星捷,李春花.基于Unity3D平臺(tái)的三維虛擬城市研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(4):241-244.

      [2] 張博倫,王寧,馬慧敏.有限狀態(tài)機(jī)在模擬演練系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013(2):100-104.

      [3] 高月.3ds Max建筑模型完全學(xué)習(xí)手冊(cè)[M].科學(xué)出版社,2010:97-105.

      [4] 宣雨松.Unity3D游戲開發(fā)[M].北京:人民郵電出版社,2012:105-140.

      [5] 朱一凡,陳曦.基于PHP語言的MySQL數(shù)據(jù)庫的多種輸出方案[J].無線互聯(lián)科技,2013(8):58-59.

      [6] 金璽曾.Unity3D手機(jī)游戲開發(fā)[M].北京:清華大學(xué)出版社,2013:210-218.

      2)流程模擬演練

      該功能模塊主要包含“節(jié)點(diǎn)設(shè)定”、“模擬演練”和“流程方案報(bào)表生成”三個(gè)子模塊?!肮?jié)點(diǎn)設(shè)定”模塊以競賽總體方案為依據(jù),以競賽時(shí)間軸為主線,在可視化三維競賽場(chǎng)景的基礎(chǔ)上,競賽組織者可設(shè)定各時(shí)間節(jié)點(diǎn)人員的位置編排、任務(wù)分工、行進(jìn)路線、速率等信息,并存入后臺(tái)數(shù)據(jù)庫;“模擬演練”模塊在節(jié)點(diǎn)設(shè)定的基礎(chǔ)上,競賽組織者先期在計(jì)算機(jī)上進(jìn)行整個(gè)競賽流程的模擬演練,及時(shí)發(fā)現(xiàn)存在的問題并修改節(jié)點(diǎn)設(shè)定,使方案更進(jìn)一步趨于完善;“流程方案報(bào)表生成”模塊在流程模擬演練順利結(jié)束后,競賽組織者可將存于后臺(tái)數(shù)據(jù)庫中的競賽流程方案報(bào)表輸出打印。

      3 系統(tǒng)實(shí)現(xiàn)

      3.1 可視化競賽現(xiàn)場(chǎng)三維場(chǎng)景生成

      可視化競賽現(xiàn)場(chǎng)通過對(duì)先期獲得的競賽現(xiàn)場(chǎng)建筑的CAD圖紙進(jìn)行相應(yīng)整理,之后導(dǎo)入3dsMax軟件實(shí)現(xiàn)場(chǎng)景建模。對(duì)三維模型的建立,主要依據(jù)實(shí)際場(chǎng)景本身的物理狀態(tài),即具體的大小尺寸,其原則就是在盡量減小面數(shù)的同時(shí)提高逼真度[3]。

      3.2 競賽場(chǎng)地布置和流程模擬演練

      將3dsMax軟件生成的可視化競賽現(xiàn)場(chǎng)三維場(chǎng)景導(dǎo)入U(xiǎn)nity3D引擎,在其中進(jìn)行競賽場(chǎng)地布置和流程模擬演練功能開發(fā)[4]。競賽場(chǎng)地布置和流程模擬演練所需的大量人機(jī)交互功能均在該引擎中設(shè)計(jì)實(shí)現(xiàn),具體如下:

      1)利用剛體碰撞器物理引擎實(shí)現(xiàn)場(chǎng)景布置時(shí)的定位;

      2)利用角色控制器進(jìn)行視角轉(zhuǎn)換以實(shí)現(xiàn)第一人稱視角場(chǎng)景檢視和第三人稱視角流程模擬演練功能;

      3)利用鍵盤鼠標(biāo)自定義按鍵等輸入控制事件實(shí)現(xiàn)人機(jī)交互;

      4)利用路點(diǎn)功能設(shè)置人員行進(jìn)路徑以實(shí)現(xiàn)流程模擬演練;

      5)利用MySQL實(shí)現(xiàn)場(chǎng)景布置信息和節(jié)點(diǎn)設(shè)定信息的后臺(tái)數(shù)據(jù)庫存儲(chǔ)并報(bào)表輸出。

      3.3 方案報(bào)表生成

      由于Unity3D本身提供的持久化數(shù)據(jù)僅能存取少量數(shù)據(jù),故本系統(tǒng)采用第三方MySQL數(shù)據(jù)庫存儲(chǔ)場(chǎng)地布置方案和流程設(shè)定方案信息。MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),相較于SQLServer數(shù)據(jù)庫,其體積小、速度快、總體擁有成本低[5]。

      為生成相應(yīng)方案報(bào)表,系統(tǒng)采用MySQL數(shù)據(jù)庫中自帶的MySQL For Excel插件實(shí)現(xiàn),該插件作為加載項(xiàng)嵌入Excel軟件中,可將MySQL數(shù)據(jù)庫中存儲(chǔ)的信息導(dǎo)出至Excel表格中,方便后期打印輸出,輔助競賽組織者進(jìn)行前期方案生成。

      3.4 關(guān)鍵技術(shù)實(shí)現(xiàn)

      1)競賽場(chǎng)地布置

      在真3D環(huán)境下進(jìn)行競賽場(chǎng)地布置,具有較好的沉浸式真實(shí)感。如何實(shí)現(xiàn)真3D環(huán)境下物品擺放的三維坐標(biāo)精確控制,是競賽場(chǎng)地布置功能需要著重解決的問題。為使組織者可采用拖拽的方式進(jìn)行競賽場(chǎng)地可視化布置,需要相應(yīng)的拖拽算法,主要解決如何將鼠標(biāo)的二維坐標(biāo)移動(dòng)轉(zhuǎn)換成三維世界的移動(dòng)向量,該算法流程如下圖2所示。

      圖2 Unity3D拖拽功能實(shí)現(xiàn)流程

      2)模擬演練

      流程模擬演練可鑒定通用塔防游戲的設(shè)計(jì)思路[6],通過創(chuàng)建二維數(shù)組保存場(chǎng)景信息,攝像機(jī)始終由上至下俯視整個(gè)場(chǎng)景,自定義路徑節(jié)點(diǎn)引導(dǎo)人員按規(guī)定速率行動(dòng),并實(shí)時(shí)記錄行動(dòng)耗時(shí)信息。為使路徑節(jié)點(diǎn)人員能夠按設(shè)定程序依次有序行進(jìn)演練,自定義路徑節(jié)點(diǎn)信息設(shè)定完畢后,需要對(duì)設(shè)定信息進(jìn)行沖突檢測(cè),防止邏輯混亂,出現(xiàn)一人在同一時(shí)間分處不同兩地的情形。設(shè)置人員尋路的流程如圖3所示。

      圖3 設(shè)置人員尋路流程

      4 結(jié)束語

      本系統(tǒng)初期可滿足院校通信類專業(yè)競賽流程模擬演練,使競賽組織者可進(jìn)行競賽場(chǎng)地可視化布置,有效輔助其進(jìn)行前期方案制定。同時(shí),可依照組織者的需求進(jìn)行競賽前期的整體流程模擬演練,以便于即時(shí)發(fā)現(xiàn)方案制定中存在的問題,從而有效提高競賽組織效率。此外,該系統(tǒng)具有較好的推廣性,結(jié)合各院校其它專業(yè)競賽具體要求進(jìn)行二次開發(fā),即可滿足其專業(yè)競賽的模擬演練功能。后期若構(gòu)建全校的三維模型,可將該系統(tǒng)推廣到全校大型活動(dòng)時(shí)的流程模擬演練。

      參考文獻(xiàn):

      [1] 王星捷,李春花.基于Unity3D平臺(tái)的三維虛擬城市研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(4):241-244.

      [2] 張博倫,王寧,馬慧敏.有限狀態(tài)機(jī)在模擬演練系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013(2):100-104.

      [3] 高月.3ds Max建筑模型完全學(xué)習(xí)手冊(cè)[M].科學(xué)出版社,2010:97-105.

      [4] 宣雨松.Unity3D游戲開發(fā)[M].北京:人民郵電出版社,2012:105-140.

      [5] 朱一凡,陳曦.基于PHP語言的MySQL數(shù)據(jù)庫的多種輸出方案[J].無線互聯(lián)科技,2013(8):58-59.

      [6] 金璽曾.Unity3D手機(jī)游戲開發(fā)[M].北京:清華大學(xué)出版社,2013:210-218.

      2)流程模擬演練

      該功能模塊主要包含“節(jié)點(diǎn)設(shè)定”、“模擬演練”和“流程方案報(bào)表生成”三個(gè)子模塊。“節(jié)點(diǎn)設(shè)定”模塊以競賽總體方案為依據(jù),以競賽時(shí)間軸為主線,在可視化三維競賽場(chǎng)景的基礎(chǔ)上,競賽組織者可設(shè)定各時(shí)間節(jié)點(diǎn)人員的位置編排、任務(wù)分工、行進(jìn)路線、速率等信息,并存入后臺(tái)數(shù)據(jù)庫;“模擬演練”模塊在節(jié)點(diǎn)設(shè)定的基礎(chǔ)上,競賽組織者先期在計(jì)算機(jī)上進(jìn)行整個(gè)競賽流程的模擬演練,及時(shí)發(fā)現(xiàn)存在的問題并修改節(jié)點(diǎn)設(shè)定,使方案更進(jìn)一步趨于完善;“流程方案報(bào)表生成”模塊在流程模擬演練順利結(jié)束后,競賽組織者可將存于后臺(tái)數(shù)據(jù)庫中的競賽流程方案報(bào)表輸出打印。

      3 系統(tǒng)實(shí)現(xiàn)

      3.1 可視化競賽現(xiàn)場(chǎng)三維場(chǎng)景生成

      可視化競賽現(xiàn)場(chǎng)通過對(duì)先期獲得的競賽現(xiàn)場(chǎng)建筑的CAD圖紙進(jìn)行相應(yīng)整理,之后導(dǎo)入3dsMax軟件實(shí)現(xiàn)場(chǎng)景建模。對(duì)三維模型的建立,主要依據(jù)實(shí)際場(chǎng)景本身的物理狀態(tài),即具體的大小尺寸,其原則就是在盡量減小面數(shù)的同時(shí)提高逼真度[3]。

      3.2 競賽場(chǎng)地布置和流程模擬演練

      將3dsMax軟件生成的可視化競賽現(xiàn)場(chǎng)三維場(chǎng)景導(dǎo)入U(xiǎn)nity3D引擎,在其中進(jìn)行競賽場(chǎng)地布置和流程模擬演練功能開發(fā)[4]。競賽場(chǎng)地布置和流程模擬演練所需的大量人機(jī)交互功能均在該引擎中設(shè)計(jì)實(shí)現(xiàn),具體如下:

      1)利用剛體碰撞器物理引擎實(shí)現(xiàn)場(chǎng)景布置時(shí)的定位;

      2)利用角色控制器進(jìn)行視角轉(zhuǎn)換以實(shí)現(xiàn)第一人稱視角場(chǎng)景檢視和第三人稱視角流程模擬演練功能;

      3)利用鍵盤鼠標(biāo)自定義按鍵等輸入控制事件實(shí)現(xiàn)人機(jī)交互;

      4)利用路點(diǎn)功能設(shè)置人員行進(jìn)路徑以實(shí)現(xiàn)流程模擬演練;

      5)利用MySQL實(shí)現(xiàn)場(chǎng)景布置信息和節(jié)點(diǎn)設(shè)定信息的后臺(tái)數(shù)據(jù)庫存儲(chǔ)并報(bào)表輸出。

      3.3 方案報(bào)表生成

      由于Unity3D本身提供的持久化數(shù)據(jù)僅能存取少量數(shù)據(jù),故本系統(tǒng)采用第三方MySQL數(shù)據(jù)庫存儲(chǔ)場(chǎng)地布置方案和流程設(shè)定方案信息。MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),相較于SQLServer數(shù)據(jù)庫,其體積小、速度快、總體擁有成本低[5]。

      為生成相應(yīng)方案報(bào)表,系統(tǒng)采用MySQL數(shù)據(jù)庫中自帶的MySQL For Excel插件實(shí)現(xiàn),該插件作為加載項(xiàng)嵌入Excel軟件中,可將MySQL數(shù)據(jù)庫中存儲(chǔ)的信息導(dǎo)出至Excel表格中,方便后期打印輸出,輔助競賽組織者進(jìn)行前期方案生成。

      3.4 關(guān)鍵技術(shù)實(shí)現(xiàn)

      1)競賽場(chǎng)地布置

      在真3D環(huán)境下進(jìn)行競賽場(chǎng)地布置,具有較好的沉浸式真實(shí)感。如何實(shí)現(xiàn)真3D環(huán)境下物品擺放的三維坐標(biāo)精確控制,是競賽場(chǎng)地布置功能需要著重解決的問題。為使組織者可采用拖拽的方式進(jìn)行競賽場(chǎng)地可視化布置,需要相應(yīng)的拖拽算法,主要解決如何將鼠標(biāo)的二維坐標(biāo)移動(dòng)轉(zhuǎn)換成三維世界的移動(dòng)向量,該算法流程如下圖2所示。

      圖2 Unity3D拖拽功能實(shí)現(xiàn)流程

      2)模擬演練

      流程模擬演練可鑒定通用塔防游戲的設(shè)計(jì)思路[6],通過創(chuàng)建二維數(shù)組保存場(chǎng)景信息,攝像機(jī)始終由上至下俯視整個(gè)場(chǎng)景,自定義路徑節(jié)點(diǎn)引導(dǎo)人員按規(guī)定速率行動(dòng),并實(shí)時(shí)記錄行動(dòng)耗時(shí)信息。為使路徑節(jié)點(diǎn)人員能夠按設(shè)定程序依次有序行進(jìn)演練,自定義路徑節(jié)點(diǎn)信息設(shè)定完畢后,需要對(duì)設(shè)定信息進(jìn)行沖突檢測(cè),防止邏輯混亂,出現(xiàn)一人在同一時(shí)間分處不同兩地的情形。設(shè)置人員尋路的流程如圖3所示。

      圖3 設(shè)置人員尋路流程

      4 結(jié)束語

      本系統(tǒng)初期可滿足院校通信類專業(yè)競賽流程模擬演練,使競賽組織者可進(jìn)行競賽場(chǎng)地可視化布置,有效輔助其進(jìn)行前期方案制定。同時(shí),可依照組織者的需求進(jìn)行競賽前期的整體流程模擬演練,以便于即時(shí)發(fā)現(xiàn)方案制定中存在的問題,從而有效提高競賽組織效率。此外,該系統(tǒng)具有較好的推廣性,結(jié)合各院校其它專業(yè)競賽具體要求進(jìn)行二次開發(fā),即可滿足其專業(yè)競賽的模擬演練功能。后期若構(gòu)建全校的三維模型,可將該系統(tǒng)推廣到全校大型活動(dòng)時(shí)的流程模擬演練。

      參考文獻(xiàn):

      [1] 王星捷,李春花.基于Unity3D平臺(tái)的三維虛擬城市研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(4):241-244.

      [2] 張博倫,王寧,馬慧敏.有限狀態(tài)機(jī)在模擬演練系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013(2):100-104.

      [3] 高月.3ds Max建筑模型完全學(xué)習(xí)手冊(cè)[M].科學(xué)出版社,2010:97-105.

      [4] 宣雨松.Unity3D游戲開發(fā)[M].北京:人民郵電出版社,2012:105-140.

      [5] 朱一凡,陳曦.基于PHP語言的MySQL數(shù)據(jù)庫的多種輸出方案[J].無線互聯(lián)科技,2013(8):58-59.

      [6] 金璽曾.Unity3D手機(jī)游戲開發(fā)[M].北京:清華大學(xué)出版社,2013:210-218.

      惠东县| 稻城县| 庐江县| 婺源县| 黔西县| 海门市| 石台县| 博客| 彰化县| 香河县| 东莞市| 格尔木市| 镇江市| 金川县| 电白县| 南木林县| 苍南县| 青神县| 昭通市| 台南县| 浮山县| 奎屯市| 微山县| 明溪县| 区。| 库车县| 博客| 靖边县| 精河县| 古田县| 莆田市| 颍上县| 兴化市| 明光市| 绥芬河市| 岳西县| 本溪市| 手机| 措勤县| 防城港市| 大城县|