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

        ?

        基于VIZARD和KBENGINE的多線程虛擬消防演習(xí)系統(tǒng)

        2017-11-02 08:54:38林曉斌
        關(guān)鍵詞:系統(tǒng)

        林 晨,林曉斌

        (閩江學(xué)院 物理學(xué)與電子信息工程系,福建 福州 350108)

        基于VIZARD和KBENGINE的多線程虛擬消防演習(xí)系統(tǒng)

        林 晨,林曉斌

        (閩江學(xué)院 物理學(xué)與電子信息工程系,福建 福州 350108)

        城市火災(zāi)頻繁發(fā)生,傳統(tǒng)的消防演習(xí)和宣傳工作存在著難題,隨著虛擬現(xiàn)實(shí)技術(shù)的應(yīng)用發(fā)展,研發(fā)了基于Vizard和KBEngine的多線程虛擬消防演習(xí)系統(tǒng)。添加自定義配置模式完善基于Vizard的虛擬消防演習(xí)系統(tǒng),作為多線程虛擬演習(xí)系統(tǒng)的客戶端,配置客戶端,結(jié)合KBEngine服務(wù)器,實(shí)現(xiàn)多線程客戶端登錄,不同的角色可以使用不同的客戶端登錄,實(shí)現(xiàn)不受地域限制的聯(lián)合虛擬演習(xí)。受訓(xùn)者可不受時間和空間的限制在高安全、高仿真、低成本、可重復(fù)、生動活潑的多線程虛擬消防演習(xí)系統(tǒng)中同步學(xué)習(xí)消防知識,加強(qiáng)消防實(shí)戰(zhàn)經(jīng)驗(yàn),實(shí)現(xiàn)聯(lián)合演習(xí)效果.

        Vizard;KBEngine;多線程虛擬消防演習(xí)

        虛擬現(xiàn)實(shí)(Virtual Reality,簡稱VR技術(shù))是高度集成計(jì)算機(jī)圖形、多媒體、傳感器及仿真等技術(shù),模擬生成虛擬世界,提供視聽感知盛宴,使用戶身臨其境,通過多種傳感設(shè)備,用戶可根據(jù)自身感覺同三度空間內(nèi)的事物進(jìn)行交互式信息交流[1].應(yīng)用的領(lǐng)域涉及軍事、科研、教育與訓(xùn)練、商業(yè)、醫(yī)學(xué)、工業(yè)、影視等,進(jìn)而推動虛擬現(xiàn)實(shí)的研究和應(yīng)用向縱向發(fā)展.

        城市火災(zāi)頻生,已成為城市安全嚴(yán)重隱患之一,時刻威脅著人們的生命和財(cái)產(chǎn)安全.如何有效地避免火災(zāi)發(fā)生和安全逃離火災(zāi)現(xiàn)場等已成為關(guān)注的焦點(diǎn).消防宣傳和演習(xí)是常用的學(xué)習(xí)消防知識的方式,前者基于理論層次的宣傳難以讓受訓(xùn)者掌握消防器材的使用、救援的注意事項(xiàng)及正確的逃生方法,后者基于實(shí)踐層次的方式宣傳效果強(qiáng)于前者,但會產(chǎn)生高額的經(jīng)費(fèi),消耗大量的人力物力財(cái)力,甚至可能導(dǎo)致意外發(fā)生,如人員傷亡等,造成不必要損失[2].

        針對上述情況,將虛擬現(xiàn)實(shí)技術(shù)和消防科學(xué)相結(jié)合,研發(fā)了基于Vizard和KBEngine的多線程虛擬消防演習(xí)系統(tǒng).添加自定義配置模式,使人員、著火點(diǎn)等重要的演練元素可隨意配置,完善基于Vizard的虛擬消防演習(xí)系統(tǒng),作為多線程虛擬演習(xí)系統(tǒng)的客戶端,對其進(jìn)行配置,運(yùn)用KBEngine服務(wù)器,實(shí)現(xiàn)多線程客戶端登錄,不同的演習(xí)人員均擁有特定的賬號,登錄KBEngine服務(wù)器,讓處于不同地區(qū)的人員實(shí)現(xiàn)同步的消防演習(xí).受訓(xùn)者可不受時間和空間的限制在高安全、高仿真、低成本、可重復(fù)、生動活潑的多線程虛擬消防演習(xí)系統(tǒng)中同步學(xué)習(xí)消防知識,加強(qiáng)消防實(shí)戰(zhàn)經(jīng)驗(yàn),實(shí)現(xiàn)聯(lián)合演習(xí)效果.

        1 開發(fā)工具概述

        1.1 Vizard概述[3]

        Vizard是一款功能強(qiáng)大的虛擬現(xiàn)實(shí)開發(fā)平臺軟件,由美國WorldViz公司基于C/C++,運(yùn)用OpenGL擴(kuò)展模塊開發(fā)出的高性能圖形引擎,構(gòu)建及渲染虛擬場景的效率提高,憑其卓越的高效編程核心模塊,將整個虛擬現(xiàn)實(shí)應(yīng)用引領(lǐng)至一個高速高效且成本低廉的全新境界.Vizard將集成開發(fā)環(huán)境(IDE)與高級圖形庫融合于Python程序語言,集成開發(fā)環(huán)境極大簡化了維護(hù)數(shù)據(jù)素材的工作量,并提供了用于執(zhí)行實(shí)時預(yù)覽,場景調(diào)試及腳本調(diào)試工具包.Vizard支持幾乎當(dāng)前所有的虛擬現(xiàn)實(shí)設(shè)備,如動作追蹤器,3D立體顯示器等其他眾多外部輸入設(shè)備,還支持業(yè)界標(biāo)準(zhǔn)的各種3D模型格式,內(nèi)建虛擬人物庫、優(yōu)秀的物理引擎以及良好的擴(kuò)展性.WorldViz旗下VideoVison增強(qiáng)現(xiàn)實(shí)裝置的完美結(jié)合,可輕松實(shí)現(xiàn)計(jì)算機(jī)圖像與現(xiàn)實(shí)場景的融合.采用了Python這款極具發(fā)展?jié)摿τ謽O易上手的語言作為其編程核心,其發(fā)展前景毋庸置疑.

        1.2 KBEngine概述[4]

        KBENGINE是一款開源的服務(wù)器引擎開發(fā)框架,支持多客戶端同步載入,通過協(xié)議輕松與客戶端進(jìn)行數(shù)據(jù)實(shí)時交互,實(shí)現(xiàn)各個客戶端的數(shù)據(jù)同步,支持使用插件可輕松與其他技術(shù)結(jié)合成完整的系統(tǒng).數(shù)據(jù)定時備份至數(shù)據(jù)庫,服務(wù)器上實(shí)體數(shù)據(jù)會自動在多個Baseapp之間相互備份,最大化減少災(zāi)難發(fā)生后的損失.它的底層框架由高效的C/C++語言編寫,保證了其在圖形處理方面的優(yōu)勢,Python負(fù)責(zé)框架邏輯層的處理,這一特性決定了其具備跨平臺使用特性,為開發(fā)者解決了程序移植的煩惱.提供完善的客戶端SDK和接口,客戶端程序只需要簡單的從服務(wù)端接收數(shù)據(jù)和響應(yīng)事件并進(jìn)行處理.

        2 基于Vizard和KBEngine的多線程虛擬消防演習(xí)系統(tǒng)

        2.1 多線程虛擬消防演習(xí)系統(tǒng)客戶端實(shí)現(xiàn)

        2.1.1 基于Vizard的虛擬消防演習(xí)系統(tǒng)實(shí)現(xiàn)

        基于Vizard的虛擬消防演習(xí)系統(tǒng)由虛擬消防演習(xí)場景模塊、警報模塊、小地圖功能模塊、火焰與煙霧模擬模塊和角色控制與救援模塊構(gòu)成.虛擬消防演習(xí)場景模塊是利用3DSMAX構(gòu)建虛擬消防演習(xí)場景所需預(yù)制體模型,將其以O(shè)SGB格式導(dǎo)入到Vizard中搭建虛擬消防演習(xí)場景,并對場景中的一些不夠完美的細(xì)節(jié)之處進(jìn)行優(yōu)化使最終的成品顯得更加真實(shí),更貼近實(shí)際生活,實(shí)現(xiàn)虛擬消防演習(xí)場景漫游.警報模塊實(shí)現(xiàn)的功能是在模擬演習(xí)開始3秒后會發(fā)出火災(zāi)警報,在火源全部被撲滅后警報聲解除,通過調(diào)用命令vizact.ontimer和viz.addAudio實(shí)現(xiàn).小地圖功能模塊實(shí)時顯示火災(zāi)及傷員動態(tài)方向,通過在Vizard中添加攝像機(jī)、渲染UI元素和陰影遮罩等操作實(shí)現(xiàn).火焰與煙霧模擬模塊可逼真地模擬火災(zāi)現(xiàn)場的火焰和煙霧,且特定著火點(diǎn)會在周邊蔓延新火點(diǎn),通過粒子系統(tǒng)設(shè)計(jì)實(shí)現(xiàn).角色控制與救援模塊實(shí)現(xiàn)系統(tǒng)和玩家對角色的控制以及根據(jù)不同角色實(shí)現(xiàn)不同的救援技能,通過Vizard中avatar模塊、碰撞機(jī)制和交互模塊設(shè)置實(shí)現(xiàn).設(shè)計(jì)實(shí)現(xiàn)的上述模塊已形成了虛擬消防演習(xí)系統(tǒng)的雛形,在Vizard中編程將其整合,設(shè)置3個不同難度的選擇模式,它們的人員、著火點(diǎn)等重要的演習(xí)元素配置都是固定的,整合后的系統(tǒng)測試運(yùn)行效果良好.

        為了動態(tài)配置虛擬消防演習(xí)系統(tǒng)中的重要演習(xí)元素添加自定義配置模式,使用戶可以根據(jù)實(shí)際的起火情況對演習(xí)元素進(jìn)行動態(tài)的配置,更好的模擬實(shí)際情況.首先對自定義配置模式的配置界面進(jìn)行制作,然后系統(tǒng)在創(chuàng)建實(shí)體的時候依據(jù)界面輸入框中的數(shù)據(jù)進(jìn)行動態(tài)創(chuàng)建,在界面切換時,生成相應(yīng)實(shí)體,主要是通過調(diào)用命令viz.addText、viz.addTextbox、viz.addButton、<GUI element>.get實(shí)現(xiàn).添加的自定義配置模式完善了基于Vizard的虛擬消防演習(xí)系統(tǒng),作為多線程虛擬演習(xí)系統(tǒng)的客戶端.

        2.1.2 多線程虛擬消防演習(xí)系統(tǒng)客戶端配置

        由于此虛擬消防演習(xí)系統(tǒng)是多線程,需要通過Kbengine服務(wù)器,使多個客戶端同時登錄進(jìn)入同一個場景,達(dá)到數(shù)據(jù)交互的目的,所以還需為客戶端配置登錄界面.制作登錄界面首先是利用命令viz.addChild加載場景作為登錄界面背景,然后利用vizard自帶的GUIs添加控件,主要使用到命令 viz.addText、viz.addTextbox、viz.addButton 等,為了使每個控件執(zhí)行相應(yīng)的動作,編程python腳本掛載于相應(yīng)的控件上實(shí)現(xiàn)其功能,服務(wù)端會提供相應(yīng)的接口函數(shù),數(shù)據(jù)庫如何進(jìn)行處理是我們不需要關(guān)心的,客戶端需配置的登錄界面制作完成,綜合上述兩個部分多線程虛擬消防演習(xí)系統(tǒng)客戶端功能已全部實(shí)現(xiàn).

        2.2 多線程虛擬消防演習(xí)系統(tǒng)服務(wù)端實(shí)現(xiàn)

        2.2.1 服務(wù)端環(huán)境的搭建

        KBEnggine服務(wù)器邏輯層是Python實(shí)現(xiàn)的,相應(yīng)的數(shù)據(jù)庫要支持大小寫敏感服務(wù)器才能夠正常運(yùn)行,所以對Mysql數(shù)據(jù)庫的安裝與配置有一些地方就要注意.安裝數(shù)據(jù)庫前要先安裝Python解析器,再安裝Mysql數(shù)據(jù)庫,并在其安裝目錄中my.ini文件中加入代碼“[mysqld]”和“l(fā)ower_case_table_ names=0”設(shè)置數(shù)據(jù)庫對大小寫敏感,然后重啟Mysql服務(wù),最后創(chuàng)建KBE賬號,執(zhí)行配置代碼并禁止空密碼登錄,相應(yīng)配置完成之后,雙擊“!(win)startdemo_server.bat”啟動服務(wù)器,雙擊“!(win)startdemo_client_orge.bat”啟動客戶端,這樣服務(wù)器環(huán)境就搭建完成,即可進(jìn)行工作.

        2.2.2 AI腳本控制人物操作

        AI腳本是一種人工智能腳本,可以控制人物操作,對外部條件的改變進(jìn)行反應(yīng)處理.由服務(wù)器AI腳本控制的人物數(shù)據(jù)會實(shí)時同步至每個客戶端,客戶端接收服務(wù)端數(shù)據(jù)進(jìn)行同步顯示,更有效模擬人物的真實(shí)情況.在此系統(tǒng)中火災(zāi)現(xiàn)場的圍觀群眾使用AI腳本控制其向著火點(diǎn)進(jìn)行移動,當(dāng)靠近著火點(diǎn)一定距離時,AI腳本會進(jìn)行碰撞檢測,處于危險距離內(nèi)的圍觀群眾會被火擊退一定的距離,主要調(diào)用腳本call StartThread、call PlayGame、call SetDefendPlayer等實(shí)現(xiàn).

        2.2.3 服務(wù)端數(shù)據(jù)交換實(shí)現(xiàn)

        服務(wù)端上數(shù)據(jù)的交換都是通過實(shí)體實(shí)現(xiàn)的,實(shí)體是通過服務(wù)器上的entities.xml文件進(jìn)行創(chuàng)建的,在entities.xml文件列表里必須有Entity_name.def以及Entity_name.py文件,并對實(shí)體的三個部分Client、Cell、Base進(jìn)行配置,同時要保證客戶端與服務(wù)端的定義文件必須匹配,需要配置實(shí)體的Properties,ClientMethods,BaseMethods,CellMethods等屬性.

        2.2.4 登錄界面的交互功能實(shí)現(xiàn)

        登錄界面的交互功能是客戶端攜帶特定的IP地址與端口信息先向服務(wù)器發(fā)送登錄請求,服務(wù)器查詢數(shù)據(jù)庫中服務(wù)器的DBMgr驗(yàn)證用戶名以及密碼,同時將請求轉(zhuǎn)發(fā)至BaseappMgr,BaseappMgr發(fā)送創(chuàng)建Player Entity的消息到負(fù)載最小的Baseapp,Baseapp會創(chuàng)建一個新的Proxy,Proxy的TCP端口途徑 BaseappMgr、DBMgr、Loginapp被返回給客戶端,至此完成登錄流程.從編程角度來說,客戶端登錄會調(diào)用login_loginapp()函數(shù),同時觸發(fā)一個login事件,等待服務(wù)端登錄的結(jié)果,注冊與登錄的不同點(diǎn)在于期間會向數(shù)據(jù)庫寫入賬號密碼,從編程角度考慮也是調(diào)用createAccount_loginapp()觸發(fā)一個createAccount信號,等待服務(wù)端返回結(jié)果.

        2.3 多線程虛擬消防演習(xí)系統(tǒng)客戶端與服務(wù)端整合

        為了使多線程虛擬消防演習(xí)系統(tǒng)更規(guī)范化,將其客戶端與服務(wù)端進(jìn)行整合.受訓(xùn)者進(jìn)行虛擬演習(xí)時,先跳出登錄界面,根據(jù)選擇的版本,即單機(jī)版演習(xí)還是多人版演習(xí)進(jìn)行場景跳轉(zhuǎn),依次進(jìn)入操作提示場景、選擇模式場景、角色選擇場景、配置場景、然后進(jìn)入主場景進(jìn)行虛擬演習(xí).其中受訓(xùn)者選擇單機(jī)版不會連接服務(wù)器,選擇多人版客戶端會通過服務(wù)器進(jìn)行同步,選擇模擬的難易等級,也可自定義演習(xí)難度等.多線程虛擬消防演習(xí)系統(tǒng)如下圖1所示.

        圖1 多線程虛擬消防演習(xí)系統(tǒng)圖

        3 總結(jié)與展望

        基于Vizard和KBEngine的多線程虛擬消防演習(xí)系統(tǒng)集消防科學(xué)知識、消防演習(xí)實(shí)戰(zhàn)和虛擬現(xiàn)實(shí)于一體,使受訓(xùn)者可以在高安全、高仿真、低成本、可重復(fù)、生動活潑的虛擬消防演習(xí)系統(tǒng)中自由地選擇角色和場景,根據(jù)自己所扮演的角色在虛擬消防演習(xí)系統(tǒng)中學(xué)習(xí)消防知識,加強(qiáng)消防實(shí)戰(zhàn)經(jīng)驗(yàn).受訓(xùn)者還可動態(tài)配置演習(xí)元素實(shí)現(xiàn)自定義演習(xí)模式,也可多人同步進(jìn)入場景,實(shí)現(xiàn)多線程虛擬消防演習(xí)效果.

        〔1〕張菁.虛擬現(xiàn)實(shí)技術(shù)及應(yīng)用[M].北京:清華大學(xué)出版社,2011.24-29.

        〔2〕馮成舜,石連栓.虛擬消防演練教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)[J].中國教育技術(shù)裝備,2014,8(16):43-45.

        〔3〕Worldviz.Vizard virtual reality software [EB/OL].http://www.worldviz.com/vizard-virtual-reality-software.

        TP391;X92

        A

        1673-260X(2017)10-0067-02

        2017-07-18

        福建省教育廳課題(JAT160389)

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        av资源在线播放网站| 国产美女露脸口爆吞精| 亚洲人成影院在线无码观看| 97无码人妻一区二区三区蜜臀 | 欧美三级不卡视频| 不打码在线观看一区二区三区视频 | 亚洲一区sm无码| 在线亚洲国产一区二区三区 | 波多野42部无码喷潮在线| 国产a三级久久精品| 天天摸天天做天天爽天天舒服| 国产丝袜美腿在线视频| 成人免费看aa片| 国产欧美日韩a片免费软件| 国产精品无码mv在线观看| 亚洲福利二区三区四区| 免费a级毛片18禁网站app| 国产精品露脸视频观看| 亚洲国产精品第一区二区三区| 亚洲一区二区三区中文字幕网| 国产盗摄xxxx视频xxxx| 亚洲国产一区在线二区三区| 精品在线视频免费在线观看视频| 好大好爽我要高潮在线观看| 男女啪啪无遮挡免费网站| 国产精品1区2区| 国产中文字幕一区二区视频| 欧洲多毛裸体xxxxx| 国产美女遭强高潮网站| 亚洲福利第一页在线观看| 免费久久久一本精品久久区| 国产在线精品一区二区在线看| 亚洲AV永久天堂在线观看| 日本不卡一区二区三区在线观看| 久久久久亚洲av成人片| 巨熟乳波霸若妻在线播放| 国产精品一区二区av白丝在线| 一区二区三区国产在线视频| 久久中文字幕无码专区| 中文字幕av无码一区二区三区电影| 一本色道久久88加勒比|