左上:單手張開前後推移
左下:單手握拳左右移動
右上:雙手握拳合併打開
右下:單手張開左右移動
手勢的分類
天生就會
Innage Gesture:
• Pointing to aim 指向目標
• Grabbing to pick up 抓取
• Pushing to select 推
學習 - 要教使用者 & 給予提示
Learned gestures
• Waving to engage 揮手
• Making a specific pose to cancel an action 做特定的姿勢取消動作
靜態
Static gesture
• OK 文化不同手勢代表意義也可能大相逕庭 (那中指呢......)
動態 - 已定義的動作允許用戶直接操控物件或持續接收反饋
Dynamic gesture
• Pressing to select 按?
• Gripping to move 抓取(握拳) 移動, 像是拖曳
持續
Continuous gesture
• 當用戶撿起一樣虛擬物品 or 整個移動身體
手勢互動設計
● 很快就能學會的基本手勢
● 學會之後也能精準執行
● 不要有用起來會覺得不舒服的姿勢
● 承上,應用程式要能即時&持續的反饋
讓使用者去嘗試某種特定的姿勢 (e.g.愚蠢的姿勢,富有遊戲性)
因為遊戲性會讓人想再挑戰,但如果是設計使用UI就不可以用這種方式,只會有受挫的感覺。
Determine user intent and engagement
判斷用戶意圖與參與(?)
● 允許手勢啟用互動或表達其他輸入裝置做不到的事
● 別忘了當手勢失敗或取消時要適時地提供回饋
● 忽略自然的肢體動作(如:抓癢、打噴嚏...等)
● 曲解自然的肢體動作變成預定的手勢 (要檢查是否有此可能?)
Design for variability of input
輸入的可變性設計
最好一定要給User明確的手勢提示
讓手勢明確符合User的任務。
例如往左滑動,內容也應該向左移動。
Design for complete gesture sets
設計完整的手勢組合
DON'T - 揮動整隻手結果內容只有動一小部分,很奇怪喔。
DON'T - 抽象的身體動作與任務本身沒有關係,難以學習與記憶。
DON'T - 別設計超過6個以上的手勢。
DON'T - 別設計模稜兩可的手勢卻有不同的定義。
DON'T - 別讓User在單手與雙手之間來回切換使用。
使用大、容易分辨的重要動作,低頻率的行為(?)
設計時要考慮左右撇子都夠使用的方式。
雙手的手勢最好可以對稱(e.g. Zooming)因為容易執行也好記
Teach gestures and enable discoverability
告訴User 使用手勢的導引方式
● 快速教學
● 在互動中有手勢狀態的提示
● 視覺線索或提示
● 靜態圖像
● 動畫
● 訊息或通知
Be aware of technical barriers
必須要知道技術的侷限性
動作 ● 保持手在身體的旁邊會比較容易被辨識 (如果與身體重疊會被混淆)
速度 ● Kinect 能夠追蹤骨架的速度最高是 30 FPS
視點 ● 確保感應器能夠追蹤到手勢,避免User努力了老半天還是感應不到。
如手舉超過頭頂之後就消失了!? (正常來說應該不會啦)
可靠性 ● 當User面對感應器時,骨架追蹤是目前最穩定的方式。
(有可以只追蹤坐著時的骨架方法嗎?)
考慮User的實際物理高度(身高嘛!?)
成人與小孩的動作與能夠活動的範圍(手臂長度所能企及的地方)也不同。