官方案例解讀1

1:首先,我們要有鼠標,鍵盤,等輸入設備。在hololens中,鼠標就是你的光標,光表示跟隨你的頭部運動的。你的tap click就是鼠標的點擊。

官方案例鏈接

101 入門

在我們看來,光標管理,輸入管理。凝視管理,語音管理都是分開的。在這里 我們先定義一條射線,這條射線從頭部(camera發出)

如果他碰到了某個物體,那么光標就停在他身上,且進行一個始終向上的旋轉


在這個案例中,沒有很多的功能,只是一個入門案例,那么我們要實現的就是點擊一個物體,他消失。

所以我們需要一個凝視手勢管理器 我們首先需要建立一個手勢識別器(_GestureRecognizer = new GestureRecognizer();)實現點擊功能(_GestureRecognizer.TappedEvent)在這里我們使用匿名函數來實現這個點擊的功能,他有點類似于Addlistener()=>xxx();如果當前有凝視對象的話,讓他執行我們需要的方法。


那么這樣,只要我們執行這個OnseleztZX這個方法,(類似發送消息)就能夠實現點擊。


然后開啟手勢識別器(_GestureRecognizer.StartCapturingGestures();)。注意,如果我們不需要的話就應該停掉(_GestureRecognizer.StopCapturingGestures();),既然是凝視手勢管理器,我們任然需要在update方法里面實現一個射線的基本功能,因為他沒有和cursor這個類相結合。


這樣。就可以了。戳這里下載資源包

210 凝視?

這節既然是凝視,那就和光標相關了,我們主要是做一個光標的反饋。

在hololens中,光標分類很普通的幾種:正常時候的光標,按下的光標,抬起的光標,旋轉模型時候的光標,移動模型時候的光標,拖拽模型時候的光標,縮放模型時候的光標。

我們任然需要一個手勢管理器來實現我們的點擊功能


我們還需要一個凝視的管理器(GazeManager)來實現我們游標正常的工作

?我們先定義一些基本的屬性,來增加他的可拓展性(基本的)。

游標所能到達的最遠的距離。

是否碰到物體

射線信息

碰到物體的位置

轉向?

我們可以調用其中的某些參數,來實現一些功能。


借來來時游標管理類,我們可以通過目前的一些狀態信息,第一通過狀態信息顯示或者不顯示當前的光標,第二,通過生成銷毀的方法更新當前的光標(我們在手勢會講到)。例如


當凝視管理器中的射線碰到某個物體的時候,我們才讓CursorOnHolograms顯示。不然就不顯示。

當然,最后我們要給他一個位置的肯定。


這樣就可以了戳這里下載資源包

?211 手勢

既然是手勢,我們先頂一個手勢管理的類(GestureManager)

先定義一些基本的手勢

在Awake方法中訂閱手勢


我們還需要取消訂閱收拾


這些都是實現手勢的方法,這里類似事件


假如實現一個導航手勢


這是原汁原味的寫法

如果你不清楚你當前需要訂閱那種手勢,你只需要將光標定位到GestureRecognizer上,F12就可以看到所有你能夠訂閱的手勢。在最后你能看到實現這些手勢的方法所用到的參數。這些參數都是有很重要意義的。這里我們截中間的一部分圖


在這里很重要的一點是,之前我們的凝視和點擊的實現用到的射線是兩個,但是其實看作是一個。因此我們需要一個凝視的類(InteractibleManager)來管理。那么凝視能做什么?當光標進入的時候,物體發亮?跳動?當凝視退出的時候,物體不亮。不動。我們采用類似點擊的方式來實現

首先我們定義兩個物體


一個是當前的,一個是舊的。這里的說法有兩種,第一,你先注視一個物體a,然后又注視了一個物體b,那么a就是下面的。b就是上面的,顯然a是舊的。第二種是。你一直注視一個物體。這個物體即使新物體也是舊物體。


他在Update中的實現。這里的Interactible是一個穩定用戶頭部光標的類。他的作用就是如此。當你的光標注視這某個物體的時候,他發送一條消息給GzaeEnter。當離開的時候給GazeExit發送一條消息。


當然,你只要實現了GzaeEnter和Exit方法,不就實現了IFocusable這個接口嘛。

當然,我們還需要實時反饋光標的各種形態。那么在凝視(GazeManager)的基礎上我們新加一個類(CursorFeedback),這個類控制光標的各種反饋狀態。

我們通過這個方法來每次實例化一個光標

好了,到此為止了,在這里我們說了很多的基本功能,但這些基本功能并沒有貼出他在實際應用中和hololens的結合,我們將在后面的案例中詳細的說明。戳這里下載手勢資源包

?220 ?空間 聲音

?在使用聲音之前,我們需要在unity中設置一下他相關的屬性


這是一張3d聲音設置的屬性圖。

首先,我們還要在這里做一些基本的設置,在Edit—>Audio里面


而在holokit中的空間聲音文件夾下有兩個UAudioManager和UAudioMiniManager腳本,這兩個腳本提供了一些基本的聲音的設置,他還使用了holokit提供的差值的方法。實現了聲音在空間的展示。當然要想實現好的空間聲音的效果,你還需要在聲音的處理和優化方面做一些工作。戳這里下載空間聲音所需的資源包,你會發現他是一個很有意思的案例。

?212 空間聲音

就當做語音吧,由于hololens內置的語音庫只能支持英文,不支持中文,所以這個方面并不是很火,而且由于他實現的方式簡單。所以我們只是說幾種實現的方式而已。

第一種:我們建一個腳本,將文字轉化成語音(大寫)


通過switch方式,將我們要執行的情況列舉出來。然后添加SpeechInputHandler腳本,


最后我們在這里做一個總結(另外一個腳本)


他也配合了按鍵的實現。

第二種:我們先建立一個腳本。將每一種要實現語音做成一種方法。

通過

這個腳本展示出來,而上面的KeyWord就是你要執行的語音。首字母大寫。由于我們并沒有關聯所以我們還需要一個

將他掛在語音代碼的那個物體上作為接收。

第三種方法:

我們在這里添加所需要的語音執行的方法


他的計算速度是最好的。

我們還有一個很主要的功能,就是語音聽寫。注意,由于某些原因,語音識別和聽寫是不能同事開啟的。關于語音聽寫,我們會在后面的項目中具體說到。

?230 空間掃描

對,你沒看錯,這個已經很詳細了。用

預制體和他自帶的腳本就很容易實現。在這里舉一個很小的例子。增加這個預制,實現點擊的時候掉落一個小球。你會發現,球會掉落到桌面或者地上。是的。關于空間掃描這里就不細說了。他涉及到空間物體識別,空間物體方式,空間掃描功能,空間掃描理解,錨點,共享,空間聲音。這個在后面的項目中會具體的講到。如果你迫不及待,請參考官方案例空間掃描官方案例戳這里下載所需的資源包。

? 240共享假全息圖

戳這里下載所需的資源包。首先你要有兩臺以上的hololens設備。其次,你需要在python和Socket photon的知識。

這里說一下為什么是假全息圖呢?這種東西和一些市面上賣的假的羊肉是一樣的。不服看這里


原文鏈接

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,559評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,442評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,835評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,581評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,922評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,096評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,639評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,374評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,591評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,789評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,196評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,524評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,322評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,554評論 2 379

推薦閱讀更多精彩內容