最後來看一下如何辨識Gesture。Gesture本身的定義有點廣,幾乎非語言的肢體表達都可以算是。參考
Human Interface Guidelines,它把Gesture分成三大類:
1. Static Gestures:也就是Potures,一個靜態的姿勢,例如user擺出T字型。
2. Continuous Gestures:只要user在Kinect前就一直追蹤。
3. Dynamic Gesture:基本上是一個動作,可能包含了方向、經過時間等等因素,例如Swipe手勢。
可以想像,有無數種Gesture的可能,也就是說我們沒辦法開發出一個或有限個辨識器來滿足每個應用程式的需求。因此在我們的extensions裡面,先做出一個GestureRecognizer辨識器的雛形,以及一個Manger來管理所有的GestureRecognizer,然後試著開發出一個Static與一個Dynamic Gesture Recognizer,往後只要依循同一個開發模式,慢慢加入新的辨識器,這個extensions就會越來越強大,而每個應用程式在使用不同的辨識器的時候做法都一樣,很輕易可以達到程式碼重複使用的目的。Continuous Gestures因為只是一直的追蹤,暫時先不納入我們的考量。