国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VR技術(shù)的實時交互平臺的設(shè)計與實驗

2017-06-29 09:02:34吉林大學(xué)電子科學(xué)與工程學(xué)院尹悅鑫
電子世界 2017年11期
關(guān)鍵詞:安卓按鍵藍(lán)牙

吉林大學(xué)電子科學(xué)與工程學(xué)院 尹悅鑫 魯 岳 王 珣

基于VR技術(shù)的實時交互平臺的設(shè)計與實驗

吉林大學(xué)電子科學(xué)與工程學(xué)院 尹悅鑫 魯 岳 王 珣

隨著科技進(jìn)步與生活水平的提高,基于VR技術(shù)的產(chǎn)品已經(jīng)以商品的形式進(jìn)入千家萬戶。但事實上,其相關(guān)衍生品主要以旅游和視頻 應(yīng)用為主,種類單一,缺乏創(chuàng)新。同時,普通的VR產(chǎn)品不具備實時交互性,用戶體驗差?;谝陨蠁栴},本文基于VR技術(shù),下位機(jī)以單片機(jī)為核心,上位機(jī)采用UNITY 3D游戲引擎的安卓開發(fā)平臺,下位機(jī)利用藍(lán)牙模塊HC-05,實現(xiàn)與上位機(jī)的實時交互,從而實現(xiàn)虛擬現(xiàn)實中的實時操作。

VR技術(shù);實時交互平臺;設(shè)計與實驗

1 設(shè)計原理

圖 1 設(shè)計原理框圖

如 圖1設(shè)計原理框圖所示,實時交互平臺包括硬件系統(tǒng)和軟件平臺兩部分。硬件系統(tǒng)由陀螺儀GY-25,按鍵,藍(lán)牙模塊HC-05和微控制器STC12C5A60S2組成。其中陀螺儀GY-25實時讀取角度,按鍵實現(xiàn)特殊操作功能,HC-05與手機(jī)進(jìn)行藍(lán)牙通信,微控制器STC12C5A60S2進(jìn)行數(shù)據(jù)的接收,處理和發(fā)送,處于整個硬件系統(tǒng)的核心地位。軟件平臺由手機(jī)的Android系統(tǒng)和Unity軟件組成。同時,硬件系統(tǒng)和軟件平臺相互之間通過藍(lán)牙進(jìn)行通信,進(jìn)而實現(xiàn)實時交互的功能。

1.1 產(chǎn)品調(diào)研

虛擬現(xiàn)實技術(shù)(VR)是一種可以建立虛擬世界的計算機(jī)仿真系統(tǒng),它可以通過計算機(jī)技術(shù)來模擬現(xiàn)實的環(huán)境,是一種多源信息融合的、交互式的三維動態(tài)視景和實體行為的系統(tǒng)仿真,可以使用戶沉浸到該環(huán)境中。

現(xiàn)如今,基于VR技術(shù)開發(fā)的產(chǎn)品已是種類繁多。但目前,大部分VR產(chǎn)品的應(yīng)用僅僅停留在視覺接收階段,例如,VR視頻,VR旅游,VR購物等,并不具備實時交互功能,導(dǎo)致用戶體驗缺乏真實性。

本文研究的基于VR技術(shù)的實時交互平臺,采用相對成本最低的STC12C5A60S2單片機(jī),利用藍(lán)牙模塊HC-05向上位機(jī)實時傳遞信息,并且通過VR眼鏡顯示出相應(yīng)的場景,從而實現(xiàn)設(shè)計要求。

1.2 原理圖

圖2 原理圖

1.3 軟件設(shè)計原理

圖3 軟件設(shè)計原理框圖

如圖3軟件設(shè)計原理框圖所示,Bluetooth部分采用藍(lán)牙模塊HC-05。通過藍(lán)牙模塊實現(xiàn)和手機(jī)安卓操作系統(tǒng)的通信,可以實時的將單片機(jī)接收到的采集數(shù)據(jù),如角度,按鍵信息等發(fā)送到手機(jī)。事先,利用原生安卓開發(fā)編寫接收藍(lán)牙數(shù)據(jù)并解讀數(shù)據(jù)的代碼,然后將安卓工程導(dǎo)出為jar包,放在Unity工程相應(yīng)目錄下的文件夾中,在Unity端編寫相應(yīng)的代碼調(diào)用jar包里準(zhǔn)備好的方法,便可對手機(jī)藍(lán)牙接收到的數(shù)據(jù)進(jìn)行處理,實現(xiàn)用戶在VR游戲界面中的移動,射擊,空間視角切換等功能。

2 系統(tǒng)設(shè)計

2.1 硬件模塊

硬件模塊包括陀螺儀,微控制器,藍(lán)牙模塊和按鍵:

陀螺儀采用GY-25,一款低成本、低功耗的傾斜角度傳感器模塊。其工作原理是通過陀螺儀加速度傳感器經(jīng)過數(shù)據(jù)融合算法,最后直接得到角度數(shù)據(jù)。將其放置于操作手柄,如模型槍上,便可實時讀取當(dāng)前的三維角度。將數(shù)據(jù)發(fā)送給單片機(jī)進(jìn)行處理,再利用藍(lán)牙通信,便可以實現(xiàn)VR游戲界面中的視角切換功能。

微控制器采用的是宏晶科技生產(chǎn)的單片機(jī)STC12C5A60S2。具有優(yōu)秀的工作性能,較高的數(shù)據(jù)處理速度。作為整個平臺的核心控制模塊,承擔(dān)著數(shù)據(jù)的接收,處理,發(fā)送等一系列重要功能。

藍(lán)牙模塊采用HC-05,一款主從一體藍(lán)牙串口模塊。利用其藍(lán)牙通信功能,實時的將數(shù)據(jù)發(fā)送給手機(jī)上的Unity端。Unity將數(shù)據(jù)處理結(jié)果反映到VR游戲界面當(dāng)中,讓用戶有實時操作的游戲體驗。

而按鍵則由三個簡單的微動開關(guān)組成。其功能分別為前進(jìn),后退和射擊。由單片機(jī)接收按鍵信息,通過藍(lán)牙發(fā)送,Unity端接收。

2.2 軟件平臺

軟件平臺分為Android部分和Unity部分:

Android部分采用Eclipse軟件編寫藍(lán)牙程序。Eclipse是一個開放源代碼的,基于Java的可擴(kuò)展開發(fā)平臺。通過查閱藍(lán)牙相關(guān)的API,參考范例,編寫相關(guān)的藍(lán)牙程序。由于數(shù)據(jù)發(fā)送以字節(jié)為單位,而一個角度信息要用兩個字節(jié)記錄。因此,在編寫解讀藍(lán)牙接收數(shù)據(jù)的程序時,需要進(jìn)行相應(yīng)數(shù)據(jù)的整合,并依照順序拼出正確的角度信息。而按鍵方面,將三個按鍵的信息存放在一個字節(jié)的第三位,并在安卓端將存放按鍵信息字節(jié)的第三位逐位讀出。至此,數(shù)據(jù)的解讀工作順利完成。最后寫好用于Unity調(diào)用的函數(shù),便可使Unity獲取相應(yīng)的信息。至此,安卓方面的藍(lán)牙相關(guān)的工作全部完成。

VR的實現(xiàn)則采用了Google公司的CardboardSDKForUnity。由于此SDK設(shè)定了專用的主Activity,因此,會與藍(lán)牙的主Activity發(fā)生沖突。解決方案如下:導(dǎo)入Google的jar包到安卓工程,將藍(lán)牙的主Activity繼承Google的CardboardSDKForUnity的主Activity。至此,安卓方面的代碼編寫完成。確認(rèn)好安卓端代碼正確無誤后,將工程導(dǎo)出為jar包,并在Unity工程目錄下建立安卓插件專用的目錄,并將jar包及相關(guān)安卓工程中的文件放到相應(yīng)的目錄下。

Unity部分主要是指Unity Technologies開發(fā)的多平臺的綜合型游戲開發(fā)工具——Unity,它是一個全面整合的專業(yè)游戲引擎。通過Unity的游戲開發(fā)功能,設(shè)計一個FPS(第一人稱射擊類)游戲的界面。其中,包括星空,天臺,集裝箱等環(huán)境模型,具有一定AI的怪獸,沖鋒槍等游戲元素的加入,增添了本VR實時交互平臺的可玩性。配合藍(lán)牙通信,使用戶擁有更為真實的體驗。

在角色模型設(shè)計方面,我們采用狀態(tài)機(jī)的方式進(jìn)行編程,能夠根據(jù)控制信號按照預(yù)先設(shè)定的狀態(tài)進(jìn)行狀態(tài)轉(zhuǎn)移,是協(xié)調(diào)相關(guān)信號動作、完成特定操作的關(guān)鍵,可以有效地實現(xiàn)基本功能轉(zhuǎn)換。狀態(tài)機(jī)流程圖如圖4所示:

圖4 狀態(tài)機(jī)流程圖

相關(guān)程序如下:

3 最終成果展示

3.1 硬件部分

圖5 硬件 部分成果展示

如圖5所示,將硬件系統(tǒng)焊接于電路板,裝配于模型槍上,達(dá)到硬件和手柄一體化的目的。用戶可以手持模型槍,通過按動按鍵,完成移動,射擊等特殊功能。利用放置于VR眼鏡中的手機(jī),用戶可以實時觀察到游戲中的場景。

3.2 軟件部分

圖6 游戲界 面成果展示

如圖6所示,為VR眼鏡中的真實游戲場景。用戶可以利用手中的模型槍進(jìn)行射擊,攻擊敵人。利用模型槍上的按鍵在游戲場景中進(jìn)行移動,以此躲避敵人的傷害。根據(jù)模型槍當(dāng)前角度的變化,來決定用戶的移動方向。通過用戶頭部的轉(zhuǎn)動,實現(xiàn)游戲視角的切換。在游戲界面中,正上方顯示得分(Score),正下方顯示當(dāng)前血量。當(dāng)血量歸零時,游戲結(jié)束。

[1]優(yōu)美締軟件(上海).Unity官方案例精講[M].北京:中國鐵道出版社,2015.

[2]MingChaoSun.Cardboard 虛擬現(xiàn)實開發(fā)技巧(一)之放置一個固定在視野中的物體[EB/OL].(2015-12-25)[2016-01-03].

[3]程明智,江道遠(yuǎn),韓超.Unity5.X游戲開發(fā)技術(shù)與實例[M].電子工業(yè)出版社,2016.

尹悅鑫(1995—),大學(xué)本科,現(xiàn)就讀于吉林大學(xué)微電子科學(xué)與工程專業(yè)。

魯岳(1996—),大學(xué)本科,現(xiàn)就讀于吉林大學(xué)電子信息科學(xué)與技術(shù)專業(yè)。

王珣(1996—),大學(xué)本科,現(xiàn)就讀于吉林大學(xué)電子信息科學(xué)與技術(shù)專業(yè)。

猜你喜歡
安卓按鍵藍(lán)牙
藍(lán)牙音箱的直線之美
基于有限狀態(tài)機(jī)的按鍵檢測程序設(shè)計
電子制作(2021年3期)2021-06-16 03:14:26
文物表情包
簡單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
玩具世界(2017年8期)2017-02-06 03:01:38
一種基于安卓系統(tǒng)的手機(jī)側(cè)抓包分析方法
一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計
電子制作(2016年1期)2016-11-07 08:43:05
安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
按鍵的多種狀態(tài)檢測及消抖處理方法
家電科技(2013年4期)2013-07-09 10:55:08
贞丰县| 兴业县| 堆龙德庆县| 逊克县| 科技| 阳山县| 吉安市| 吐鲁番市| 宁阳县| 呈贡县| 晋州市| 松溪县| 隆回县| 泸水县| 凤凰县| 开封市| 梁山县| 菏泽市| 上林县| 陆河县| 方城县| 陈巴尔虎旗| 方正县| 武乡县| 奉节县| 盘山县| 合江县| 正镶白旗| 简阳市| 临城县| 衡南县| 鄂尔多斯市| 常宁市| 尼木县| 博野县| 高邮市| 德昌县| 美姑县| 普宁市| 方城县| 秭归县|