• Hololens的Unity開發入門(mén)

    2017/7/10      點(diǎn)擊:

    一、Hololens概述

    Hololens有以下特性

    1、空間映射
    借助微軟特殊定製的全息處理單元(yuán)(HPU),HoloLens 實(shí)現了對周邊環境的快速掃描和空間匹配。這保證了 HoloLens能夠準確地在真實世界表(biǎo)麵放置或(huò)展現全息圖形內容,確保(bǎo)了核心的AR體驗。

    2、場景匹配
    HoloLens 設(shè)備能存儲(chǔ)並識別環境信息,恢(huī)複和保持(chí)不同場景中的(de)全息圖像對象。當你離開當前房間再回來時,會發(fā)現原(yuán)有放(fàng)置的全息(xī)圖像(xiàng)均會在正確的位(wèi)置出現。

    3、自(zì)然交(jiāo)互
    HoloLens 主要交互方式(shì)為凝(níng)視(Gaze)、語音(Voice Command)和手勢(Gesture),這構成了 HoloLens的基本輸入要素。同時傳(chuán)統的鍵盤鼠標等設備也被支持(chí),自然的交互方式更貼近人類習慣,提高了交互效率。

    4、 通用應用
    HoloLens 平台(tái)的操作係統為 Windows Holograpic,同樣基(jī)於 Windows 10 定(dìng)製。所以Windows 10 UWP 通(tōng)用應用程序可以順利地在 HoloLens 上運行。這不僅降低了研發和遷移成本,也讓開發效率(lǜ)能夠大幅提升。當然,說了(le)很多 HoloLens 獨特的特性和優點後,HoloLens 開發(fā)者版本也存(cún)在一些亟待解決的問題,包括視野較窄、凝視(shì)體驗不(bú)佳、抗光線幹擾弱和重量續航(háng)等(děng)問題。 但瑕不掩瑜,HoloLens 帶來了真正的混合現實體驗,擁有著強烈的(de)衝擊感,未來將大有作為。

    二、開發環境搭建

    開(kāi)發Hololens之(zhī)前需(xū)要準備以下環境(以下(xià)為我準備的環境)

    1、Visual Studio 2015 Update 3

    2、HoloLens Emulator (build 10.0.14393.0)

    3、Unity HoloLens Technical Preview

    4、Windows 10 SDK (10.0.14393.33) VS中進行安(ān)裝

    更(gèng)加詳細的環境配置可參考

    https://developer.microsoft.com/en-us/windows/holographic/install_the_tools

    三、集成(chéng)HoloToolkit-Unity項(xiàng)目

    在創建了標準 Unity 項目之後,我們需要集成(chéng)微軟官(guān)方提供的 HoloToolkit-Unity 項目(mù)。HoloToolkit-Unity 項目是微軟官方的開源項目,用於幫(bāng)助開發者快(kuài)速開發 HoloLens 應用,能夠快速(sù)為項目集成基本輸入、空間(jiān)映射和場景匹配等特性(xìng)。

    關於(yú)該項目的詳細介紹,可以參考微(wēi)軟的開源(yuán)項目https://github.com/Microsoft/HoloToolkit-Unity

    集成步驟

    1、下載HoloToolkit-Unity代碼(mǎ) https://github.com/Microsoft/HoloToolkit-Unity.git

    2、使用unity打開HoloToolkit工程,右擊Assets,導出Package

    3、在(zài)自己的工程中使用HoloToolkit-Unity package

    新建自己的Unity工程,Assets -> Import Package -> Custom Package 選擇(zé)剛才(cái)導出的HoloToolket-Unity package, 導入成功後,可以看到HoloToolkit菜單

    四、構建(jiàn)場景

    1、新建(jiàn)空白場景後,我(wǒ)們需要刪除原有的 Main Camera 對象,同時從 HoloToolkit/Utilities/Prefabs 目錄中拖拽一個 Main Camera Prefab 組件到場景(jǐng)中

    2、點擊“ Create Empty” 創建一個(gè)空遊戲對象(xiàng),並將其命名為 Input,為 Input 對象添加核心腳本組件,分別為 GazeManager.cs、 GestureManager.cs、 HandsManager.cs 和KeywordManager.cs。這樣就集成了凝視、手勢和語音命令三大核心特性。對於凝視(shì)射線、手勢識別和語音命令(lìng)功能,均建議使用單例來進行管理,這樣可以避免(miǎn)功能混亂,方便管理。同時為凝視設置可視化的指針(zhēn),可以提高用戶的交互體驗和效(xiào)率。

    3、從 HoloToolkit/Input/Prefabs/ 目錄下拖拽 CursorWithFeedback Prefab 組件到場景(jǐng)中。這樣當凝視在全息對象時,其表麵會出現可(kě)視化凝視組件。 當用戶手勢被識別到時,會(huì)出現一個藍色的手掌圖像,能夠貼心的告訴用戶可以操(cāo)作了。

    4、創建一個Cube對象並創建(jiàn)一個新的(de)C#腳本,命名為 HoloTest.cs。

    [csharp] view plain copy
    1. using UnityEngine;  
    2. using System.Collections;  
    3.   
    4. public class HoloTest : MonoBehaviour {  
    5.   
    6.     // Use this for initialization  
    7.     void Start () {  
    8.       
    9.     }  
    10.       
    11.     // Update is called once per frame  
    12.     void Update () {  
    13.       
    14.     }  
    15.   
    16.     public void OnSelect()  
    17.     {  
    18.         gameObject.GetComponent().material.color = new  
    19.             Color(Random.Range(0, 255) / 255f, Random.Range(0, 255) / 255f,  
    20.             Random.Range(0, 255) / 255f);  
    21.     }  
    22. }  
    5、HoloTest.cs 腳本的功(gōng)能為隨(suí)機更換對象的材質顏色,遵循 GestureManager.cs 中預設的OnSelect消息名稱
    進入 Input 組件(jiàn)檢視選項(xiàng)卡,為 KeywordManager.cs 組件配置語音命令。語音命令觸發時將會執行相應的組件行為(wéi)。 本例中,當我說出“ test”時,觸發Cube的 OnSelect 方法,來(lái)隨機改變(biàn) Cube 顏色。

    6、為了滿足HoloLens的需求,我(wǒ)們需要(yào)在 Player Settings 裏麵開啟Virtual Reality Support,並在下拉列表中選中Windows Holographic,隻有這樣 HoloLens 才會將(jiāng)此應用渲染為3D應用,這一點十(shí)分關鍵。

    五、編譯運行

    1、生(shēng)成vs工程(chéng)

    2、打開(kāi)vs工程,打開microphones權限,設置在模擬器中運(yùn)行

    3、運(yùn)行(háng),如下為在Hololens模(mó)擬器上的運行效果(guǒ)

    按空格鍵選中cube,或者(zhě)說出指令"test", 觸發OnSelect事件,cube的顏色將隨機發生變化


    AV永久天堂网_奇米狠狠色_亚洲欧美日韩动漫_欧美日韩视频在线观看免费一区二区_日韩精品一二三区_国产AV网站18禁止人_久久久久久精品人妻免费网站不卡_国产最新视频_另类免费视频在线视频二区_久久精品免视国产