已转至www.kinectutorial.com




开篇

微软的Kinect非常成功地将全身体感游戏平台带给了公众。这套系统包含一个PrimeSense公司的3D传感解决方案,4个麦克风组成的超炫阵列,运行在XBOX上的语音识别算法和顶级计算机视觉算法。除了硬件和算法,微软游戏工作室还做了杰出的工作来引入全新的用户体验,这些体验可以在《Kinect大冒险》,《Kinect欢乐实验室》中的全新交互模型(比如游戏Air Band)中看到。

但是,抛开几个成功故事,比如Kinect运动会,GunStringer, Halfbrick的《水果忍者Kinect版》和Harmonix的《舞动全身》,目前上市的大部分Kinect游戏都差强人意。看起来体感游戏最多只能提供非常休闲的体验。在某些情况下,似乎是在任天堂Wii产品的基础上倒退了一步。

当然,这一代的技术有它自身的限制,比如视场角(FOV)有限,低于手指的分辨率。但是,其输入保真度相比之前的其它任何技术都是一个巨大的进步。

直到最近,游戏控制器的自由度都是预先设定好的,并不在游戏设计者的控制范围内(当然Harmonix的Guitar Hero和Rock Band是个例外)。游戏主机制造商,PC硬件提供商和操作系统(比如,如果你用Windows的机器,你得假定一个键盘和一个双键的滚轮鼠标)决定了控制器。换句话说,无限的自由度不仅只是一个美好愿望,定义这样一个成功的全新控制模式还需要投入大量的设计和研究工作(想想PC上的所有第一人称射击游戏都是怎样最终变成几乎是纯键盘鼠标操作模式的)。

回到80年代,Atari2600带有一个按键和一个8方向的摇杆,这种输入方式就定义得非常明确,也易于玩家和我们这些人操作。NES则加了更多的按键,来满足玩家对功能无穷无尽的需求。最新一代XBOX和PlayStation的控制器带有2个模拟摇杆,1个D-Pad方向键,4个动作键和4个触发键,这是设计和人类工程学的杰作。如果能完成足够的练习,你将获得很好的操控水准,甚至可能超过那些只能在专业市场才能看到的或者军用的设备。多数年轻人用来在虚拟战场飞翔时使用的摇杆要比F16战机上使用的还先进很多年!

                                            

这种变革的不利之处在于,它把很多人性都忽略了。那些没有兴趣花必要的时间去掌握所有按键和摇杆的玩家跟那些愿意去做的并不一样。我们分别称这两种人为“玩家”和“休闲类玩家”。第一次体验Sony PS Move控制器之后,我就尝试将它和Kinect对比,并得出两个主要的结论:“Move的优点在于你用来指示方向的手指总是有个按钮可以按,但是,它的缺点却来自多余的所有按键---WTF!?”

                                                     

没错,现在我老了,我没有耐心去学习该按些什么---这对我来说太多了。我只是狂按按键直到看到一些东西。但我当然不同意就这样被踢出玩家俱乐部!

GUI革新的一个方面就是使显示变得“柔软”。这意味着应用程序可以根据自身状态来改变显示,在任意时间都能反映最有用的控件。模拟机械计量表的对比度可能比LCD要好,但能动态改变显示内容的好处使得这种牺牲是值得的。NUI(Nature User Interface)方向的体感接口正在“软化”输入设备。你可以创造一个最适合当前应用程序的虚拟控制器。比如当你需要开车的时候,你有一个方向盘,当你需要切割的时候,你有一把剑(当然,切水果而已,我们要制造的是沙拉不是战争!)

回到主题,我相信完全有可能创造出灵敏的具有挑战性的体感游戏,而且是真正好玩的游戏,不只是“party模式”。

很多人将体感控制想象成需要用户记住很多复杂动作的一种接口,不同的动作被检测到后会触发一些操作。这样,体感动作岂不是简单地成为了控制器不同按键的复杂的全身编码?按我的品味这并不好玩。我更喜欢体感动作的1:1映射,也就是运动和控制的模拟映射。

PrimeSense,作为3D技术提供商,这几年来创造了不少概念级的游戏交互。可喜的是,其中很多的展示都可以在OpenNI 竞技场(Arena)网站上找到。

最初始的原型展示的是拳击体验,和使得Avatar可以在框定的游戏场景内移动的简单全身映射。

       

CKJ                                                                           Boxing

  • CKJ: http://arena.openni.org/OpenNIArena/Applications/ViewApp.aspx?app_id=477
  • Boxing: http://arena.openni.org/OpenNIArena/Applications/ViewApp.aspx?app_id=528

“随身”物件

当骨骼追踪算法足够稳定的时候,我们展示了全身的追踪。将运动映射到Ogre3D的Sinbad角色是一个直接的成功案例,当然,这并不只归功于原始建模者和天才的计算机视觉研究人员的杰出工作。 只是把双手放到脖子后面,你就可以拔出Sinbad背上的剑。拔剑是个令人非常愉快的体验。你也很容易想象怎么对付攻击Sinbad的敌人(虽然,这个展示里面没有任何敌人)。这是对我称之为“随身物件”的体感游戏概念的首次展示。

  • SinbadNI: http://arena.openni.org/OpenNIArena/Applications/ViewApp.aspx?app_id=466

这种做法有几个好处:

  • 只要交互方式是由avatar身上的可见物体定义的,你就不需要记住各种动作。很自然地你就会去触碰能看到的物体。
  • 因为交互已经映射到你的身体,所以你不会碰到在虚拟世界中触摸物件的时候能体会到的深度感知问题。当你知道怎么操作你的物件的时候,你甚至可以享受“肌肉记忆”的好处。在示例中,剑总是在你的背上,在战斗进行得正激烈的时候,你可以一直盯着敌人,就像你装备了自己擅长的真实武器一样。
这些听起来都很好而且容易,但现实总是更有挑战性的。为了让它真正工作起来,你还得解决重定向误触发的问题。
当avatar模型的身体比例跟用户的存在显著差别的时候,简单地将用户的关节点映射到avatar会带来不希望看到的结果。想象一下用户在摸自己的头而avatar的手却够不到的情形。如果你打算用碰撞方格来实现avatar上的触碰侦测,那么(手碰到头的)碰撞永远不会被侦测到。你可以在用户身上实现碰撞方格来取代,但这样你将牺牲学习曲线,因为这时候你不是通过avatar的手和物件之间这种可见的交互来学习和新的物件进行交互。这个问题可以通过更聪明的重定向算法来解决,该算法会通过考虑比例的差异或者缩放模型的关节来跟用户的尺度相匹配。
误触发通常和跟踪算法的局限性,人物行为被遮挡,复杂的姿势或者动态模糊有关。当然你可以指望用户的手会偶然碰到物件的触发区域。
误触发可以通过加入额外的触发要求来补偿:
  • 临时性要求:触发物件之前短暂暂停一下(在暂停期间必须有一些动画)
  • 要求双手操作(象Sinbad的剑)
  • 要求触碰后朝某个指定方向移动
    • 示例:

      • 要取下皇冠,你必须触摸它然后抬手
      • 要取剑,匕首或箭,你必须先触碰然后朝一个合理的方向移动。
    • 如果触碰以后手往别的方向移动便取消该操作
      • 一个简单的实现是为每个物件定义两个触碰方格,同时要求用户以正确的次序穿过它们,然后才实际触发物件。和以往一样,强烈建议给正确的操作加入尽可能多的视觉反馈(比如将剑弹出一点,慢慢升出,同时发声)。
以上部分点子已经展示在新的Unity3D集成示例AngryBotsNI上:
  • AngryBotsNI: http://arena.openni.org/OpenNIArena/Applications/ViewApp.aspx?app_id=586

待续:第二篇 - POV和场景

----------------------------------------------------------------------------------------------------------------------------------

译注:这是原作者最近在blogspot上的系列文章《Beyond casual: thoughts about gesture gaming》的译文,为方便中文读者而转过来的。可能的话请尽量阅读原文,原文写得比较诙谐。有翻译不当或错误的地方欢迎大家指正,谢谢阅读。

原文链接:http://michagalor.blogspot.com/2012/01/part-1-opening-and-on-body-items.html

-----------------------------------------------------------------------------------------------------------------------------------

关于作者 Micha Galor

“当被问到怎么定义我自己的时候,我总是很困惑。我的工作包括软件工程,研究,设计和管理创新的投入。某一天我会简单地回答:一个发明家”

Micha Galor是PrimeSense公司(Kinect的3D传感技术提供商)应用和用户体验组的经理。他的团队专注于自然交互研究,包括对一些可实际运行的概念和展示的原型化,定义未来的人机交互语言等令人兴奋的工作。在PrimeSense之前,Micha领导Zoran(多媒体芯片商)的数码摄影团队,开发了应用在几款热销的拍照手机中的数字图像技术。Micha和他的太太以及两个小孩一起生活在以色列的特拉维夫。

不只是休闲:关于体感游戏的一些思考(一)--- 开篇和“随身”物件相关推荐

  1. 不只是休闲:关于体感游戏的一些思考(二) --- POV和基本场景

    已转至www.kinectutorial.com POV 从口语和故事讲述中借用术语来比喻游戏的观察点(Point of View)很常见.第一人称射击类使得你可以以游戏角色的视觉看到屏幕下方自己虚拟 ...

  2. [体感游戏]关于体感游戏的一些思考(三) --- 射击

    终于来了...大家一直在期待的部分 --- 射击! 出于某种原因,人们总是被射击弹丸的能力,而引入暴力,则是爆炸的能力所吸引.抛开那些蹩脚的哲学,射击是hard core游戏体验必不可少的,所以让我们 ...

  3. [体感游戏]关于体感游戏的一些思考(一)--- 开篇和“随身”物件

    开篇 微软的Kinect非常成功地将全身体感游戏平台带给了公众.这套系统包含一个PrimeSense公司的3D传感解决方案,4个麦克风组成的超炫阵列,运行在XBOX上的语音识别算法和顶级计算机视觉算法 ...

  4. [体感游戏]关于体感游戏的一些思考(五) --- 导航

    正如我在第二篇博文提到的:在3D虚拟世界中导航是一项充满挑战性的工作.导航模型的实现并不难,难的地方在于设计一个可以让人感觉比较舒服,不会造成玩家总是出现感知上的困难的3D水平.我们真的生活在3D世界 ...

  5. [体感游戏]关于体感游戏的一些思考(二) --- POV和基本场景

    POV 从口语和故事讲述中借用术语来比喻游戏的观察点(Point of View)很常见.第一人称射击类使得你可以以游戏角色的视觉看到屏幕下方自己虚拟的手和武器.第三人称则让你从后面观察你的avata ...

  6. [体感游戏]关于体感游戏的一些思考(四) --- 克隆战争!

    我们喜欢我们的同类. 我们的意识对我们的后代有好感,因为他们看起来跟我们,我们的家庭和氏族很相似.这是在亿万年的进化中形成的,在这过程中,自然选择让我们寻找伴侣和安全.感谢基因工程,我们将很快需要面对 ...

  7. 不只是休闲:关于体感游戏的一些思考(六)--- 飞行

    已转至www.kinectutorial.com 不同文化的古老梦想中都包含了飞行.人类总是抬头妒忌地看着鸟儿飞越天空.我们学会了制造机器来帮助自己弥补没有翅膀或者力量不够的缺点,但是把自己放进铁盒子 ...

  8. [体感游戏]关于体感游戏的一些思考(七) --- “我是泰山,你是简?”

    "Johnny-Cab" / Total Recall(1990) 人猿泰山(1932) 来自IMDb: 在这个电影的任何时候"我是泰山,你是简"都没有被说出来 ...

  9. [体感游戏]关于体感游戏的一些思考(六)--- 飞行

    不同文化的古老梦想中都包含了飞行.人类总是抬头妒忌地看着鸟儿飞越天空.我们学会了制造机器来帮助自己弥补没有翅膀或者力量不够的缺点,但是把自己放进铁盒子里面也意味着我们失去了一直渴望的自由飞行体验.而当 ...

最新文章

  1. 两个Long类型真的不能直接用或比较么?其实可以
  2. 1t硬盘怎么分区最好_网友问题解答:?最简单的方法教你电脑硬盘怎么分区?
  3. JSON.stringify 语法实例讲解
  4. python学习之路day05——cmd操作命令
  5. Spring校验@RequestParams和@PathVariables参数
  6. 初学者选黑卡还是微单_明日之镜 十年索尼微单和他的镜头王国
  7. Python通过LDAP验证、查找用户(class,logging)
  8. Java程序员最常用的20%技术总结
  9. kafka 分组消费topic_关于kafka更改消费者对应分组下的offset值
  10. MySQL数据库表分区功能详解
  11. 【算法笔记+BZOJ3676】回文串(回文树/回文自动机模版题)
  12. 线程安全的单例模式(Java)
  13. 苹果一体机电脑计算机图标找不到,mac电脑airplay图标不见了怎么办
  14. 微型计算机必须具备的输入设备,一台微型计算机必须具备的输出设备是显示器。...
  15. note同步不及时 one_如何提高onenote同步速度?
  16. 【Mac】微信视频对方听不见你的声音
  17. H5案例分享:html5移动开发细微之美
  18. iDev苹果开发者大会出品人-唐巧专访:用 HTML5 写移动应用终究不会成为主流
  19. html中图像标记的属性,HTML中的图象标签属性
  20. excel冻结窗格--冻结行列标题

热门文章

  1. php表单数据类型,form表单中enctype属性的三种类型
  2. 算法之排序算法(冒泡法和选择法)
  3. 为什么Vue(默认情况下)比React性能更好
  4. Adobe AE CC切换语言 中英文切换
  5. 【react】createRef
  6. Design Pattern: Visitor and Acyclic Visitor and their differences
  7. 社团管理系统(part2)
  8. DWORD与ULONG的区别
  9. C语言实现3个数的最小公倍数和最大公约数
  10. Matlab axis用法