• 您的位置:首頁 > 新聞動態 > 技術文章

    Hololens開發環境搭建

    2017/7/31      點擊:

    伴隨著數月的期待,終(zhōng)於拿到了預訂的HoloLens開發(fā)者版本套件。隨著VR/AR/MR技(jì)術的熱潮,國內外均對它們的應用(yòng)與盈利前景持有積很的預期(qī),這也直接導致(zhì)了國內外當前投資VR/AR/MR技術的熱潮。無論是(shì)融資數十億美元的Magic Leap,還是Facebook、微軟等科技巨頭布(bù)局VR/AR市場,這股熱潮不僅出(chū)現在風險投資領域,還席卷了消費者市場和智(zhì)能硬件市場,這無疑引領(lǐng)了下一波互聯網產業的爆發,而我們作為技術(shù)核心的開(kāi)發者(zhě)更不能落下。正如喬幫主所(suǒ)說:“Stay foolish,Stay Hungry”,今天我們就來了(le)解下AR/MR技術的開發特性,本文以微軟出品的HoloLens為目(mù)標設備。

    AR/MR是什麽?

    VR大家都已經很清楚了,VR即(jí)是虛擬現實技術(shù),這意味著沉浸式全虛擬的使用體驗。全(quán)虛擬沉浸式(shì)的(de)體驗帶了獨特的視覺效果,但是由於遮(zhē)蓋現實內容,仍導致了頭暈、運(yùn)動不友好等難以(yǐ)解決的問題。與之相對的則是AR/MR技術,這意味虛擬世界與真實世界交織的視覺體驗。從(cóng)用戶使用體驗來看,AR/MR無疑是更符合人類自然交互模式,代表了未來更偉大的(de)發展方向。同時在筆者看來,由Magic Leap提(tí)出的MR(Mixed Reality)技術其本質與AR(Augmented Reality)技術並無區別,微(wēi)軟(ruǎn)目前也在HoloLens文檔中大量使用MR技術的說法,故此(cǐ)本文將AR/MR技術(shù)視為一體。

    AR核心特性

    正如上(shàng)麵所說,AR具備與VR截然不同的視覺體驗,所以(yǐ)其開發體驗也與VR區別較大,下麵我們來一起探討HoloLens的部分核心開發特性。本文(wén)使用的開發環境為Unity HoloLens preview beta 14以及(jí)Unity Universal Windows Platform Runtime組件

    開發環境

    .安裝清單

    1.升級win10

    2.Visual Studio 2015 Update 2(https://developer.microsoft.com/zh-cn/windows/downloads),請確認(rèn)是(shì)*新版(bǎn)本(安(ān)裝時采用自(zì)定義安裝,電腦的內存一定要多,若安裝VS 的所(suǒ)有配件,大約需要54GB,一定要有VPN,否則下載速度會很慢。)

    3.hololens 模擬器(https://pan.baidu.com/s/1dEGXC2l)大(dà)家自行下載,十(shí)分方便,適合買不起設備的人(rén)

    4.Unity HoloLens Technical Preview,推薦用Unity。

    首先:

    1. 首先安(ān)裝Unity引擎

    2. 然(rán)後(hòu)安裝UWP Runtime

    3. *後可以根據需要(yào)安(ān)裝離線文(wén)檔(dàng)工具

    大家(jiā)注意:設備要求--

    • 64位(wèi)Windows 10 Pro, Enterprise, or Education係統(家庭版不支持Hyper-V)

    • 64位CPU

    • 8G或更多內存

    • 小編有個技(jì)巧(僅(jǐn)適合Mac 的用戶)安裝win10 十分簡(jiǎn)單,一次成功,並且在搭建開發環境時十分快(kuài),不(bú)會超過一個小(xiǎo)時(有Vpn 的前提下),安裝win10 鏡像的方法,注意分配給win0

      的內存一定要(yào)多(https://www.macx.cn/forum.PHP?mod=viewthread&tid=2182916&extra=page%3D1%26filter%3Ddigest%26digest%3D1%26digest%3D1)

    *後(hòu),對(duì)hololens 的核心做個簡單介紹(shào):

    語音識別Voice Command

    語音識別同樣是HoloLens重要組成部分,包括我們很熟悉的Cortana,同樣能(néng)夠為我們帶來更自然高效的輸入體驗。

    HoloLens的語音識別分為三個部分:

    • 語音命(mìng)令 KeywordRecognizer:通過關鍵詞來執行動作

    • 語法識別(bié)GrammarRecognizer:通過預設的語法來模糊(hú)匹配動作

    • 聽寫(xiě) Diction:即語音轉文(wén)字,用於輸入

    三個組件中語音命令特(tè)性*為(wéi)常用,配合凝(níng)視能夠(gòu)完成(chéng)絕大部分場景(jǐng)的需(xū)求。為了使用語音(yīn)命令,首先要啟用KeywordRecognizer實例,同(tóng)時要(yào)預設好來源。


    通過數組來(lái)初始化(huà)關鍵詞識別器:

    keywords.Add(“activate”, () => { // 關鍵詞動作 }); 

    keywordRecognizer = new KeywordRecognizer(keywords.Keys.ToArray()); 

    keywordRecognizer.OnPhraseRecognized += KeywordRecognizer_OnPhraseRecognized; 

    //開始識別 keywordRecognizer.Start();

    在響應事件中做處理,調用識別到的關鍵詞事件。

    private void KeywordRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args) 

    System.Action keywordAction; //如果(guǒ)關鍵詞在預設列(liè)表中(zhōng),即執行其2動作 

    if (keywords.TryGetValue(args.text, out keywordAction)) { keywordAction.Invoke(); } 

    }

    空(kōng)間映射(shè) Spatial Mapping

    AR技術能(néng)實現的關鍵就是能夠識別映射周邊世界,這是全息對象與真實表麵交互的基(jī)礎,是AR技術的核心組件。HoloLens借助於(yú)微軟特殊研發(fā)的全息處理單元(HPU 1.0)才能實現空間映射(shè)特性,幸運的是我們可(kě)以使用空間映射API來對真實世界做交互。

    全息處(chù)理(lǐ)單元

    我們可以利用SurfaceObserver組件來獲取控件表麵映射信息,下麵是基本的操作:

    SurfaceObserver surfaceObserver; 

    void Start () { 

    //初(chū)始化 

    surfaceObserver = new SurfaceObserver(); 

    StartCoroutine(UpdateLoop()); 

    IEnumerator UpdateLoop() { 

    var wait = new WaitForSeconds(2.5f); 

    while(true) { 

    surfaceObserver.Update(OnSurfaceChanged); 

    yield return wait; 

    }

    每一個空間表麵都(dōu)需要注(zhù)冊其Handle事件,用於(yú)實時調(diào)整空間映射信息和交互。

    private void OnSurfaceChanged(

    SurfaceId surfaceId, SurfaceChange changeType, Bounds bounds, System.DateTime updateTime) 

    //處理空間表麵變化

    }

    日本中出视频|午夜免费福利在线|亚洲精品亚洲人成在线下载|国产高潮流白浆免费观看不卡|偷拍亚洲欧美|亚洲中文字幕久爱亚洲伊人|久久久久香蕉视频|国产欧美日韩一区|久久国产成人亚洲精品影院老金|久久久久中文字幕