hololens自帶例程
HoloToolkit-Unity-v1.5.7.0自帶了一系列例程HoloToolkit-Unity-Tests-v1.5.7.0。
作者剛開始的時候沒有注意到,使用網上低版本的教程學了半天,到新版本又是一頭懵逼。
因此總結一下這些例程。
學會使用這些例程對入門有幫助的多,也免得網路上四處尋找資料。
HoloToolkit例程分為
1)Input
2)Sharing
3)SpatialMapping
4)SpatialSound
5)Utilities
總共五個型別,本文只介紹Input和SpatialMapping中的TapToPlace,因為作者目前也只用到這兩類。順帶介紹Utilities裡面的一些檔案。
第一部分:Input
1、BasicCursor:實現一個簡單的滑鼠效果。也是最基礎的專案。
圖1.1.1
2、Cursor:實現凝視物件跟沒有凝視物件的時候不同的滑鼠效果。
凝視物件的時候,效果如圖1.1.1,沒有凝視的時候,效果如圖1.2.1:
圖1.2.1
3、CursorWithFeedback:在識別到手的時候,滑鼠顯示為“手”狀
圖1.3.1
4、FocusedObjectKeywords:語音控制目標放大縮小
5、GazeEvents凝視左球時,右邊的球消失,凝視右邊的球時,光線變暗。
圖1.5.1
6、InputManagerTest設定了凝視與一些UI效果的互動
圖1.6.1
左側視窗為彈窗示例,點選圓柱體,則會彈出四個按鈕,點選空白後消失。
圖1.6.2
中間視窗分為三個部分,wait按鈕點選後,會呈現一個進度顯示
圖1.6.3
wait右邊三個按鈕在滑鼠經過的時候會變大。
下面的Popup按鈕點選後會出現一個彈窗,同時在彈窗出現期間,其他功能不可用。
圖1.6.4
右邊面板展示滑鼠在三維物體表面時,會跟隨表面曲面投影。如圖,滑鼠在斜面上也隨之斜角。
圖1.6.5
下邊面板的sphere與cube可以拖動。\
7、InputTapTest展示了凝視與非凝視狀態不同滑鼠效果,以及點選後目標變大的效果。
圖1.7.1
8、InteractiveMeshCursor展示了滑鼠的不同狀態,針對不同狀態,顯示三種不同的滑鼠,點狀、圓環狀、放大圓環狀。
圖1.8.1
滑鼠的狀態包括:
public enum CursorStateEnum
{
/// <summary>
/// Useful for releasing external override.
/// See <c>CursorStateEnum.Contextual</c>
/// </summary>
None = -1,
/// <summary>
/// Not IsHandVisible
/// </summary>
Observe,
/// <summary>
/// Not IsHandVisible AND not IsInputSourceDown AND TargetedObject exists
/// </summary>
ObserveHover,
/// <summary>
/// IsHandVisible AND not IsInputSourceDown AND TargetedObject is NULL
/// </summary>
Interact,
/// <summary>
/// IsHandVisible AND not IsInputSourceDown AND TargetedObject exists
/// </summary>
InteractHover,
/// <summary>
/// IsHandVisible AND IsInputSourceDown
/// </summary>
Select,
/// <summary>
/// Available for use by classes that extend Cursor.
/// No logic for setting Release state exists in the base Cursor class.
/// </summary>
Release,
/// <summary>
/// Allows for external override
/// </summary>
Contextual
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
9、KeywordManager在按鍵R、G、B或者語音說Red、Green、Blue的時候回改變球體成為對應顏色。
圖1.9.1
10、ManualCameraControl展示了手勢別滑鼠,在識別到手的時候,滑鼠會變成手狀
11、MicrophoneStream由立方體發出立體聲,通過wasQ四個鍵控制聲音的停止播放、開始錄製、儲存、開始播放。
12、OverrideFocusedObjectTest初始顯示HelloWorld,在凝視點選後變成Air tap worked and OverrideFocusedObject is null.
圖1.12.1
13、SelectedObjectKeywords開局自動產生指定數量的物體,如本例為3*3網格佈置的物體,物體在語音給出指令的時候改變狀態,分別為
Clear Selection,取消選擇狀態
Make Bigger,物體變大
Select Object,選擇物體,物體變成指定顏色,本例為紅色
Make Smaller,物體變小。
圖1.13.1
14、SpeechInputSource通過語音Red、Green、Blue控制凝視物件顏色。
第二部分
1、TapToPlace,實現空間識別,並且通過點選手動放置cube在空間合適的平面位置。