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

        ?

        基于Vuforia的增強(qiáng)現(xiàn)實(shí)交互應(yīng)用的設(shè)計(jì)

        2020-12-11 02:41:00李雪艷
        關(guān)鍵詞:安裝包狀態(tài)機(jī)插件

        李雪艷, 戴 路

        (陽(yáng)光學(xué)院人工智能學(xué)院, 福建福州 350015)

        0 引言

        增強(qiáng)現(xiàn)實(shí)技術(shù), 也稱為AR技術(shù)(Augmented Reality), 其工作原理是將真實(shí)世界信息和虛擬世界信息“無(wú)縫”集成, 把現(xiàn)實(shí)世界的一定時(shí)間空間范圍內(nèi)很難體驗(yàn)到的實(shí)體信息通過(guò)電腦等科學(xué)技術(shù), 模擬仿真后再疊加, 將虛擬的信息應(yīng)用到真實(shí)世界, 被人類感官所感知, 從而達(dá)到超越現(xiàn)實(shí)的感官體驗(yàn)[1].

        現(xiàn)階段增強(qiáng)現(xiàn)實(shí)的技術(shù)一般有三種[2]: (1)基于顯示器的增強(qiáng)現(xiàn)實(shí)技術(shù); (2)基于視頻透視式的增強(qiáng)現(xiàn)實(shí)技術(shù); (3)光學(xué)透視式的增強(qiáng)現(xiàn)實(shí)技術(shù). 由于視頻透視式的增強(qiáng)現(xiàn)實(shí)技術(shù)和光學(xué)透視式的增強(qiáng)現(xiàn)實(shí)技術(shù)需要極強(qiáng)的硬件方面支持, 成本極高, 不宜廣泛推廣[3], 因此, 本設(shè)計(jì)采用基于顯示屏的增強(qiáng)現(xiàn)實(shí)技術(shù)進(jìn)行設(shè)計(jì). 該方式能夠采用手機(jī)進(jìn)行增強(qiáng)現(xiàn)實(shí)交互, 開(kāi)發(fā)簡(jiǎn)便且便于推廣. 本設(shè)計(jì)基于高通公司推出的Vuforia SDK.

        1 Unity 3D游戲引擎介紹

        Unity 3D 是由Unity Technologies公司開(kāi)發(fā)的能夠?qū)崿F(xiàn)場(chǎng)景可視化以及三位動(dòng)態(tài)模型等互動(dòng)的游戲開(kāi)發(fā)工具, 開(kāi)發(fā)者能通過(guò)Unity 3D輕松開(kāi)發(fā)出一款視覺(jué)交互類的應(yīng)用[4]. 其采用C#語(yǔ)言, 能在Windows、 Linux和Mac OS等操作系統(tǒng)下開(kāi)發(fā), 并能將游戲發(fā)布到各種主流的平臺(tái)上. 同時(shí), Unity 3D支持各種插件, 可以降低開(kāi)發(fā)難度[5]. 本文選取Vuforia插件進(jìn)行增強(qiáng)現(xiàn)實(shí)交互的設(shè)計(jì).

        2 Vuforia插件介紹

        增強(qiáng)現(xiàn)實(shí)技術(shù)在開(kāi)發(fā)過(guò)程中需要攻克多個(gè)技術(shù)難題. Vuforia擴(kuò)增實(shí)境軟件開(kāi)發(fā)工具包(Vuforia Augmented Reality SDK)的簡(jiǎn)介如圖1所示, 它是高通公司推出的針對(duì)移動(dòng)設(shè)備擴(kuò)增實(shí)境應(yīng)用的軟件開(kāi)發(fā)工具包, 可以明顯降低增強(qiáng)現(xiàn)實(shí)交互應(yīng)用的開(kāi)發(fā)門(mén)檻[6]. 其可以支持Unity3D、 HoloLens、 Android、 iOS、 UWP的等系統(tǒng)[7].

        圖1 Vuforia 插件簡(jiǎn)介

        3 系統(tǒng)設(shè)計(jì)流程

        本設(shè)計(jì)主要研究在使用Unity3D游戲引擎及Vuforia SDK的基礎(chǔ)上開(kāi)發(fā)增強(qiáng)現(xiàn)實(shí)的應(yīng)用, 并將其打包成.apk格式的安卓安裝包, 且最終能在安卓手機(jī)上運(yùn)行. 其設(shè)計(jì)概要流程圖如圖2所示. 首先通過(guò)Vuforia官網(wǎng)下載基于Unity 3D的插件, 并通過(guò)注冊(cè)獲取開(kāi)發(fā)者身份. 然后將準(zhǔn)備好需要進(jìn)行虛擬交互的圖像通過(guò)授權(quán)獲取應(yīng)用許可及其相關(guān)密鑰, 并將需要交互的模型與密鑰一并導(dǎo)入U(xiǎn)nity 3D中. 最后通過(guò)Vuforia SDK設(shè)置及相關(guān)腳本編寫(xiě)最終完成相關(guān)增強(qiáng)現(xiàn)實(shí)的交互, 并打包為.apk格式的安卓系統(tǒng)的安裝包, 之后通過(guò)相關(guān)測(cè)試并最終完成作品.

        圖2 設(shè)計(jì)概要流程圖

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

        對(duì)于Vuforia SDK資源包的創(chuàng)建, 需要用郵箱注冊(cè)一個(gè)ID賬號(hào)登錄, 并激活賬戶進(jìn)入Vuforia網(wǎng)站, 申請(qǐng)注冊(cè)需要的應(yīng)用, 獲取應(yīng)用的許可證密匙. 然后進(jìn)入Downloads選項(xiàng), 選擇下載add-vuforia-package-8-6-7.unitypackage. 下載完成之后得到一個(gè)后綴名為unitypackage的Unity插件包, 之后導(dǎo)入插件包后, Unity3D的菜單欄上會(huì)多出一個(gè)Vuforia的菜單選項(xiàng), 通過(guò)這個(gè)選項(xiàng)能添加Vuforia的相關(guān)預(yù)置.

        在Vuforia官網(wǎng)注冊(cè)后進(jìn)入Develop頁(yè)面, 在license Manager選項(xiàng)中創(chuàng)建License Key, License Key是Vuforia公司對(duì)Vuforia SDK的許可證密鑰. 其中, 個(gè)人版是免費(fèi)的. 本文使用的License Key截圖見(jiàn)圖3.

        圖3 許可證密鑰

        同時(shí)將Vuforia SDK的許可證密鑰添加到App Lincense Key中, 添加Lincense Key后的效果圖如圖4所示. 應(yīng)用運(yùn)行時(shí)若無(wú)該密鑰將無(wú)法運(yùn)行程序.

        圖4 添加Lincense Key后的效果圖

        將原場(chǎng)景中的攝像頭Main Camera替換為插件中的AR Camera. 替換選項(xiàng)截圖如圖5所示. 并且在開(kāi)啟攝像機(jī)前需添加自動(dòng)對(duì)焦相關(guān)功能, 防止攝像頭在移動(dòng)過(guò)程中由于焦距問(wèn)題導(dǎo)致無(wú)法識(shí)別圖的問(wèn)題.

        圖5 替換為AR Camera組件的截圖

        在Develop頁(yè)面的Target Manager中創(chuàng)建應(yīng)用中需要用到的識(shí)別圖, 通過(guò)Add Datebase上傳所需要用到的識(shí)別圖. 識(shí)別圖使用的形狀包括Single Image、 Cuboid、 Cylinder和3D Object四種模式. 同時(shí)系統(tǒng)還能檢測(cè)識(shí)別圖的被識(shí)別度, 識(shí)別圖的特殊性越高, 其被識(shí)別的準(zhǔn)確率就越高. 注冊(cè)圖的識(shí)別標(biāo)記如圖6所示. 最后系統(tǒng)將生成UnityPackage的插件包, 可以將該插件導(dǎo)入Image Target Behaviour的選項(xiàng)里.

        圖6 注冊(cè)圖的識(shí)別標(biāo)記

        5 虛擬任務(wù)交互實(shí)現(xiàn)

        5.1 人物模型的放大、 縮小與旋轉(zhuǎn)

        人物模型的放大、 縮小及旋轉(zhuǎn)可以直接通過(guò)觸摸屏的手勢(shì)進(jìn)行操作, 這可以在Unity 3D中通過(guò)Finger Gestures插件實(shí)現(xiàn). 首先導(dǎo)入Finger Gestures手勢(shì)識(shí)別的插件包, 將插件包中的預(yù)設(shè)體Finger Gestures添加到場(chǎng)景, 并添加監(jiān)聽(tīng)器. 然后在OnPinch事件中能獲取兩個(gè)手指張開(kāi)或收縮時(shí)的路徑, 并通過(guò)該路徑放大或縮小物體的尺寸. 最后在OnTwist事件中能獲取最近一次角度的變化, 通過(guò)該變化調(diào)節(jié)物體的旋轉(zhuǎn)角度. 通常雙指張開(kāi)代表放大操作, 雙指收縮代表了縮小操作, 拖住移動(dòng)代表旋轉(zhuǎn)操作.

        5.2 模型的動(dòng)作

        模型能通過(guò)點(diǎn)擊屏幕等方式進(jìn)行一定的交互, 因此模型需要帶有動(dòng)作, 若模型不帶有動(dòng)作則無(wú)法進(jìn)行動(dòng)作類的交互. 當(dāng)選擇了一套具有動(dòng)作的模型后, 配合Unity 3D中自帶的Animatior(動(dòng)畫(huà)系統(tǒng)), 對(duì)模型的動(dòng)作進(jìn)行管理. Animation是舊版的動(dòng)畫(huà)狀態(tài)機(jī), Animator是新版的動(dòng)畫(huà)狀態(tài)機(jī). Animator是把Animation統(tǒng)一管理和邏輯狀態(tài)管理的組件, 可以更方便進(jìn)行圖形化狀態(tài)管理. 本系統(tǒng)的動(dòng)畫(huà)狀態(tài)機(jī)如圖7所示.

        圖7 動(dòng)畫(huà)狀態(tài)機(jī)狀態(tài)機(jī)

        將交互的每一個(gè)動(dòng)作與相關(guān)條件進(jìn)行綁定, 通過(guò)編寫(xiě)腳本就能進(jìn)行動(dòng)作交互. 本作品為角色添加兩組動(dòng)作: stand和attack動(dòng)作, 并添加一個(gè)狀態(tài)變量attack_fal, 其初始值為false, 當(dāng)系統(tǒng)發(fā)現(xiàn)識(shí)別圖時(shí), 角色直接進(jìn)入stand狀態(tài). 只有當(dāng)attack_fal值由false變?yōu)閠rue時(shí), 角色動(dòng)作將由attack轉(zhuǎn)為stand; 當(dāng)attack_fal值由true變?yōu)閒alse時(shí), 角色動(dòng)作將由attack狀態(tài)轉(zhuǎn)為stand狀態(tài). 在腳本中設(shè)置, 當(dāng)監(jiān)聽(tīng)到點(diǎn)擊屏幕事件時(shí), attack_fal=true, 使角色由stand狀態(tài)進(jìn)入attack狀態(tài). 當(dāng)運(yùn)行完attack狀態(tài)后, 腳本設(shè)置attack_fal=false, 使角色由attack狀態(tài)轉(zhuǎn)為stand狀態(tài). attack動(dòng)作圖如圖8所示.

        圖8 attack動(dòng)作圖

        6 系統(tǒng)測(cè)試

        6.1 導(dǎo)出AR的apk安裝包

        當(dāng)系統(tǒng)所有功能都能實(shí)現(xiàn)以后, 進(jìn)入Preferences的External Tools中, 添加Android的SDK和JDK信息. 然后在Build Settings中選擇需要打包的場(chǎng)景信息, 并在Platform中選擇Android系統(tǒng). 之后在Android API Level 中選擇Android的版本. 最后在player settings中設(shè)置Company Name、 Product Name與Bundle Identifier之后確認(rèn), 并創(chuàng)建apk安裝包.

        6.2 單機(jī)測(cè)試

        在Android手機(jī)端安裝打包好的命名為AR_TEST.APK的安裝包, 安裝完后打開(kāi)該應(yīng)用, 將攝像頭對(duì)準(zhǔn)識(shí)別圖, 識(shí)別圖上將出現(xiàn)設(shè)置好的虛擬人物模型. 然后對(duì)該虛擬人物進(jìn)行縮放、 旋轉(zhuǎn)、 點(diǎn)擊等操作, 都能實(shí)現(xiàn)相應(yīng)的功能.

        6.3 系統(tǒng)測(cè)試

        選擇時(shí)下比較主流的基于安卓系統(tǒng)手機(jī)品牌, 包括華為、 小米、 三星和魅族進(jìn)行測(cè)試. 測(cè)試包括: 是否能正常進(jìn)入應(yīng)用; 打開(kāi)AR攝像頭, 是否會(huì)閃退; 是否能對(duì)圖片進(jìn)行識(shí)別、 交互功能是否能夠?qū)崿F(xiàn); 是否能夠?qū)崿F(xiàn)縮放、 旋轉(zhuǎn)、 交互等功能. 測(cè)試結(jié)果如表1所示.

        表1 Vuforia應(yīng)用系統(tǒng)測(cè)試一覽表

        7 結(jié)語(yǔ)

        本設(shè)計(jì)通過(guò)Unity 3D游戲引擎配合高通Vuforia插件, 采用C#編寫(xiě)應(yīng)用腳本, 設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)能夠識(shí)別特定識(shí)別圖, 并出現(xiàn)相應(yīng)的角色模型的增強(qiáng)現(xiàn)實(shí)效果的系統(tǒng). 其使用Finger Gestures插件實(shí)現(xiàn)相應(yīng)角色的放大、 縮小、 旋轉(zhuǎn)等功能, 可以通過(guò)Unity 3D自帶的動(dòng)畫(huà)狀態(tài)機(jī)實(shí)現(xiàn)角色的簡(jiǎn)單控制, 并在基于安卓系統(tǒng)的多個(gè)手機(jī)操作系統(tǒng)下測(cè)試成功. 由于研究時(shí)間和現(xiàn)階段技術(shù)問(wèn)題應(yīng)用還存在以下缺陷: 由于系統(tǒng)需要與Vuforia服務(wù)端進(jìn)行連接, 因此需要進(jìn)行聯(lián)網(wǎng), 在沒(méi)有網(wǎng)絡(luò)的情況下無(wú)法實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)過(guò)程.

        基于手機(jī)端的AR技術(shù)攜帶便利, 研發(fā)成本不高, 實(shí)現(xiàn)起來(lái)較為簡(jiǎn)便, 相對(duì)于眼鏡設(shè)備來(lái)講更容易普及. 隨著技術(shù)的提升, 近年來(lái)也出現(xiàn)了一些熱門(mén)的AR應(yīng)用, 如Pokémon Go、 Zoo Kazam、 Google Translate等. 除了高通的Vuforia平臺(tái), 其他各大平臺(tái)也不斷推出了各自的AR方面的SDK, 如Google公司的ARCore、 蘋(píng)果公司的ARKit、 國(guó)內(nèi)的視+AR開(kāi)放平臺(tái). 隨著科技的發(fā)展, 增強(qiáng)現(xiàn)實(shí)技術(shù)在未來(lái)會(huì)應(yīng)用到更多領(lǐng)域.

        猜你喜歡
        安裝包狀態(tài)機(jī)插件
        手機(jī)之間如何快速分享應(yīng)用安裝包
        自編插件完善App Inventor與樂(lè)高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
        另類解壓軟件安裝包
        MapWindowGIS插件機(jī)制及應(yīng)用
        基于Revit MEP的插件制作探討
        讓OVI商店安裝程序不自動(dòng)刪除
        電腦迷(2012年15期)2012-04-29 17:09:47
        FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
        基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
        Android手機(jī)免費(fèi)玩
        99riav精品国产| 亚洲精品无码永久在线观看你懂的 | 久久久久亚洲av无码专区网站| 一个人免费观看在线视频播放 | 久久精品蜜桃亚洲av高清| 免费黄色影片| 国产精品半夜| 国产不卡一区二区三区视频| 久久免费视亚洲无码视频| av网站在线观看二区| 美女午夜福利视频网址| 成 人免费va视频| 国产婷婷丁香五月麻豆| 国产亚洲精品一区二区在线播放| 日韩人妻无码精品一专区二区三区| 99在线精品免费视频九九视| 国产AV无码一区精品天堂| 国产丝袜在线福利观看| 国产av无码专区亚洲av男同| 日本大骚b视频在线| 人妻无码中文字幕免费视频蜜桃 | 欧美成a人片在线观看久| 国产成人综合久久精品推荐免费| 亚洲熟女熟妇另类中文| 国产精品久久成人网站| 一个人看的www免费视频中文| 伊人影院在线观看不卡| 亚洲三级视频一区二区三区| 亚洲性爱视频| 色综合久久精品中文字幕| 日本三区在线观看视频| 国产精品久久久久久一区二区三区 | 人妻少妇精品无码专区| 女人与牲口性恔配视频免费| 亚洲成av在线免费不卡| 一区二区三区精品少妇| 日韩在线一区二区三区免费视频 | 曰韩精品无码一区二区三区| 女同另类一区二区三区| 成视频年人黄网站免费视频| 久久99国产乱子伦精品免费|