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

    Hololens的(de)Unity開(kāi)發(fā)入門

    2017/7/10      點擊:

    一、Hololens概述

    Hololens有以下特性

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

    2、場景(jǐng)匹配
    HoloLens 設備能存儲並識別環境信(xìn)息(xī),恢複和保持不同場景中(zhōng)的全息圖像對象。當你離開當前房間再(zài)回來時,會發現原有放(fàng)置的全息圖像均會在正確的位置出現。

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

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

    二、開發環境搭建

    開發Hololens之前需要準備(bèi)以(yǐ)下環境(jìng)(以下為(wéi)我準(zhǔn)備的環境(jìng))

    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中進行安裝

    更加(jiā)詳細的環境配置可參考

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

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

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

    關於該項目的詳細介紹,可以參(cān)考微軟的(de)開源項目https://github.com/Microsoft/HoloToolkit-Unity

    集成步驟

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

    2、使用unity打開(kāi)HoloToolkit工程,右擊Assets,導出(chū)Package

    3、在自己的工程中(zhōng)使用HoloToolkit-Unity package

    新建自己的Unity工程,Assets -> Import Package -> Custom Package 選擇剛才導出的HoloToolket-Unity package, 導入成功後(hòu),可以看到(dào)HoloToolkit菜單

    四、構建場景(jǐng)

    1、新(xīn)建空白場(chǎng)景後,我們需要刪(shān)除原(yuán)有的 Main Camera 對象,同時從 HoloToolkit/Utilities/Prefabs 目錄(lù)中拖拽一個 Main Camera Prefab 組件到(dào)場景(jǐng)中

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

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

    4、創(chuàng)建一個Cube對象並(bìng)創建一個新的C#腳本,命(mìng)名為 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 腳本的功能為隨機(jī)更(gèng)換對象的材質顏色,遵循 GestureManager.cs 中預設的OnSelect消息名(míng)稱
    進入 Input 組件檢視選項卡(kǎ),為 KeywordManager.cs 組件配置語音命令。語音命令觸(chù)發時將會執(zhí)行相應的(de)組件行為。 本例中,當我說(shuō)出“ test”時,觸發Cube的 OnSelect 方法,來隨機改變 Cube 顏色。

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

    五、編(biān)譯運行

    1、生成vs工程

    2、打開vs工程,打開microphones權(quán)限,設置在模擬器中運行

    3、運行(háng),如下為(wéi)在(zài)Hololens模擬器上的運行效果

    按空格鍵選中cube,或者說出指令(lìng)"test", 觸(chù)發OnSelect事件(jiàn),cube的顏色將隨機(jī)發生變化


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