官方案例解讀1

1:首先,我們要有鼠標(biāo)篷就,鍵盤射亏,等輸入設(shè)備。在hololens中竭业,鼠標(biāo)就是你的光標(biāo)鸦泳,光表示跟隨你的頭部運(yùn)動的。你的tap click就是鼠標(biāo)的點(diǎn)擊永品。

官方案例鏈接

101 入門

在我們看來做鹰,光標(biāo)管理,輸入管理鼎姐。凝視管理钾麸,語音管理都是分開的。在這里 我們先定義一條射線炕桨,這條射線從頭部(camera發(fā)出)

如果他碰到了某個物體饭尝,那么光標(biāo)就停在他身上,且進(jìn)行一個始終向上的旋轉(zhuǎn)


在這個案例中献宫,沒有很多的功能钥平,只是一個入門案例,那么我們要實(shí)現(xiàn)的就是點(diǎn)擊一個物體姊途,他消失涉瘾。

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


那么這樣,只要我們執(zhí)行這個OnseleztZX這個方法贡茅,(類似發(fā)送消息)就能夠?qū)崿F(xiàn)點(diǎn)擊秘蛇。


然后開啟手勢識別器(_GestureRecognizer.StartCapturingGestures();)。注意顶考,如果我們不需要的話就應(yīng)該停掉(_GestureRecognizer.StopCapturingGestures();)赁还,既然是凝視手勢管理器,我們?nèi)稳恍枰趗pdate方法里面實(shí)現(xiàn)一個射線的基本功能驹沿,因為他沒有和cursor這個類相結(jié)合艘策。


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

210 凝視?

這節(jié)既然是凝視柬焕,那就和光標(biāo)相關(guān)了审残,我們主要是做一個光標(biāo)的反饋。

在hololens中斑举,光標(biāo)分類很普通的幾種:正常時候的光標(biāo)搅轿,按下的光標(biāo),抬起的光標(biāo)富玷,旋轉(zhuǎn)模型時候的光標(biāo)璧坟,移動模型時候的光標(biāo),拖拽模型時候的光標(biāo)赎懦,縮放模型時候的光標(biāo)雀鹃。

我們?nèi)稳恍枰粋€手勢管理器來實(shí)現(xiàn)我們的點(diǎn)擊功能


我們還需要一個凝視的管理器(GazeManager)來實(shí)現(xiàn)我們游標(biāo)正常的工作

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

游標(biāo)所能到達(dá)的最遠(yuǎn)的距離黎茎。

是否碰到物體

射線信息

碰到物體的位置

轉(zhuǎn)向?

我們可以調(diào)用其中的某些參數(shù),來實(shí)現(xiàn)一些功能当悔。


借來來時游標(biāo)管理類傅瞻,我們可以通過目前的一些狀態(tài)信息,第一通過狀態(tài)信息顯示或者不顯示當(dāng)前的光標(biāo)盲憎,第二嗅骄,通過生成銷毀的方法更新當(dāng)前的光標(biāo)(我們在手勢會講到)。例如


當(dāng)凝視管理器中的射線碰到某個物體的時候饼疙,我們才讓CursorOnHolograms顯示溺森。不然就不顯示。

當(dāng)然窑眯,最后我們要給他一個位置的肯定屏积。


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

?211 手勢

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

先定義一些基本的手勢

在Awake方法中訂閱手勢


我們還需要取消訂閱收拾


這些都是實(shí)現(xiàn)手勢的方法伸但,這里類似事件


假如實(shí)現(xiàn)一個導(dǎo)航手勢


這是原汁原味的寫法

如果你不清楚你當(dāng)前需要訂閱那種手勢肾请,你只需要將光標(biāo)定位到GestureRecognizer上,F(xiàn)12就可以看到所有你能夠訂閱的手勢更胖。在最后你能看到實(shí)現(xiàn)這些手勢的方法所用到的參數(shù)。這些參數(shù)都是有很重要意義的隔显。這里我們截中間的一部分圖


在這里很重要的一點(diǎn)是却妨,之前我們的凝視和點(diǎn)擊的實(shí)現(xiàn)用到的射線是兩個,但是其實(shí)看作是一個括眠。因此我們需要一個凝視的類(InteractibleManager)來管理彪标。那么凝視能做什么?當(dāng)光標(biāo)進(jìn)入的時候掷豺,物體發(fā)亮捞烟?跳動薄声?當(dāng)凝視退出的時候,物體不亮题画。不動默辨。我們采用類似點(diǎn)擊的方式來實(shí)現(xiàn)

首先我們定義兩個物體


一個是當(dāng)前的,一個是舊的苍息。這里的說法有兩種缩幸,第一,你先注視一個物體a竞思,然后又注視了一個物體b表谊,那么a就是下面的。b就是上面的盖喷,顯然a是舊的爆办。第二種是。你一直注視一個物體课梳。這個物體即使新物體也是舊物體距辆。


他在Update中的實(shí)現(xiàn)。這里的Interactible是一個穩(wěn)定用戶頭部光標(biāo)的類惦界。他的作用就是如此挑格。當(dāng)你的光標(biāo)注視這某個物體的時候,他發(fā)送一條消息給GzaeEnter沾歪。當(dāng)離開的時候給GazeExit發(fā)送一條消息漂彤。


當(dāng)然,你只要實(shí)現(xiàn)了GzaeEnter和Exit方法灾搏,不就實(shí)現(xiàn)了IFocusable這個接口嘛挫望。

當(dāng)然,我們還需要實(shí)時反饋光標(biāo)的各種形態(tài)狂窑。那么在凝視(GazeManager)的基礎(chǔ)上我們新加一個類(CursorFeedback),這個類控制光標(biāo)的各種反饋狀態(tài)媳板。

我們通過這個方法來每次實(shí)例化一個光標(biāo)

好了,到此為止了泉哈,在這里我們說了很多的基本功能蛉幸,但這些基本功能并沒有貼出他在實(shí)際應(yīng)用中和hololens的結(jié)合,我們將在后面的案例中詳細(xì)的說明丛晦。戳這里下載手勢資源包

?220 ?空間 聲音

?在使用聲音之前奕纫,我們需要在unity中設(shè)置一下他相關(guān)的屬性


這是一張3d聲音設(shè)置的屬性圖。

首先烫沙,我們還要在這里做一些基本的設(shè)置匹层,在Edit—>Audio里面


而在holokit中的空間聲音文件夾下有兩個UAudioManager和UAudioMiniManager腳本,這兩個腳本提供了一些基本的聲音的設(shè)置锌蓄,他還使用了holokit提供的差值的方法升筏。實(shí)現(xiàn)了聲音在空間的展示撑柔。當(dāng)然要想實(shí)現(xiàn)好的空間聲音的效果,你還需要在聲音的處理和優(yōu)化方面做一些工作您访。戳這里下載空間聲音所需的資源包铅忿,你會發(fā)現(xiàn)他是一個很有意思的案例。

?212 空間聲音

就當(dāng)做語音吧洋只,由于hololens內(nèi)置的語音庫只能支持英文辆沦,不支持中文,所以這個方面并不是很火识虚,而且由于他實(shí)現(xiàn)的方式簡單肢扯。所以我們只是說幾種實(shí)現(xiàn)的方式而已。

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


通過switch方式蔚晨,將我們要執(zhí)行的情況列舉出來。然后添加SpeechInputHandler腳本肛循,


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


他也配合了按鍵的實(shí)現(xiàn)铭腕。

第二種:我們先建立一個腳本。將每一種要實(shí)現(xiàn)語音做成一種方法多糠。

通過

這個腳本展示出來累舷,而上面的KeyWord就是你要執(zhí)行的語音。首字母大寫夹孔。由于我們并沒有關(guān)聯(lián)所以我們還需要一個

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

第三種方法:

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


他的計算速度是最好的。

我們還有一個很主要的功能搭伤,就是語音聽寫只怎。注意,由于某些原因怜俐,語音識別和聽寫是不能同事開啟的身堡。關(guān)于語音聽寫,我們會在后面的項目中具體說到拍鲤。

?230 空間掃描

對贴谎,你沒看錯,這個已經(jīng)很詳細(xì)了季稳。用

預(yù)制體和他自帶的腳本就很容易實(shí)現(xiàn)赴精。在這里舉一個很小的例子。增加這個預(yù)制绞幌,實(shí)現(xiàn)點(diǎn)擊的時候掉落一個小球。你會發(fā)現(xiàn)一忱,球會掉落到桌面或者地上莲蜘。是的谭确。關(guān)于空間掃描這里就不細(xì)說了。他涉及到空間物體識別票渠,空間物體方式逐哈,空間掃描功能,空間掃描理解问顷,錨點(diǎn)昂秃,共享,空間聲音杜窄。這個在后面的項目中會具體的講到肠骆。如果你迫不及待,請參考官方案例空間掃描官方案例戳這里下載所需的資源包塞耕。

? 240共享假全息圖

戳這里下載所需的資源包蚀腿。首先你要有兩臺以上的hololens設(shè)備。其次扫外,你需要在python和Socket photon的知識莉钙。

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


原文鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末磁玉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子驾讲,更是在濱河造成了極大的恐慌蚊伞,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝎毡,死亡現(xiàn)場離奇詭異厚柳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)沐兵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門别垮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人扎谎,你說我怎么就攤上這事碳想。” “怎么了毁靶?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵胧奔,是天一觀的道長。 經(jīng)常有香客問我预吆,道長龙填,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮岩遗,結(jié)果婚禮上扇商,老公的妹妹穿的比我還像新娘。我一直安慰自己宿礁,他們只是感情好案铺,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梆靖,像睡著了一般控汉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上返吻,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天姑子,我揣著相機(jī)與錄音,去河邊找鬼思喊。 笑死壁酬,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的恨课。 我是一名探鬼主播舆乔,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼剂公!你這毒婦竟也來了希俩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤纲辽,失蹤者是張志新(化名)和其女友劉穎颜武,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拖吼,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鳞上,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了吊档。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篙议。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怠硼,靈堂內(nèi)的尸體忽然破棺而出鬼贱,到底是詐尸還是另有隱情,我是刑警寧澤香璃,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布这难,位于F島的核電站,受9級特大地震影響葡秒,放射性物質(zhì)發(fā)生泄漏姻乓。R本人自食惡果不足惜嵌溢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糖权。 院中可真熱鬧堵腹,春花似錦、人聲如沸星澳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽禁偎。三九已至,卻和暖如春阀坏,著一層夾襖步出監(jiān)牢的瞬間如暖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工忌堂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盒至,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓士修,卻偏偏與公主長得像枷遂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子棋嘲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容