譯文 | HoloLens的手勢交互指南
本篇文章是微軟官網(wǎng)上對HoloLens手勢交互的說明,作者做了翻譯,并分享給大家~
用戶可以通過手勢在混合現(xiàn)實(shí)的環(huán)境下完成一些指令和操作。HoloLens的交互方式是用目光凝視去定位,然后用手勢或者聲音來操控任何一個被定位到的目標(biāo)。
雖然手勢無法在空間中準(zhǔn)確地進(jìn)行定位,但它的優(yōu)點(diǎn)是能讓用戶在戴上HoloLens頭顯后快速地進(jìn)行操作,無需再拿其他裝備。
一、凝視與行動(Gaze-and-commit)
手勢交互的定位機(jī)制是凝視。凝視和空中點(diǎn)擊(Air tap)結(jié)合起來構(gòu)成了凝視與行動這種交互方式。
還有一種替代的交互方式是基于手柄(motion controller)的指向與行動(Point-and-commit)。
在HoloLens和其他沉浸式頭顯上運(yùn)行的APP需要支持上述兩種交互行為,讓用戶去選擇自己要用何種方式進(jìn)行輸入。
二、HoloLens的兩種核心手勢
HoloLens目前能夠識別兩種核心手勢——空中點(diǎn)擊和Home手勢。這兩個核心手勢是開發(fā)者可以獲取到的最初級的空間輸入單位,為用戶進(jìn)行后續(xù)更多樣的操作打下了基礎(chǔ)。
1. 空中點(diǎn)擊(Air tap)
空中點(diǎn)擊是一種需要將手直立并進(jìn)行點(diǎn)擊的手勢,與鼠標(biāo)的點(diǎn)選比較相似。
這個手勢在許多HoloLens應(yīng)用中等同于“點(diǎn)擊”,當(dāng)用戶通過凝視確定目標(biāo)后,可以通過Air tap進(jìn)行點(diǎn)擊。只要學(xué)會這個手勢就可以廣泛地在各種應(yīng)用中使用。
其他表示“點(diǎn)擊”的交互方式還有按下HoloLens clicker上的按鈕,或者用嘴說出“Select”。
Air tap是一個獨(dú)立的手勢。雖然官方不是很推薦,但是也可以將獨(dú)立的核心手勢組合成新的、獨(dú)立的交互行為,例如賦予連續(xù)兩次空中點(diǎn)擊一個新的含義。
2. Home手勢(Bloom)
開花的手勢在HoloLens中代表“home”,除此之外不賦予它其他含義。這個手勢在系統(tǒng)中表示返回開始界面,和Windows的開始按鍵或者Xbox的主頁按鍵含義相同。
Bloom手勢的使用方式是伸出手,掌心向上,將手指聚在一起,然后將手指張開。此外,也可以通過說“Hey Cortana, Go Home”來返回主頁。
三、復(fù)合手勢
App能識別出的其實(shí)不止“點(diǎn)擊”這個獨(dú)立的行為。通過將點(diǎn)擊、保持、釋放和手的位移進(jìn)行結(jié)合,我們可以表現(xiàn)出含義更復(fù)雜的復(fù)合手勢。
這些高級復(fù)合手勢是以初級空間輸入單位(Air tap和Bloom)為基礎(chǔ)的。
1. 點(diǎn)擊并保持(Tap and hold)
保持(Hold)就是指保持住Air tap中手指向下的姿勢。點(diǎn)擊加保持的組合為后續(xù)更復(fù)雜的操作提供了基礎(chǔ),例如需要胳膊移動的點(diǎn)擊并拖拽(Click and drag)。當(dāng)用戶想要拿起某個物品而不是打開它時就可以進(jìn)行這樣的交互。
此外,由于用戶有可能在進(jìn)行這些手勢交互的過程中放松手指導(dǎo)致姿勢變形,有時需要對用戶進(jìn)行提示。
2. 操控(Manipulation)
操控手勢可以用于移動、縮放或旋轉(zhuǎn)一個全息影像,適用于用戶想要全息影像和手的操作1:1對應(yīng)的情況,一個例子就是可以讓用戶進(jìn)行1:1的繪畫等活動。
操控手勢的初始目標(biāo)定位依賴于凝視或設(shè)備指向。一旦點(diǎn)擊并保持(Tap and hold)的手勢被觸發(fā),就可以用手勢對已選中的物體直接用手進(jìn)行操控。對目標(biāo)的定位不再依靠凝視,讓用戶在行動時可以自由地查看四周。
3. 導(dǎo)航(Navigation)
導(dǎo)航手勢就像一個虛擬的操縱桿,可以用于UI組件上,例如在縱向菜單上進(jìn)行的導(dǎo)航。
通過點(diǎn)擊并保持開始,然后在一個腦補(bǔ)的3D正方體內(nèi),以起始點(diǎn)為中心移動你的手??梢詫⑹盅刂鳻YZ三個坐標(biāo)軸移動,0點(diǎn)就是起始點(diǎn)。
導(dǎo)航手勢可以用于基于速度連續(xù)滾動或縮放操作,與2D界面中按住鼠標(biāo)滾輪并向上或向下的操作相似。
有移動軌道(如滾軸)的導(dǎo)航意味著可以在某個確定的方向上移動,直到這個方向上限制的邊界。這種做法只在APP有大于一個移動方向的時候有用。
舉個例子,一款A(yù)PP需要識別X軸和Y軸上的移動,但同時在X軸的移動需要移動軌道。在這種情況下,如果導(dǎo)航手勢已處于X軸的軌道中,就算手在Y軸上也產(chǎn)生了位移,也只會識別在X軸上的位移。
在2D的APP中,用戶可以用縱向的導(dǎo)航手勢去滾動、縮放或拖動。HoloLens虛擬世界的手勢交互會模仿這樣的形式。
用戶可以通過APP上方的觸發(fā)欄去選擇要獲取這三種交互結(jié)果中的哪一種,通過點(diǎn)擊選擇或者直接說出“<Scroll/Drag/Zoom> Tool”。
四、手勢識別
HoloLens通過跟蹤設(shè)備可以看到的單手或雙手進(jìn)行手勢識別。
當(dāng)手處于準(zhǔn)備狀態(tài)(Air tap的手指向上狀態(tài))或點(diǎn)擊狀態(tài)(即Air tap的手指壓下狀態(tài))時,HoloLens可以進(jìn)行識別,其余手勢的姿態(tài)會被忽略。
我們可以獲取到每只HoloLens檢測到的手的位置及點(diǎn)擊狀態(tài)。當(dāng)手靠近可識別范圍的邊界時,設(shè)備會告知越界的方向,開發(fā)者可以展示給用戶以便他們明白要把手放回到HoloLens可以檢測到的范圍內(nèi)。
五、手勢的識別范圍
在HoloLens中,手勢必須放在相機(jī)能夠準(zhǔn)確識別的范圍內(nèi)進(jìn)行(大致是從脖子到腰與兩肩之間的范圍)。
我們需要訓(xùn)練用戶在這一范圍內(nèi)進(jìn)行操作,既能提高識別的準(zhǔn)確率,也能讓用戶在使用產(chǎn)品時更舒適(剛開始許多用戶會認(rèn)為用手進(jìn)行交互時,必須要將手放在HoloLens的視野范圍內(nèi),因此會刻意地將手舉高進(jìn)行交互,這樣做會很難受)。
此外,進(jìn)行連續(xù)的手勢交互時,可能會出現(xiàn)用戶在手勢操作中就將手指移出可識別范圍的情況(例如將一個物體拖拽平移),這會導(dǎo)致無法達(dá)到用戶預(yù)期的結(jié)果。
關(guān)于這部分主要有三件事需要我們注意:
- 要引導(dǎo)用戶明白手勢識別的范圍和大致邊界(HoloLens會在初始setup中就教會用戶);
- 在APP內(nèi),應(yīng)在用戶的手勢靠近或超過可識別范圍時進(jìn)行提醒。越界后手勢中丟失的部分可能會導(dǎo)致無法令人滿意的結(jié)果。HoloLens要為這種提示做一個好的示范(通過視覺形式在屏幕中央指出,用戶在哪個方向、哪條邊界超出了界限);
- 要把超過邊界帶來的影響最小化??偟膩碚f,這就意味著要使手勢交互的內(nèi)容在進(jìn)入邊界時停止。例如,用戶在移動某個物體時,當(dāng)進(jìn)入邊界后這次移動就應(yīng)該停止。用戶可能會略感疑惑,但是可以很快就意識到邊界的存在,同時不必在每次接觸到邊界時還要重頭再來。
原文文檔:https://docs.microsoft.com/zh-cn/windows/mixed-reality/gestures
本文由 @魚丸子 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自?Unsplash ,基于 CC0 協(xié)議
- 目前還沒評論,等你發(fā)揮!