Kinect Window s SDK 开发:手势识别 像点击(clicks)是GUI 平台的核心,轻点(taps)是触摸平台的核心那样,手势(gestures)是Kinect 应用程序的核心。和图形用户界面中的数字交互不同,手势是现实生活中存在的动作。如果没有电脑我们就不需要鼠标,但是没了 Kinect,手势依然存在。从另一方面讲,手势是日常生活中人与人之间相互交流的一部分。手势能够增强演讲的说服力,能够用来强调和传递情感。像挥手(waving)或者指点(pointing)这些手势都是某种无声的演讲。 Kinect 应用程序的设计和开发者的任务就是将这些现实生活中存在的手势映射到计算机交互中去以传达人的想法。尝试从鼠标或触摸式的GUI 设计移植基于手势的自然交互界面要做很多工作。借鉴过去 30 多年来对于这一概念的研究,以及从一些 Kinect for Xbox的体感游戏中获取一些设计理念,计算机工程师和交互设计师一起为 Kinect 创建了一系列新的手势库。 本文将会介绍用户体验的一些知识,并讨论如何将手势应用到 Kinect 应用程序中。我们将展示 Kinect 如何作为自然交互界面(Natural User Interface)的人机交互模型的一部分。我们将讨论一些具体的使用Kinect 来进行手势识别及交互的例子。更重要的是,将会展示一些已经作为 Kinect 手势识别库中的手势。 1. 什么是手势 在许多不同的学科中,手势(gesture)有着其独特的含义,可能这些含义之间有某些异同。在艺术领域,手势被用来传达舞蹈中最富表现力的部分,特别是在亚洲舞蹈艺术中,手势被作为某些宗教符号或者象征。在交互设计领域,在基于触摸的自然交互界面中手势和操控有很大区别。 以上这些说明手势在不同的学科领域都有自己独特的含义。在学术领域都试图对手势定义一个抽象的概念。在用户体验设计领域使用最广泛的关于手势的定义实在 Eric Hulteen 和 Gord Kurtenbach 1990 年发表的一篇名为人机交互中的手势(Gestures in Human-Computer Communication),定义如下:”手势是身体的运动,他包含一些信息。挥手道别是一种手势。敲击键盘不是手势,因为用手指的运动去敲击按键没有被观察,也不重要,他只表达的键盘被按下这一动作。(A gesture is a motion of the body that contains information. Waving goodbye is a gesture. Pressing a key on a keyboard is not a gesture because the motion of a finger on its way to hitting a key is n...