Hololens開發(fā)——如何實現(xiàn)凝視、手勢和語音交互操作

1、打開Unity,新建項目名為HoloProject,如圖所示。

2、在開發(fā)前需要導入HoloTookit工具包,我使用的是HoloToolkit-Unity-v1.5.8.0版本,先選擇ALL選項,然后選擇Import選項。具體步驟如圖所示。

3、導入成功后,我們先保存當前場景,取名為Interaction。然后刪除Main Camera,我們找到HoloTookit 中Input資源里的Prefabs,將HololensCamera、InputManger、Cursor和CursorWithFeedback組件拖拽到面板中。具體如圖所示。

4、準備工作完成后,下面我將分別實現(xiàn)凝視,手勢和語音交互的案例實現(xiàn)。我們在面板中新建一個3D Object的Cube,設置Position參數(shù)中的z為5。

5、我先實現(xiàn)凝視交互——當視線在Cube上時,Cube顏色變成紅色。首先,新建一個C#文件,取名為ColorShowAction.cs。如圖所示。

雙擊ColorShowAction.cs,寫入相應代碼。如圖所示。

寫完后,關閉vs,在Cube的管理面板上點擊Add Component,輸入ColorShowAction。如圖所示。

這樣我們就完成了凝視交互了,接下來進行效果測試。我們直接在Unity中運行程序。當我們視線不在Cube上時它是原來的白色,當在它上面時就變成了紅色。

6、接下來我主要實現(xiàn)兩種手勢交互即導航手勢和操作手勢,分別來實現(xiàn)旋轉(zhuǎn)和移動功能。跟剛才一樣,新建兩個C#文件分別是MoveAction和RotateAction。雙擊,填寫相應代碼。如圖所示。最后將它們加入到Cube上就可以了。

7、最后通過語音來實現(xiàn)Cube放大和縮小交互。新建一個ZoomAction.cs,打開并填寫代碼,如圖所示。然后加入到Cube上。

語音還需要KeyWordManager.cs才能工作,在Cube上添加KeyWordManager,然后在Keyword中分別輸入bigger和smaller,Response()中拖入Cube,輸入ChangeScale函數(shù)并輸入相應Keyword值。如圖所示。

8、最后需要生成APP,部署到Hololen上或者Hololens模擬器上來操作Cube。首先更改生成設置,將平臺切換成WindowStore,目標設備為Hololens,在PlayerSetting上勾選Virtual Reality Supported和Microphone。如圖所示。

然后點擊Build會生成vs項目,打開該項目,因為我在Hololens上進行測試,所以設置項目為Realeas,x86,遠程計算機,輸入hololens的ip地址。