通过虚拟骨架的第一人称射击者控制的制作方法

文档序号:6442392阅读:199来源:国知局
专利名称:通过虚拟骨架的第一人称射击者控制的制作方法
技术领域
本发明涉及通过虚拟骨架的第一人称射击者控制。
背景技术
虽然相机技术允许记录人类的图像,但计算机传统上可能无法使用这样的图像来准确地评估人类在图像中如何移动。最近,技术已经进展成使得可在特殊相机以及一个或多个跟踪标签的帮助下解释人类移动的某些方面。例如,可用若干跟踪标签(例如,向后反射器)来仔细地装饰演员,这些跟踪标签可由若干相机从若干不同位置来跟踪。随后可使用三角测量来计算每一反射器的三维位置。因为标签被仔细地放置于演员上,且每一标签与演员身体的对应部位的相对位置是已知的,所以可使用对标签位置的三角测量来推断演员身体的位置。然而,这一技术需要使用特殊反射的标签或其他标记器。在科幻电影方面,计算机已经被描绘成足够的智能以在没有反射性标签或其他标记物的帮助下实际查看人类并解释人类的运动和姿势。然而,使用特殊效果创建这样的场景其中演员遵循使得看起来就像该演员正在控制计算机的脚本动作一样的预定移动脚本仔细地表演。演员实际上并未控制计算机,而是试图创建控制的幻象。

发明内容
根据本发明的一个方面,虚拟骨架包括多个关节并提供用三维深度相机观察到的人类目标的机器可读表示。虚拟骨架的手关节的相对位置被转换成姿势瞄准向量控制,且与姿势瞄准向量控制成比例地瞄准虚拟武器。提供本发明内容以便以简化形式介绍在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。


图I根据本发明的一实施例示出查看所观察的场景的深度图像分析系统。图2在某种程度上示意性地示出用虚拟骨架来对人类目标建模。图3A-16C在某种程度上示意性示出了根据本公开的实施例的从虚拟骨架转换姿势武器和导航控制。图17示意性地示出被配置为将虚拟骨架转换成姿势武器和导航控制的计算系统。
具体实施例方式诸如3D视觉游戏系统等深度图像分析系统可包括能够观察一个或多个玩家的深度相机。在深度相机捕捉所观察的场景内的玩家的图像时,那些图像可被解释并用一个或多个虚拟骨架来建模。如以下更详细描述的,虚拟骨架可被用作用于控制第一人称射击游戏的输入。换言之,深度相机可观察正在执行被设计成控制第一人称射击者的姿势的人类并对其建模,且可用第一人称射击者可将其解释为不同控制的虚拟骨架来对人类目标建模。由此,人类可单单用姿势来控制第一人称射击者,从而避免常规操纵杆和/或其他控制器。图I示出了深度图像分析系统10的非限制性示例。具体而言,图I示出了游戏系统12,该游戏系统12可以用于玩各种不同的游戏、播放一个或多个不同的媒体类型、和/或控制或操纵非游戏应用。图I还示出了诸如电视机或计算机监视器之类的可用于向游戏玩家呈现游戏画面的显示设备16。作为一个示例,显示设备16可用于在视觉上呈现人类目标 32用其移动来控制的虚拟化身50。深度图像分析系统10可包括捕捉设备,诸如在视觉上监视或跟踪所观察的场景14内的人类目标32的深度相机22。参考图2和17更详细地讨论深度相机22。人类目标32这里被示为所观察的场景14内的游戏玩家。人类目标32由深度相机22来跟踪,使得人类目标32的移动可由游戏系统12解释成可被用于影响游戏系统12 正在执行的游戏的控制。换言之,人类目标32可使用他或她的移动来控制游戏。人类目标 32的移动可以被解释成几乎任何类型的游戏控制。人类目标32的某些移动可被解释成服务于除控制虚拟化身50以外的目的的控制。作为非限制性示例,人类目标32的移动可被解释为操纵虚拟赛车、开火虚拟武器、以第一人视角导航虚拟世界、或者操纵模拟世界的各个方面的控制。移动还可被解释为辅助游戏管理控制。例如,人类目标32可以使用移动来结束、暂停、保存、选择级别、查看高分、与其他玩家交流等。深度相机22还可以用于将目标移动解释成游戏领域之外的操作系统和/或应用控制。事实上,操作系统和/或应用的任何可控方面都可以由人类目标32的移动来控制。 图I中所示出的场景是作为示例来提供的,但并不意味着以任何方式进行限制。相反,所示出的场景旨在展示可以在不背离本公开的范围的情况下应用于各种各样不同的应用的一般概念。在此所述的方法和过程可以绑定到各种不同类型的计算系统。图I示出了游戏系统12、显示设备16和深度相机22的形式的非限制性示例。一般而言,深度图像分析系统可包括图17中以简化形式示出的计算系统700,计算系统60将在下文更详细地讨论。图2示出了简化的处理流水线,其中所观察的场景14中的人类目标32被建模为虚拟骨架46,该虚拟骨架46可被用于牵引显示设备16上的虚拟化身50和/或用作控制游戏、应用、和/或操作系统的其他方面的控制输入。可以理解,处理流水线可包括比图2中所描述的更多的步骤和/或图2中所描述的替换步骤,而不背离本发明的范围。如图2所示,人类目标32和所观察的场景14中的其余部分可由诸如深度相机22 之类的捕捉设备来成像。深度相机可为每一像素确定在所观察的场景中的表面相对于深度相机的深度。在不偏离本公开的范围的情况下,可以使用实际上任何深度寻找技术。示例深度寻找技术参考图17的捕捉设备708来更详细地讨论。为每一像素所确定的深度信息可用于生成深度图42。这样的深度图可采用实际上任何合适的数据结构的形式,包括但不限于包括所观察的场景的每个像素的深度值的矩阵。在图2中,深度图42被示意性地示为人类目标32的轮廓的像素化网格。这一例示是出于理解简明的目的,而不是技术准确性。可以理解,深度图一般包括所有像素(不仅是对人类目标32进行成像的像素)的深度信息,并且深度相机22的透视不会得到图2中所描绘的轮廓。虚拟骨架46可从深度图42导出,以提供对人类目标32的机器可读表示。换言之, 从深度图42导出虚拟骨架46以便对人类目标32建模。虚拟骨架46可以按任何合适的方式从深度图中导出。在某些实施例中,可将一个或多个骨架拟合算法应用于深度图。本发明与实际上任何骨架建模技术兼容。虚拟骨架46可包括多个关节,每一关节对应于人类目标的一部分。在图2中,虚拟骨架46被示为十五个关节的线条画。这一例示是出于理解简明的目的,而不是技术准确性。根据本发明的虚拟骨架可包括实际上任何数量的关节,每一关节都可与实际上任何数量的参数(例如,三维关节位置、关节旋转、对应身体部位的身体姿势(例如,手张开、手合上等)等)相关联。可以理解,虚拟骨节可采用数据结构的形式,该数据结构包括多个骨架关节中的每一个的一个或多个参数(例如,包括每一关节的X位置、I位置、z位置和旋转的骨架矩阵)。在某些实施例中,可使用其他类型的虚拟骨架(例如,线框、一组形状图元
坐^
寸/ ο如图2所示,可将虚拟化身50呈现在显示设备16上作为虚拟骨架46的视觉表示。 由于虚拟骨架46对人类目标32进行建模,并且对虚拟化身50的呈现基于虚拟骨架46,因此虚拟化身50用作人类目标32的可视的数字表示。由此,虚拟化身50在显示设备16上的移动反映人类目标32的移动。在某些实施例中,只有虚拟化身的部分将呈现在显示设备16上。作为一个非限制性示例,显示设备16可呈现人类目标32的第一人视角,并因此可呈现可通过虚拟化身的虚拟眼睛来查看的虚拟化身的各部分(例如,握有方向盘的伸出的手、握有步枪的伸出的手、 抓住三维虚拟世界中的物体的伸出的手等)。尽管将虚拟化身50用作可经由深度图的骨架建模由人类目标的移动来控制的游戏的一示例方面,但这并不旨在限制。人类目标可以用虚拟骨架来建模,而虚拟骨架可用于控制除虚拟化身以外的游戏或其他应用的各方面。例如,即使虚拟化身没有被呈现到显示设备,人类目标的移动也可控制游戏或其他应用。如上介绍的,武器仿真游戏(例如,第一人称射击者)可经由深度图的骨架建模由人类目标的移动来控制。例如,图3-16示意性地示出在不同时刻(例如,时间h、时间^和时间t2)对人类目标的不同姿势建模的虚拟骨架46。如上讨论的,虚拟骨架46可从深度信息中导出,深度信息从观察人类目标的深度相机获取。虽然虚拟骨架46被示为具有关节的线条画,但应该理解,虚拟骨架可由任何何时的机器可读数据结构来表示。例如,图3A中示为点的关节可由位置坐标和/或其他机器可读信息来表示。由此,计算系统的逻辑子系统可接收虚拟骨架(即,以机器可读形式表示虚拟骨架的数据结构)并处理一个或多个关节的位置和/或其他属性。以此方式,骨架位置/移动并因此被建模的人类目标的姿势可被解释为用于控制计算系统的不同姿势控制。作为第一示例,图3A示出了在时间h手臂放下的虚拟骨架46。在时间I1,抬起虚拟骨架的右手臂(包括右手关节82)。手臂抬起在躯干的前面可被解释为对启动武器瞄准的控制。例如,图3B示出可经由显示设备(例如,图I的显示设备16)呈现给游戏玩家的第一人称游戏界面300。如图所示,在与图3A的时间h相对应的时间h,准星30被显示在第一人称游戏界面上,以向游戏玩家发信号通知该游戏玩家的虚拟武器瞄准了哪里。如图 3B中所示的,游戏玩家未瞄准目标并且瞄在将射失虚拟敌人304的位置。如在图3A的时间t2处所指示的,虚拟骨架46将右手关节82向上右方移动。如图 3C中所示的,准星30以相应方式向上右方移动。换言之,计算系统将关节的相对位置转换成姿势瞄准控制,并且与姿势瞄准向量控制成比例地瞄准虚拟武器。虽然提供手关节作为一个示例,但可以理解,其他骨架关节在转换瞄准向量控制时可等效良好地工作。在某些实施例中,可考虑一个或多个关节的位置、速度、或其他属性。如上文所介绍的,虚拟骨架的变形对选择游戏玩家(例如,图I的人类目标32)的对应移动进行建模。由此,用虚拟骨架对游戏玩家建模并将骨架移动转换成游戏动作(例如,瞄准虚拟武器)允许游戏玩家用身体上的移动和姿势来控制游戏。在一些实施例中,手关节远离默认手关节位置的绝对移动被用作用来确定瞄准向量的基础。在一些实施例中,手关节关于肩膀关节或其他参考关节的相对位置被用作用来确定瞄准向量的基础。可以不同的方式来选择默认瞄准向量(例如,径直向前),而不背离本公开的范围。作为一个示例,默认瞄准向量可基于偏离手关节关于一个或多个其他骨架关节(例如, 躯干关节90)的相对位置。在一些实施例中,默认瞄准向量可替代地被设置成玩家把其手抬高至的第一手关节位置。在一些实施例中,与默认瞄准向量相对应的手关节位置可基于游戏情形(例如,在海拔比角色更高处的目标、在海拔比角色更低处的目标等)来动态地改变。将手关节移动转换成瞄准向量不必是I : I。在一些实施例中,所观测的手关节位置可使用线性或非线性转换函数来转换成瞄准向量控制。换言之,特定量的手移动可导致不同量的瞄准向量改变,这取决于瞄准向量的角度、手的位置、和/或游戏的参数。在一些实施例中,计算系统可被配置成向游戏玩家提供瞄准辅助,以使得瞄准向量偏向有效游戏目标一即,计算系统可推断期望目标以及虚拟武器朝向期望目标的偏置瞄准。相对偏置量可根据一个或多个可改变游戏参数来动态地设置。换言之,第一人称射击游戏可实时地更改瞄准向量偏向有效游戏目标的角度。此类参数可包括玩家级别(例如, 初学者、中级、专家等)、游戏级别(例如,第一热身任务、针对大boss的最终任务等)、所选虚拟武器(例如,不精密的手枪、精密的狙击步枪等)、角色位置(例如,奔跑中、下蹲中以进行谨慎的瞄准等)、或基本上任何其他游戏参数。各种控制可被实现来使虚拟武器开火。在一些实施例中,触发控制可经由声音识别来激活,即,虚拟武器响应于游戏玩家说出“开火”、“砰(bang) ”或另一触发单词而开火。 在一些实施例中,触发控制可响应于特定骨架姿势而激活(例如,在用右手瞄准武器时,左手轻叩腿部来使武器开火)。在一些实施例中,由虚拟骨架的手关节建模的手的姿态可被转换成姿势触发控制。例如,图4示出了具有在时间h抬高的右手关节82的虚拟骨架46。如时间h处所指示的,由虚拟骨架的右手关节82建模的手98处于张开姿态。在时间h,手98合拢,而在时间七2,手98张开。在时间^手98的合拢被转换为虚拟武器将开火的姿势触发控制。由此, 计算系统可响应于姿势触发控制一即手从张开手姿势到合拢一而使虚拟武器开火。由此,游戏玩家可通过使张开的手(其被用于瞄准武器)紧握成拳头来使武器开火。手98的姿态可用任何合适的方式来确定。在某些实施例中,可用足够的骨架关节来建模手以仅从骨架数据中识别出手的姿态。在某些实施例中,手关节的位置可被用来在对应深度图和/或对应色彩图像中定位手的位置。在这样的情况下,随后可评估深度图和/ 或色彩图像中包括手的部分以确定手是张开的姿态还是合拢的姿态。例如,可参照已知手姿态的在先训练的集合来分析深度图和/或色彩图像中包括手的部分以寻找最佳匹配的手姿态。以上所描述的开火姿势不进行任何限制。基本上任何其他合适的姿势或触发事件 (例如,语言激活)可被用来使虚拟武器开火。图5示出了用于改变虚拟武器的示例骨架姿势。在一些第一人称射击游戏以及其他类型的游戏中,角色可携带一个以上的武器。在此类游戏中,游戏玩家可在可用武器之间进行选择。例如,游戏玩家可在一些游戏情形中激活机关枪,而在其他游戏情形中激活榴弹发射器。图5中所示的姿势是可被用来在不同的武器之间进行选择的姿势的非限制性示例。在时间h,虚拟骨架处于右手关节82在骨架的躯干的前面的瞄准姿势。在此类情形中,玩家角色可在游戏中瞄准机关枪。在时间^,右手关节82移至右肩膀关节的后面。此类移动可被转换成姿势武器改变控制。计算系统可响应于姿势武器改变控制而激活不同的虚拟武器。例如,机关枪可被榴弹发射器替换。由此,在时间〖2,虚拟骨架处于与时间h相同的瞄准姿态,但是玩家角色现在可瞄准榴弹发射器而非机关枪。在一些实施例中,相同的姿势可被用来在所有可用武器中循环。在一些实施例中, 每个不同的虚拟武器可使用不同的姿势来激活。在一些实施例中,共享姿势(例如,图5中所示的手在肩膀的后面)可发起武器改变程序,并且辅助姿势(例如,手轻叩腿部、在手在肩膀的后面的同时肘部轻击等)可被重复以在可用武器中循环。至于本文中描述的其他姿势诸如语音识别之类的其他输入机制可被用来增加骨架姿势。例如,游戏玩家可通过执行图5中所示的姿势来发起武器改变,但是可通过在执行姿势的同时说出武器的名称来指定所需武器。图6示出了用于抛掷诸如虚拟手榴弹之类的物体的示例骨架姿势。在时间&,虚拟骨架46处于手臂放下的站立位置。在时间^,虚拟骨架46通过在头部关节100的后面竖起右手关节82来转动。在时间t2,虚拟关节46以抛掷运动向前移动右手关节82。计算系统可被配置成将手关节的抛掷运动转换成姿势手榴弹控制。游戏角色可响应于姿势手榴弹控制抛掷虚拟手榴弹。虽然提供手榴弹作为要抛掷的虚拟物体的示例,但是手榴弹抛掷姿势可被用来抛掷任何合适的虚拟物体。此外,其他姿势可被转换成姿势手榴弹控制,并且图6中所示的姿势可作为非限制性示例来提供。图7示出了用于通过虚拟弹药对虚拟武器进行再装弹的示例关节姿势。在时间V 虚拟骨架46是瞄准姿态。在时间^,虚拟骨架46舒展开左手关节84和右手关节82。在时间七2,虚拟骨架46以鼓掌运动将左手关节84和右手关节82拍在一起。计算系统可被配置成将鼓掌转换成姿势再装弹控制。游戏角色可响应于姿势再装弹控制而对虚拟武器进行再装弹。图8示出了其中游戏玩家将左手关节84向上拍击到瞄准右手关节82的另一再装弹姿势,如同将新弹夹插入虚拟手枪。这些和/或其他姿势可被用来对虚拟武器进行再装弹。
图9A示出了用于放大虚拟武器的地点的示例骨架姿势。具体地,在时间V图9A 示出了具有手臂放下的虚拟骨架46。在时间h,抬起虚拟骨架的右手臂(包括右手关节 82)。在躯干的前面抬起手臂可被解释为对启动武器瞄准的控制。例如,图9B示出可经由显示设备(例如,图I的显示设备16)呈现给游戏玩家的第一人称游戏界面900。如图所示, 与图9A的时间h相对应的时间I1,准星30被显示在第一人称游戏界面上,以向游戏玩家发信号通知该游戏玩家的虚拟武器瞄准了哪里。如图9B中所示的,虚拟敌人904在远处。 因此,进行精确的瞄准是困难的。在时间t2,虚拟骨架46的右手关节82被抬高到头部关节100附近。计算系统可被配置成将虚拟骨架的手臂朝虚拟骨架的头部抬高转换成姿势放大控制。如图9C中所示的,在与图9A的时间t2相对应的时间t2,响应于姿势放大控制,虚拟武器的虚拟视野被放大。结果,游戏玩家可更精确地瞄准遥远的虚拟敌人904。图10示出了其中游戏玩家通过耸起右肩72来朝头部102抬高右手臂92另一放大姿势。此姿势模拟游戏玩家向下俯视右手臂,如同俯视步枪的视野。这些和/或其他姿势可被用来对虚拟武器的视野进行放大。图11示出了用于在虚拟游戏环境中抓取虚拟物体的示例骨架姿势。在时间h,虚拟骨架46处于如上所述的瞄准姿态。在时间h,虚拟骨架46朝着显示设备(例如,图I的显示设备16)上显示的虚拟对象伸出左手关节。在时间t1;由左手关节84建模的手98具有张开的姿态。此类张开姿态可以各种方式来识别,包括以上参照图4讨论的那些。在时间t2,由左手关节84建模的手98以抓取运动合拢。计算系统可被配置成将左手关节84的抓取运动转换成姿势抓取控制。游戏角色可响应于姿势抓取控制而抓取虚拟对象。在一些实施例中,由一只手执行的姿势被解释为瞄准和开火控制,而由另一只手执行的姿势被解释为抓取控制。例如,右手瞄准,而左手抓取。在一些实施例中,一只手或双手可瞄准和开火,而相同的一只手或双手可被用于抓取。当判定姿势是旨在瞄准还是抓取时,可考虑手关节位置、手姿态和/或游戏情形的差异。例如,如果没有敌人存在,则在躯干的前面伸出手可被转换成抓取姿势;但是如果没有物体存在,则在躯干的前面伸出手可被转换成目标姿势。由游戏玩家执行的姿势(例如,图I的人类目标32)可被用来控制虚拟游戏世界内的玩家角色的移动。换言之,姿势可被用来向前、向后、向左、向右、向上、向下等移动角色。此外,姿势可被用来使角色转向和/或改变角色正在看的方向。可以理解,对“左”、 “右”、“前”、“后”等的引用可可基于虚拟骨架的解剖。图12A示出用于在虚拟游戏世界中使玩家控制的角色转向的示例骨架姿势。在时间h,虚拟骨架46面向中间方向——由图12A中的箭头56来表示。例如,中间方向可以是沿着深度相机的光轴的朝着深度相机。图12B示出了在时间h(其对应于图12A的时间的第一人称射击游戏界面120。图12B的第一人称射击游戏界面表示在时间h由游戏玩家控制的虚拟角色的视图。在时间h,虚拟骨架46的肩膀70以扭转运动转向右边。计算系统可被配置成将虚拟骨架的肩膀的转动解释为姿势转向控制。如图12中所示的,第一人称射击游戏界面120 的视向可响应于姿势转向控制而改变。例如,在图12C的时间tl (其对应于图12A的时间 tl),第一人称射击游戏界面120的视向转到右边,如同虚拟角色在虚拟游戏世界中转成朝右边看。
计算系统可另外或替换地被配置成将虚拟骨架相对于虚拟骨架的右脚关节的位置的位置转换成姿势移动控制,并响应于姿势移动控制移动角色。例如,图13A示出用于在虚拟游戏世界中移动玩家控制的角色的示例骨架姿势。 在时间tQ,虚拟骨架46站立,且双脚一起与深度相机近似地相距相同距离,如由参考线130 所指示的。图13B在某种程度上示出了在时间h(其对应于图13A的时间虚拟游戏世界中的玩家控制的角色132的顶视图。在时间h,右脚关节86相对于静止的左脚关节88向如迈步。右脚关节在左脚关节的前面可被转换为持续向前移动——即,通过右脚向前迈步可导致玩家角色向前步行。玩家角色可继续向前步行,直至人类目标使右脚返回到左脚附近。例如,图13C在某种程度上示意性示出了在时间h (其对应于图13A的时间h)虚拟游戏世界中的玩家控制的角色132 的顶视图。图13C的箭头58被包括以指示玩家控制的角色132的向前移动。虽然右脚的向前移动被用作示例,但是左脚向前是也可被转换成持续向前移动的等效的姿势。例如,任一只脚相对于静止的脚的移动可被用作姿势的基础。作为移动控制的另一示例,图14A示出了用于在虚拟游戏世界中向后移动玩家控制的角色的示例骨架姿势。在时间h,虚拟骨架46站立,且双脚一起与深度相机近似地相距相同距离,如参考线130所指示的。图14B在某种程度上示出了在时间h(其对应于图 14A的时间虚拟游戏世界中的玩家控制的角色132的顶视图。在时间h,右脚关节86相对于静止的左脚关节88向后迈步。右脚关节在左脚关节的后面可被转换为持续向后移动一即,通过右脚向后迈步可导致玩家角色向后步行。玩家角色可继续向后步行,直至人类目标使右脚返回到左脚附近。例如,图14C在某种程度上示意性示出了在时间h (其对应于图14A的时间h)虚拟游戏世界中的玩家控制的角色132 的顶视图。图14C的箭头62被包括以指示玩家控制的角色132的向后移动。如以上所述的,提供右脚的移动来作为非限制性示例,并且任一只脚相对于静止的脚的移动可被用作姿势解释的基础。作为移动控制的另一示例,图15A示出了用于在虚拟游戏世界中向右移动玩家控制的角色的示例骨架姿势。在时间h,虚拟骨架46站立,且双脚一起与深度相机近似地相距相同距离,如参考线130所指示的。图15B在某种程度上示出了在时间h(其对应于图 15A的时间虚拟游戏世界中的玩家控制的角色132的顶视图。在时间&,右脚关节86在横向上远离静止的左脚关节88移动。右脚关节相对于
左脚关节的右侧张开可被转换为持续向右拖步移动(right shuffle movement)-即,通
过右脚向右侧迈出可导致玩家角色在没有向右转的情况下向右移动。玩家角色可继续向右拖步,直至人类目标使右脚返回到左脚附近。例如,图15C在某种程度上示意性示出了在时间h (其对应于图15A的时间虚拟游戏世界中的玩家控制的角色132的顶视图。图15C 的箭头64被包括以指示玩家控制的角色132的向右拖步移动。作为移动控制的另一示例,图16A示出了用于在虚拟游戏世界中向左移动玩家控制的角色的示例骨架姿势。在时间h,虚拟骨架46站立,且双脚一起与深度相机近似地相距相同距离,如参考线130所指示的。图16B在某种程度上示出了在时间h(其对应于图 16A的时间虚拟游戏世界中的玩家控制的角色132的顶视图。在时间&,左脚关节88在横向上远离静止的右脚关节86移动。左脚关节相对于右脚关节的右侧张开可被转换为持续向左拖步移动(left shuffle movement)-即,通
过左脚向左侧迈出可导致玩家角色在没有向左转的情况下向左移动。玩家角色可继续向左拖步,直至人类目标使左脚返回到右脚附近。例如,图16C在某种程度上示意性示出了在时间h (其对应于图16A的时间虚拟游戏世界中的玩家控制的角色132的顶视图。图16C 的箭头66被包括以指示玩家控制的角色132的向左拖步移动。上述姿势/控制是非限制性示例。其他姿势和控制也在本发明的范围之内。此外, 可同时执行和转换上述姿势中的两个或更多个。例如,游戏玩家可通过在张开并合拢右手的同时向前迈出右脚、将肩膀扭向右侧、以及在躯干的前面举起右手臂,来导致玩家控制的角色在用武器对着虚拟敌人开火的同时,以向右转的弧度奔跑。在一些实施例中,将姿势转换成游戏控制可能受到虚拟骨架的姿态的影响。例如, 如果右脚向前伸出,则向右扭转运动可被解释为具有增加的灵敏度——即,导致玩家控制的角色的相对更多的转动需要较少的骨架的扭转。此类更改可被用于对抗人类目标的人体力学。例如,人类目标可感觉到如同在朝在前的脚扭转时,他们尽可能多地扭转,此时,实际上,与远离在前的脚扭转相比,人类目标在朝在前的脚扭转时扭转地更少。虽然参考了第一人称射击者进行了描述,但上述姿势还可应用于其他游戏或应用。此外,上述姿势可用于控制物理化身,诸如机器人。虽然参考虚拟骨架的虚拟表示来描述了上述姿势,应该理解,可参考构成虚拟骨架的骨架数据来分析姿势。可使用一个或多个测试来分析每一姿势。每一个这样的测试可考虑一个或多个关节的位置、速度、加速度、方向或其他属性。可在绝对意义上考虑这样的属性,或者参考一个或多个其他关节。作为非限制性示例,姿势可由关节的绝对位置来标识、由两个或更多个关节相对于彼此的相对位置来标识、由连接两个关节的骨骼段相对于连接两个关节的另一骨骼段的角度的角度来标识、和/或由以上或其他属性的组合来标识。在某些实施例中,以上所描述的方法和过程可捆绑到包括一个或多个计算机的计算系统。具体而言,此处所述的方法和过程可被实现为计算机应用、计算机服务、计算机 API、计算机库、和/或其他计算机程序产品。图17示意性示出了可以执行上述方法和过程之中的一个或更多个的非限制性计算系统700。以简化形式示出了计算系统700。应当理解,可使用基本上任何计算机架构而不背离本公开的范围。在不同的实施例中,计算系统700可以采取大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等等的形式。计算系统700包括逻辑子系统702和数据保持子系统704。计算系统700可以任选地包括显示子系统706、捕捉子系统708和/或在图10中未示出的其他组件。计算系统 700还可以任选地包括诸如下列用户输入设备例如键盘、鼠标、游戏控制器、相机、话筒和
/或触摸屏等等。逻辑子系统702可包括被配置为执行一个或多个指令的一个或多个物理设备。例如,逻辑子系统可被配置为执行一个或多个指令,该一个或多个指令是一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其它逻辑构造的部分。可实现此类指令以执行任务、实现数据类型、变换一个或多个设备的状态、或以其他方式得到所需结果。
逻辑子系统可包括被配置成执行软件指令的一个或多个处理器。另外地或替换地,逻辑子系统可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机器。 逻辑子系统的处理器可以是单核或多核,且在其上执行的程序可被配置为并行或分布式处理。逻辑子系统可以任选地包括遍布两个或多个设备的独立组件,所述设备可远程放置和 /或被配置为进行协同处理。该逻辑子系统的一个或多个方面可被虚拟化并由以云计算配置进行配置的可远程访问的联网计算设备执行。数据保持子系统704可包括一个或更多个物理、非瞬时设备,这些设备被配置成保持数据和/或可由该逻辑子系统执行的指令,以实现此处描述的方法和过程。当实现了此类方法和过程时,可变换数据保存子系统64的状态(例如,以保存不同数据)。数据保持子系统704可包括可移动介质和/或内置设备。数据保持子系统704尤其是可以包括光学存储器设备(例如,⑶、DVD、HD-DVD、蓝光盘等)、半导体存储器设备(例如,RAM、EPROM、EEPROM等)和/或磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)。数据保持子系统704可包括具有以下特性中的一个或多个特性的设备易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、 以及内容可寻址。在某些实施例中,可以将逻辑子系统702和数据保持子系统704集成到一个或更多个常见设备中,如专用集成电路或片上系统。图17还示出以可移动计算机可读存储介质710形式的数据保持子系统的一方面, 可移动计算机可读存储介质710可用于存储和/或传输可执行以实现本文描述的方法和过程的数据和/或指令。可移动计算机可读存储介质710尤其是可以采取⑶、DVD、HD-DVD、 蓝光盘、EEPROM和/或软盘形式。可以明白,数据保持子系统704包括一个或多个方面物理非瞬态设备。相反,在一些实施例中,本文描述的指令的各方面可以按暂态方式通过不由物理设备在至少有限持续时间期间保持的纯信号(例如电磁信号、光信号等)传播。此外,与本公开有关的数据和/ 或其他形式的信息可以通过纯信号传播。在包括显示子系统706时,显示子系统706可用于呈现由数据保持子系统704保持的数据的视觉表示(例如,虚拟化身和/或三维虚拟世界)。由于此处所描述的方法和过程改变由数据保持子系统保持的数据,并由此变换数据保持子系统的状态,因此同样可以变换显示子系统706的状态以在视觉上表示底层数据的改变。例如,计算系统700可被配置为呈现驾驶游戏以供在显示子系统706的显示设备上显示。由此,计算系统700可包括显示输出以将驾驶游戏界面输出到显示设备。显示子系统706可以包括使用实际上任何类型的技术的一个或多个显示设备。可将这样的显示设备与逻辑子系统702和/或数据保存子系统704组合在共享封装中,或这样的显示设备可以是经由显示输出连接到逻辑子系统的外围显示设备。在包括通信子系统时,通信子系统可以被配置成将计算系统700与一个或多个其他计算设备可通信地耦合。通信子系统可包括与一个或多个不同的通信协议相兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置为经由无线电话网、无线局域网、有线局域网、无线广域网、有线广域网等进行通信。在一些实施例中,通信子系统可允许计算系统700经由诸如因特网之类的网络发送消息至其他设备和/或从其他设备接收消
计算系统700还可包括被配置成获得一个或多个目标的深度图像的集成和/或外围捕捉设备708。在任一种情况下,计算系统700可包括外围输入以从深度相机接收深度图像并将接收到的深度图像传递到逻辑子系统以供处理。捕捉设备708可以被配置成通过任何合适的技术(例如,飞行时间、结构化光、立体图像等等)捕捉具有深度信息的视频。如此,捕捉设备708可包括深度相机、摄像机、立体相机、和/或其他合适的捕捉设备。例如,在飞行时间分析中,捕捉设备708可以向目标发射红外光,然后使用传感器来检测从目标的表面反向散射的光。在一些情况下,可以使用脉冲式红外光,其中可以测量出射光脉冲和相应的入射光脉冲之间的时间并将该时间用于确定从该捕捉设备到目标上的特定位置的物理距离。在一些情况下,出射光波的相位可以与入射光波的相位相比较以确定相移,并且该相移可以用于确定从该捕捉设备到目标上的特定位置的物理距离。在另一示例中,飞行时间分析可用于通过经由诸如快门式光脉冲成像之类的技术分析反射光束随时间的强度,来间接地确定从该捕捉设备到目标上的特定位置的物理距离。在另一示例中,结构化光分析可以被捕捉设备708利用来捕捉深度信息。在这样的分析中,图案化光(即被显示为诸如网格图案、条纹图案或星座点之类的已知图案的光) 可以被投影到目标上。在落到目标的表面上以后,该图案可能变为变形的,并且可以研究该图案的这种变形以确定从该捕捉设备到目标上的某一位置的物理距离。在另一示例中,捕捉设备可以包括两个或更多个物理上分开的相机,这些相机从不同角度查看目标以获得视觉立体数据。在这种情况下,该视觉立体数据可以被解析以生成深度图像。在其他实施例中,捕捉设备708可以使用其他技术来测量和/或计算深度值。此外,捕捉设备708可以将所计算的深度信息组织为“Z层”,即与从深度相机沿其视线延伸到目标的Z轴垂直的层。在一些实施例中,两个或更多个不同的相机可以被合并到一集成的捕捉设备中。 例如,深度相机和视频相机(例如RGB视频相机)可以被合并到共同的捕捉设备中。在一些实施例中,可以协作式地使用两个或更多个分开的捕捉设备。例如,可以使用深度相机和分开的视频相机。当使用视频相机时,该视频相机可用于提供目标跟踪数据、对目标跟踪进行纠错的确认数据、图像捕捉、面部识别、对手指(或其他小特征)的高精度跟踪、光感测和/或其他功能。要理解,至少一些目标分析和跟踪操作可以由一个或多个捕捉设备的逻辑机来执行。捕捉设备可以包括被配置成执行一个或多个目标分析和/或跟踪功能的一个或多个板载处理单元。捕捉设备可以包括便于更新这样的板载处理逻辑的固件。计算系统700可任选地包括诸如控制器712和控制器714之类的一个或多个输入设备。输入设备可被用于控制计算系统的操作。在游戏的上下文中,诸如控制器712和/或控制器714之类的输入设备可被用于控制游戏的那些不是通过这里所述的目标识别、跟踪和分析方法和过程来控制的方面。在某些实施例中,诸如控制器712和/或控制器714之类的输入设备可包括可用于测量控制器在物理空间中的移动的加速计、陀螺仪、红外目标/传感器系统等中的一个或多个。在某些实施例中,计算系统可任选地包括和/或利用输入手套、键盘、鼠标、跟踪垫、 轨迹球、触屏、按钮、开关、拨盘、和/或其他输入设备。如将理解的,目标识别、跟踪和分析可被用于控制或扩充游戏或其他应用的常规上由诸如游戏控制器之类的输入设备控制的方面。在某些实施例中,这里所述的目标跟踪可被用作对其他形式的用户输入的完全替代, 而在其他实施例中,这种目标跟踪可被用于补充一个或多个其他形式的用户输入。应该理解,此处所述的配置和/或方法在本质上是示例性的,并且这些特定实施例或示例不是限制意义,因为多个变体是可能的。本文中所述的具体例程或方法可表示任意数量的处理策略中的一个或多个。由此,所示的各个动作可按所示的顺序执行、按其他顺序执行、并行地执行、或者在某些情况下省略。同样,可改变上述过程的次序。本公开的主题包括各种过程、系统和配置的所有新颖和非显而易见的组合和子组合,和此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物。
权利要求
1.一种保持可由逻辑子系统执行的指令的数据保持设备,所述指令用于呈现第一人称射击游戏界面以便在显示设备上显示;接收包括多个关节的虚拟骨架,所述虚拟骨架提供对通过三维深度相机观测的人类目标的机器可读表示;将所述虚拟骨架的手关节的相对位置转换为姿势瞄准向量控制;以及与所述姿势瞄准向量控制成比例地瞄准虚拟武器。
2.如权利要求I所述的数据保持设备,其特征在于,还保持可由所述逻辑子系统执行以执行以下操作的指令将由所述虚拟骨架的所述手关节的姿态转换成姿势触发控制;以及响应于所述姿势触发控制使所述虚拟武器开火。
3.如权利要求2所述的数据保持设备,其特征在于,所述虚拟武器是响应于所述手从打开手姿态到合拢而开火的。
4.如权利要求I所述的数据保持设备,其特征在于,还保持可由所述逻辑子系统执行以执行以下操作的指令将手关节在肩膀关节的后面的移动转换成姿势武器改变控制;以及响应于姿势武器改变控制激活不同的虚拟武器。
5.如权利要求I所述的数据保持设备,其特征在于,还保持可由所述逻辑子系统执行以执行以下操作的指令将所述手关节的抛掷运动转换成姿势手榴弹控制;以及响应于所述姿势手榴弹控制抛掷虚拟手榴弹。
6.如权利要求I所述的数据保持设备,其特征在于,还保持可由所述逻辑子系统执行以执行以下操作的指令将所述手关节与另一手关节的鼓掌转换成姿势再装弹控制;以及响应于所述姿势再装弹控制对所述虚拟武器进行再装弹。
7.如权利要求I所述的数据保持设备,其特征在于,还保持可由所述逻辑子系统执行以执行以下操作的指令将所述虚拟骨架的手臂朝所述虚拟骨架的头部举起转换成姿势放大控制;以及响应于所述姿势放大控制对所述虚拟武器的虚拟视野进行放大。
8.如权利要求I所述的数据保持设备,其特征在于,还保持可由所述逻辑子系统执行以执行以下操作的指令将所述虚拟骨架的另一手关节的抓取运动转换为姿势抓取控制;以及响应于所述姿势抓取控制抓取虚拟物体。
9.如权利要求I所述的数据保持设备,其特征在于,还保持可由所述逻辑子系统执行以执行以下操作的指令将所述虚拟骨架的肩膀的转动转换为姿势转向控制;以及响应于所述姿势转向控制改变所述第一人称射击游戏界面的视向。
10.如权利要求I所述的数据保持设备,其特征在于,还保持可由所述逻辑子系统执行以执行以下操作的指令将所述虚拟骨架的左脚关节相对于所述虚拟骨架的右脚关节位置的位置转换成姿势移动控制;以及响应于所述姿势移动控制移动角色。
11.如权利要求10所述的数据保持设备,其特征在于,在静止的脚关节的前面移动脚关节被转换成持续向前移动。
12.如权利要求10所述的数据保持设备,其特征在于,在静止的脚关节的后面移动脚关节被转换成持续向后移动。
13.如权利要求10所述的数据保持设备,其特征在于,所述右脚关节在横向上远离所述左脚关节的移动被转换成持续右拖步移动,而所述左脚关节在横向上远离所述右脚关节的移动被转换成持续左拖步移动。
14.如权利要求I所述的数据保持设备,其特征在于,还包括保持可由所述逻辑子系统执行以推断期望目标并朝所述期望目标偏移所述虚拟武器的瞄准的指令。
15.如权利要求14所述的数据保持设备,其特征在于,所述偏移的量是根据一个或多个可改变游戏参数来动态设置的。
16.一种保持可由逻辑子系统执行的指令的数据保持设备,所述指令用于呈现第一人称射击游戏界面以便在显示设备上显示;接收包括多个关节的虚拟骨架,所述虚拟骨架提供对通过三维深度相机观测的人类目标的机器可读表示;将所述左肩膀关节和所述右肩膀关节的转动转换成姿势转向控制;响应于所述姿势转向控制改变所述第一人称游戏界面的视向;将所述虚拟骨架的所述左脚关节相对于所述虚拟骨架的右脚关节位置的位置转换成姿势移动控制;以及响应于所述姿势移动控制移动角色。
17.如权利要求16所述的数据保持设备,其特征在于,在静止的脚关节的前面移动脚关节被转换为持续向前移动。
18.如权利要求16所述的数据保持设备,其特征在于,在静止的脚关节的后面移动脚关节被转换为持续向后移动。
19.如权利要求16所述的数据保持设备,其特征在于,所述右脚关节在横向上远离所述左脚关节的移动被转换成持续右拖步移动,而所述左脚关节在横向上远离所述右脚关节的移动被转换成持续左拖步移动。
20.一种保持可由逻辑子系统执行的指令的数据保持设备,所述指令用于呈现第一人称射击游戏界面以便在显示设备上显示;接收包括多个关节的虚拟骨架,所述虚拟骨架提供对通过三维深度相机观测的人类目标的机器可读表示;将所述手关节的相对位置转换成姿势瞄准向量控制;与所述姿势瞄准向量控制成比例地瞄准虚拟武器;将所述左肩膀关节和所述右肩膀关节的转动转换成姿势转向控制;响应于所述姿势转向控制改变所述第一人称射击游戏界面的视向;将所述左脚关节相对于右脚关节位置的位置转换成姿势移动控制;以及响应于所述姿势移动控制移动角色。
全文摘要
本文描述了通过虚拟骨架的第一人称射击者控制。虚拟骨架包括多个关节并提供用三维深度相机观察的人类目标的机器可读表示。虚拟骨架的手关节的相对位置被转换成姿势瞄准向量控制,且与姿势瞄准向量控制成比例地瞄准虚拟武器。
文档编号G06F19/00GK102592045SQ20111043139
公开日2012年7月18日 申请日期2011年12月20日 优先权日2010年12月21日
发明者C·H·威洛比, D·L·奥斯本, D·本内特, G·斯努克, K·兹努达, K·盖斯纳, P·萨雷特, R·马尔科维奇, S·拉塔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1