來源:映維網 作者 黃顏
Oculus日前為開發者帶來了「Designing for Hands」設計指南,用以幫助開發者利用Hand Tracking(手部追蹤)功能構建體驗。團隊同時利用一系列的博文來介紹相關的原則技巧和最佳實踐。下面映維網進行了相應的整理:
交互
在設計交互時,Oculus已經嘗試了多種條件。根據你設計的體驗類型,「Interaction Options(交互選項)」頁面列出了你可能會遇到的注意事項。「Interaction Primitives(交互原語)」頁面則根據Oculus實驗的內容列出了最適合特定任務的選項。
1. 交互選項
最佳體驗結合了多種交互方法,可為任何給定的任務或活動提供正確的方法。
下面Oculus概述了多個供你參考的選項。
1.1 目標距離
Near-Field Components:這個組件位於手臂觸及範圍之內。使用直接交互時,空間應保留給最重要的組件或你最頻繁交互的組件。
Far-Field Components:這個組件位於手臂觸及範圍之外。要與它們進行交互,你需要在組件附近使用光線投射或移動到其附近,從而將其帶入近場。
註:近場和遠場適合一系列的體驗。
1.2 交互方法
直接交互:對於直接交互,雙手與組件進行交互,你可以伸出手指來「戳按」按鈕,或者用手「捏抓」對象。這種方法簡單易學,但會將你限制在一臂範圍之內。
光線投射:光線投射類似於你所熟悉的Touch控制器交互方法。這種方法可用於近場組件和遠場組件。因為無論目標距離如何,它都能允許用戶保持中性的身體姿態。
1.3 選擇方法
戳按:戳按是一種直接交互,你可以伸出手指並朝對象或組件移動,直到在空間中與它們「碰撞」。但這只能用於近場對象,缺少觸覺反饋可能意味著需要指示符和其他反饋進行補償。
捏抓:捏抓可以與直接交互和光線投射同時使用。瞄準光線或將手移向目標,然後捏抓對象。拇指和食指的觸碰感覺可以幫助彌補對象或組件的觸覺反饋不足。
註:使用這一方法可以在近場組件和遠場組件之間實現更無縫的過渡,這樣用戶就可以捏抓並與任意距離的目標進行交互。
1.4 手與輸出的關係
絕對運動:對於絕對運動,手和輸出之間存在1:1的關係。輸出可以包括遊標,對象和界面元素。例如,手每移動1度,光標就會朝所述方向移動1度。這感覺非常直觀,並且能夠反映出物理對象的行為方式,但操作起來可能很累,並且常常限制了交互的可能性。
相對運動:對於相對運動,你可以調整手部運動與輸出運動之間的距離比。例如,手每移動1度,光標可以朝所述方向移動3度。你可以降低比例以提高精度,或增加比例以提高效率。
註:要獲得更高的效率,你可以使用可變比率。手移動得越快,輸出的移動速度將呈指數級增長。另一種選擇是基於加速度的比率,類似於使用遙感。如果用戶將手保持在最左邊位置並維持在那裡,則對象將繼續沿所述方向移動。但是,將對象放置在所需位置方面將變得更加困難,所以不建議需要精確放置目標精的體驗中。
1. 5系統控制選項
抽象手勢:抽象手勢是特定的手勢動作,可用於導航系統和操縱對象。你可能已經從科幻影視作品中看過未來版本。儘管它們對於提供抽象功能非常有用,但抽象手勢存在一定的缺點:
抽象手勢難以學習,記憶和跟蹤選擇用戶不會意外執行的手勢可能非常困難,並可能會導致意外觸發請務必注意手勢在不同文化背景中的含義,以免出現不當或褻瀆行為。
我們建議你謹慎使用抽象手勢,並轉而應使用模擬控制項來操縱大多數虛擬界面和對象及與之交互。
Oculus的「System Gesture(系統手勢)」是團隊在系統中實現的唯一抽象手勢。
模擬控制:使用模擬控制時,手部運動對輸出有明顯的影響。這會令交互感覺更為敏感。我們很容易理解:當你向右移動手部時,光標,對象或元素就會向右移動。光線投射和直接交互都是模擬控制的例子。
所述的交互選項根據情況以不同的方式一起工作。例如,如果目標對象在遠場中,則唯一可用的交互方法是光線投射(除非將對象帶入近場)。或者,對用於與近場對象的直接戳按交互,手部-輸出關係只有唯一的選擇。
下表列出了適用於不同情況的選項。
2. 交互原語
正如簡介頁面所述,雙手必須允許3個交互原語或基本任務成為有效的輸入方式。
根據你的體驗,上述某些交互選項可能會比其他更為有效。
2.1 選擇
你可以選擇兩種類型:2D面板元素和3D對象。戳按對按鈕或面板選擇效果很好。但如果你要拾取虛擬對象,Oculus發現拇指和中指的捏抓效果很好,因為它可以補償虛擬對象無法觸覺反饋的這一事實。你既可以用直接交互,也可以選擇光線投射。
2.2 移動
如果目標在一臂範圍之內,則可以直接移動目標。光線投射可以在整個運動過程中幫助身體保持中性的姿態。
絕對運動可以讓你感覺更加自然和輕鬆,因為這類似於你在現實生活中移動和放置對象的方式。為了獲得更高的效率,你可以使用相對運動輕鬆地移動任意距離的對象或將其放置在精確的位置。
2.3 旋轉
如果你正在尋找一種直觀的旋轉方法,同時又不太擔心精度,則可以令對象在握持時跟隨用戶手部旋轉。
一種更精確的旋轉方法是將對象附接到2D表面,如桌子或牆壁。這樣可以限制對象的自由度,使其只能在一個軸上旋轉,從而更易於操作。如果是2D對象,則可以通過使對象自動旋轉並面對用戶,從而以類似的方式限制其自由度。
2.4 調整大小
均勻縮放是調整對象大小的最簡單方法,而不說嘗試垂直或水平拉伸。
與旋轉類似,一種簡單的尺寸調整方法是將對象附接到二維表面,並使其自行對齊和縮放。但這限制了用戶的自由度,因為對象的大小是根據表面的大小自動確定。
要定義大小,你可以用兩隻手進行調整。你可以用一隻手捏抓對象,然後另一隻手拉伸或壓縮。但Oculus團隊發現有存在問題,因為不是人人都擁有一雙靈巧的雙手,或者第二隻手可能已經佔用。另外,這種方法增加了雙手交叉的可能性,從而導致遮擋。
手柄:另一種操作方法是將手柄附加到對象身上。這提供了分別控制移動,旋轉和調整大小的單獨手柄。用戶捏抓(直接交互或通過光線投射)以選擇所需的控制項,然後執行交互。
這允許用戶輕鬆地操縱對象,不用擔心對象的大小或距離如何。分開的移動,旋轉和縮放同時可以支持你精確控制每個方面,並允許用戶完善對象的位置並更改其旋轉,無需在空間中四處移動。但是,必須分別執行每個操作任務相當繁瑣,尤其是不需要這種精度的情況下。
原文連結:https://yivian.com/news/72294.html