• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于虛擬仿真技術(shù)(VR)的校園地震演練實(shí)訓(xùn)系統(tǒng)

    2020-09-27 23:02:21曾文輝
    電腦知識(shí)與技術(shù) 2020年23期
    關(guān)鍵詞:頭戴式仿真技術(shù)插件

    曾文輝

    摘要:因?yàn)槿肆?、?chǎng)地和時(shí)間等因素的限制,舉辦一場(chǎng)全校師生的地震實(shí)訓(xùn)演練的成本是十分高的。而傳統(tǒng)的視頻教學(xué)、書籍授課和板報(bào)宣傳又達(dá)不到理想的教學(xué)效果,所以虛擬仿真技術(shù)的引入正好解決了以上問(wèn)題。校園地震演練結(jié)合虛擬仿真技術(shù)將校園模型和地震演練交互進(jìn)行數(shù)據(jù)模擬化,可以輸出基于不同VR平臺(tái)的虛擬仿真實(shí)訓(xùn)系統(tǒng)。該虛擬仿真實(shí)訓(xùn)系統(tǒng)將會(huì)與傳統(tǒng)地震演練相輔相成,達(dá)到深化師生避震、逃生等知識(shí)的作用。

    關(guān)鍵詞:地震;虛擬仿真;相輔相成

    中圖分類號(hào):TP311? ? 文獻(xiàn)標(biāo)識(shí)碼:A

    文章編號(hào):1009-3044(2020)23-0061-02

    地震是一種破壞力極大的自然災(zāi)害,我國(guó)的地震活動(dòng)表現(xiàn)為震源淺、分布廣、頻度高、強(qiáng)度大,我國(guó)是一個(gè)震災(zāi)嚴(yán)重的國(guó)家,人民的性命和財(cái)產(chǎn)因此受到極大的威脅。諸如1976年的唐山大地震、2008年的汶川大地震,其造成的死亡人數(shù)和財(cái)產(chǎn)損失是極其巨大的,這給遭受地震災(zāi)害的人民帶來(lái)了極為沉重的損失。 而高校是人流非常密集的地方,當(dāng)發(fā)生地震時(shí)會(huì)有大量的學(xué)生進(jìn)行避震和逃生,所以必須定時(shí)舉行全體師生地震演練,現(xiàn)場(chǎng)地震演練所需成本高,不宜長(zhǎng)時(shí)間和頻繁舉行,所以虛擬仿真技術(shù)的引入,恰好能彌補(bǔ)這方面的缺點(diǎn)。利用虛擬仿真技術(shù)進(jìn)行災(zāi)難場(chǎng)景建模,使用Unity 3D引擎里進(jìn)行烘焙渲染,利用動(dòng)畫系統(tǒng)將角色避震和逃生的過(guò)程模擬出來(lái),最后使用程序?qū)⒄麄€(gè)仿真系統(tǒng)進(jìn)行交互開(kāi)發(fā)。

    1 系統(tǒng)的整體設(shè)計(jì)

    本仿真系統(tǒng)是基于Unity 3D引擎進(jìn)行開(kāi)發(fā),以頭戴式仿真頭盔(HTC View或者Oculus rift)作為輸出平臺(tái)。頭戴式仿真設(shè)備作為輸出平臺(tái)的仿真系統(tǒng)在操控上是區(qū)別于傳統(tǒng)鼠標(biāo)和鍵盤的,是使用手柄設(shè)備進(jìn)行交互。所以在交互設(shè)上必須匹配手柄上的交互控件,模擬正常人類雙手進(jìn)行設(shè)計(jì)(參考圖1)。在設(shè)計(jì)上分為場(chǎng)景設(shè)計(jì)、UI設(shè)計(jì)兩個(gè)部分。

    1.1 場(chǎng)景設(shè)計(jì)

    本系統(tǒng)的場(chǎng)景設(shè)計(jì)使以我校為背景進(jìn)行設(shè)計(jì)和建模。根據(jù)地震的等級(jí)強(qiáng)度,地震場(chǎng)景分為兩種,第一種是1~4級(jí)地震所造成的出現(xiàn)裂紋的場(chǎng)景建筑,第二種是4級(jí)以上地震所造成的崩塌的場(chǎng)景建筑。

    利用3ds Max等三維建模軟件進(jìn)行建模,第一種模型主要是因?yàn)榈卣鸬燃?jí)不高,破壞程度小,所以建筑僅出現(xiàn)了裂痕。在地震時(shí),建筑的裂痕是漸變出現(xiàn)的效果,所以建模時(shí)需要裂痕從不同的方向進(jìn)行漸變出現(xiàn)。在正常的開(kāi)發(fā)流程中,應(yīng)該使用3ds Max等建模軟件將場(chǎng)景模型創(chuàng)建出來(lái),然后調(diào)整模型的線條和點(diǎn),呈現(xiàn)出建筑模型的裂痕效果,這樣做的優(yōu)點(diǎn)是真實(shí)程度高,視覺(jué)效果好,但是缺點(diǎn)同樣非常突出,模型三角面數(shù)量增加,交互成本高,效率低。由于建筑對(duì)于仿真系統(tǒng)本身視覺(jué)來(lái)說(shuō)是遠(yuǎn)景,所以采取了模型疊加裂痕效果圖片的方式進(jìn)行效果呈現(xiàn)(效果參考圖2)。由于Unity的UGUI系統(tǒng)Image組件具備3D模式和漸變參數(shù),所以裂痕效果將采用Image組件進(jìn)行呈現(xiàn)。那么只需在Photoshop中行進(jìn)裂痕效果的透明背景圖片制作,然后導(dǎo)入U(xiǎn)nity中進(jìn)行開(kāi)發(fā)。將Canvas組件的渲染模式Render Mode修改為World Space模式(3D模式),Image組件Image Type參數(shù)修改為Filled,最后使用程序?qū)⒖刂艶ill Amount參數(shù)進(jìn)行裂痕效果的漸變出現(xiàn)(參數(shù)修改參考圖3)。

    第二種場(chǎng)景模型主要是地震等級(jí)高,破壞程度高,對(duì)建筑造成崩塌、脫落等損壞效果。在開(kāi)發(fā)的過(guò)程中就需要在3ds Max等模型軟件中對(duì)完整的建筑模型進(jìn)行切割,將建筑在地震中呈現(xiàn)出破碎或者崩塌效果。在建筑崩塌的效果中不但要呈現(xiàn)出破碎效果,還需要處理好破碎后,建筑碎片的貼圖問(wèn)題,破碎的切面必須粗糙,貼圖符合水泥等材質(zhì),以求達(dá)到真實(shí)的效果。在Unity中破碎效果是可以使用破碎插件進(jìn)行開(kāi)發(fā)的,因?yàn)閁nity商店具有非常豐富的插件資源。本系統(tǒng)之所以不使用插件,是因?yàn)槭謩?dòng)破碎能讓建筑的切面變得更加真實(shí),能更好地處理切面的材質(zhì)問(wèn)題,而且能讓系統(tǒng)的運(yùn)行效率更高,所以在開(kāi)發(fā)中首選了手動(dòng)破碎(破碎前后的效果參考圖4和圖5)。

    1.2 UI設(shè)計(jì)

    本仿真系統(tǒng)是以頭戴式仿真頭盔(HTC View或者Oculus rift)作為輸出平臺(tái),在顯示模式上是區(qū)別于傳統(tǒng)顯示器的。頭戴式仿真頭盔視覺(jué)角度有110°,模擬人類真實(shí)的第一人稱視角,所以顯示的空間是三維的。Unity官方給這個(gè)新的UI系統(tǒng)賦予的標(biāo)簽是:靈活、快速和可視化。簡(jiǎn)單來(lái)說(shuō),對(duì)于開(kāi)發(fā)者而言,就是有三個(gè)優(yōu)點(diǎn):效率高效果好,易于使用、擴(kuò)展,以及與Unity的兼容性高。本系統(tǒng)將會(huì)采用官方的UGUI系統(tǒng)的World Space渲染模式進(jìn)行開(kāi)發(fā),該模式是3D UI的渲染模式。整個(gè)仿真系統(tǒng)主要的UI界面有主標(biāo)題UI界面和手柄提示UI界面。

    主標(biāo)題UI界面是整個(gè)仿真系統(tǒng)的開(kāi)始場(chǎng)景,和游戲里的進(jìn)入游戲的主UI界面一樣,主要的區(qū)別是在于普通的UI界面是二維的,而本仿真系統(tǒng)的UI界面是三維的。創(chuàng)建一個(gè)Canvas畫布,設(shè)置Render Mode渲染模式為World Space,將畫布的Scale的X、Y、Z值設(shè)置為0.001,這樣能將3D UI的尺寸縮放到正常大小。在Canvas畫布中創(chuàng)建一個(gè)Image組件作為背景面板,然后分別創(chuàng)建Text文本組件和按鈕組件,分別設(shè)置圖片和文字參數(shù),最后進(jìn)行界面排版(效果參考圖6)。

    手柄提示UI界面是交互操作的步驟提示。該UI界面需要將Canvas畫布創(chuàng)建到控制角色的手柄對(duì)象下作為子物體,讓UI提示面板就可以跟隨手柄移動(dòng)。和主標(biāo)題UI界面一樣,創(chuàng)建相應(yīng)的UI組件,設(shè)置參數(shù),最后進(jìn)行界面排版。當(dāng)按下手柄的菜單按鍵時(shí)彈出提示UI界面(效果參考圖7)。

    2 交互實(shí)現(xiàn)

    Unity是使用C#腳本進(jìn)行交互開(kāi)發(fā)的,本仿真系統(tǒng)是基于頭戴式虛擬設(shè)備進(jìn)行開(kāi)發(fā)的,所以在開(kāi)發(fā)的過(guò)程中所使用的大部分功能API都是基于SteamVR Plugin插件進(jìn)行調(diào)用的。交互的實(shí)現(xiàn)主要有攝像頭震動(dòng),模擬地震時(shí)的震動(dòng)效果,通過(guò)調(diào)節(jié)不同的參數(shù),進(jìn)行地震等級(jí)的模擬。還有就是手柄與UI,手柄與物品模型的交互開(kāi)發(fā)。

    2.1 攝像機(jī)震動(dòng)

    頭戴式頭盔設(shè)備的顯示主要是通過(guò)攝像機(jī)Canera進(jìn)行渲染,所以在模擬地震震動(dòng)的過(guò)程中需要分別控制攝像機(jī)Camera的Position和Rotation兩個(gè)參數(shù)。攝像機(jī)Camera的Postion和Rotation參數(shù)的控制并不是簡(jiǎn)單的變化,而是需要根據(jù)參數(shù)和隨機(jī)時(shí)間有一個(gè)變化的過(guò)程,模擬真實(shí)地震的震動(dòng)過(guò)程和人眼在地震是視覺(jué)效果。想要達(dá)到這種效果,代碼上使用了Update方法,該方法是每一幀都執(zhí)行,那么參數(shù)的變化也會(huì)每一幀都變化,達(dá)到一段時(shí)間內(nèi)變化的過(guò)程,代碼片段如下:

    void Update()

    {

    Vector3 posAddShake = Vector3.zero;

    Vector3 rotAddShake = Vector3.zero;

    posAddShake+=CameraUtilities.MultiplyVectors(c.UpdateSha

    ke(), c.PositionInfluence);

    rotAddShake+=CameraUtilities.MultiplyVectors(c.UpdateSha

    ke(), c.RotationInfluence);

    transform.localPosition = posAddShake;

    transform.localEulerAngles = rotAddShake;

    }

    2.2 手柄交互

    傳統(tǒng)的仿真系統(tǒng)主要是鼠標(biāo)和鍵盤作為交互工具,而以頭戴式仿真頭盔(HTC View或者Oculus rift)作為輸出平臺(tái)的仿真系統(tǒng)是基于SteamVR Plugin插件進(jìn)行開(kāi)發(fā),使用手柄進(jìn)行交互的機(jī)制,模擬真實(shí)人類的手。

    頭戴式仿真頭盔手柄和Unity UGUI的交互是區(qū)別于傳統(tǒng)的鼠標(biāo)的,需要用到SteamVR Plugin插件所提供的API進(jìn)行手柄交互操作。選擇所需交互的UI控件,例如Button,然后掛載SteamVR Plugin插件提供的Interactable.cs腳本,該腳本是手柄與所有對(duì)象交互的基礎(chǔ)腳本,所以手柄與對(duì)象交互,就必須掛載該腳本。手柄交互的API主要有OnHandHoverBegin(Hand hand):當(dāng)手柄觸碰到相應(yīng)對(duì)象時(shí)觸發(fā)該方法,OnHandHoverEnd(Hand hand):當(dāng)手柄停止觸碰相應(yīng)對(duì)象時(shí)觸發(fā)該方法,HandHoverUpdate(Hand hand):當(dāng)手柄觸碰到相應(yīng)對(duì)象時(shí)每幀調(diào)用,以上三個(gè)方法都是操控HTC View手柄時(shí)相對(duì)應(yīng)的方法。具體的UI交互代碼片段如下:

    private void HandHoverUpdate(Hand hand)

    {

    if(hand.GetStandardInteractionButtonDown()||((hand.controller!=null)&&hand.controller.GetPressDown(Valve.VR.EVRButtonId.k_EButton_SteamVR_Trigger)))

    {

    }

    }

    3 展望

    自然災(zāi)害的實(shí)訓(xùn)在現(xiàn)實(shí)演練中是成本非常高的,而虛擬仿真技術(shù)的誕生恰好能解決此類問(wèn)題。但虛擬仿真設(shè)備的高昂價(jià)格、技術(shù)開(kāi)發(fā)的成本高、開(kāi)發(fā)時(shí)間長(zhǎng)等問(wèn)題讓普通用戶望而卻步。所以隨著技術(shù)的發(fā)展,必須降低虛擬現(xiàn)實(shí)設(shè)備的成本,大力發(fā)展可視化開(kāi)發(fā),降低軟件的開(kāi)發(fā)難度。

    參考文獻(xiàn):

    [1] 李梓涵,吳鴻岳,張明璐,等.虛擬仿真技術(shù)在中學(xué)災(zāi)害教育培訓(xùn)中的應(yīng)用研究[J].電子元器件與信息技術(shù),2020,4(3):153-155,160.

    [2] 張佳佳,梁鍇,張廣智,等.三維地震勘探虛擬仿真實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2020,37(2):128-131.

    [3] 王漢杰. 地震災(zāi)害應(yīng)急救援仿真演練系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2019.

    [4] 史雙雙,趙強(qiáng).虛擬仿真在地震應(yīng)急演練中的應(yīng)用[J].山西建筑,2017,43(26):52-53.

    [5] 趙晶,李建亮,李福海.虛擬現(xiàn)實(shí)技術(shù)在地震應(yīng)急救援訓(xùn)練基地中的應(yīng)用[J].華北地震科學(xué),2016,34(2):63-66.

    【通聯(lián)編輯:梁書】

    猜你喜歡
    頭戴式仿真技術(shù)插件
    還原型閱讀練習(xí)
    自編插件完善App Inventor與樂(lè)高機(jī)器人通信
    電子制作(2019年22期)2020-01-14 03:16:34
    甜蜜在線
    虛擬仿真技術(shù)支持情景構(gòu)建
    讀書看報(bào) 解放雙手
    新傳奇(2018年37期)2018-05-14 22:13:51
    蘋果要推出頭戴式耳機(jī)
    AMESim仿真技術(shù)在汽車空調(diào)制冷系統(tǒng)中的應(yīng)用
    MapWindowGIS插件機(jī)制及應(yīng)用
    基于Revit MEP的插件制作探討
    應(yīng)用三維仿真技術(shù)模擬彈子鎖異常開(kāi)啟
    红原县| 博乐市| 德江县| 阜康市| 察雅县| 镇赉县| 屏东县| 灵山县| 万山特区| 合山市| 读书| 房山区| 南阳市| 梧州市| 临汾市| 库伦旗| 扎兰屯市| 襄垣县| 景东| 中阳县| 上林县| 九寨沟县| 阿坝县| 永川市| 九江市| 古浪县| 广安市| 利津县| 故城县| 长武县| 汤阴县| 扶风县| 嘉禾县| 衡阳市| 苍梧县| 尉犁县| 伊川县| 依安县| 庆城县| 五河县| 萨嘎县|