使用手指的存在激活手持式控制器的运动控制功能
文献发布时间:2023-06-19 13:46:35
相关申请的交叉引用
本PCT申请要求于2019年5月7日提交的名称为“USING FINGER PRESENCE TOACTIVATE A MOTION CONTROL FEATURE FOR AHANDHELD CONTROLLER”的美国专利申请序列号16/405,802的优先权,该专利申请全文据此以引用方式并入。
背景技术
手持式控制器在一系列架构中使用,以例如向计算设备提供输入。例如,在游戏行业中使用手持式控制器来允许玩家与执行游戏应用程序的个人计算设备、游戏机、游戏服务器等交互。除了使用人的手指来致动设置在游戏控制器壳体上的传统控件之外,一些游戏控制器设计还添加了运动传感器(例如,陀螺仪和加速度计)以启用运动控制功能,该运动控制功能允许用户通过在不同方向上移动整个游戏控制器(例如,将游戏控制器向左、向右、向上或向下移动,诸如通过使其旋转、倾斜等)来提供视频游戏输入。
尽管原来预期的是增加运动控制功能将提高许多视频游戏的可玩性,但过去在游戏控制器中实现这种运动控制功能的尝试基本上并未令用户群体感到兴奋。例如,过去的尝试已选择在视频游戏中将陀螺仪输入映射到旋转速率,诸如基于用户将游戏控制器从所谓的“死区”或中心位置移开的量来控制虚拟相机的旋转速率(例如,在第一人称射击游戏中的场景)。根据这种特定的具体实施,由于用户必须不断地围绕小空间缓慢移动游戏控制器来尝试找到相机停止旋转的死区,所以用户很难阻止虚拟相机在游戏过程中旋转。此外,运动传感器(诸如陀螺仪和加速度计)往往会随着时间的推移而漂移,这意味着死区可能会在游戏过程中漂移,因此可能会产生这样一种情况:要求用户以相对于他/她的身体的尴尬角度来握住游戏控制器,以便将虚拟相机定向在中心位置。为了解决这个问题,过去的一些游戏控制器设计提供了专用的“相机复位”按钮,用户可按压该按钮来将虚拟相机复位到中心位置,从而允许用户有效地重新校准运动传感器并将游戏控制器放回到他/她的身体前面的自然位置。然而,由于要求用户将手指从常用于提供主要视频游戏输入的主要控件上移开并且使用该手指按压专用的相机复位按钮形成了不必要的干扰,所以阻碍了游戏的流畅性。
鉴于这些和其他考虑,尽管有可用于游戏控制器中的运动控制的运动传感器,但是当今许多视频游戏开发商选择开发不具备运动控制功能支持的视频游戏。本文所做出的公开是相对于这些和其他考虑而提出的。
附图说明
参考附图进行详细描述。在这些图中,参考标号的最左边数字标识首次出现该参考标号的图。在不同图中使用相同的参考标号指示相似或相同的部件或特征。
图1示出了示例性手持式控制器的立体图,以及在两种不同状态下用户握住该示例性手持式控制器的前视图:第一状态,即运动控制功能基于手指不存在于可移动控件上而停用;和第二状态,即运动控制功能基于手指存在于可移动控件上而激活。
图2A示出了在运动控制功能基于手指存在于可移动控件的表面上而激活时用户将图1的示例性手持式控制器从第一姿态移动到第二姿态,以及该手持式控制器的两个姿态之间的相应屏幕渲染,以示出运动控制功能可如何用于控制应用程序诸如视频游戏的方面。
图2B示出了在运动控制功能基于手指不存在于可移动控件的表面上而停用时用户将图1的示例性手持式控制器从第二姿态移回第一姿态,以及该手持式控制器的两个姿态之间的相应屏幕渲染,以示出运动控制功能可如何停用来使得该手持式控制器的移动不控制应用程序诸如视频游戏的方面。
图3示出了图1的示例性手持式控制器的前视图,可移动控件在第一位置和第二位置之间移动的示例,以及用于使用与可移动控件相关联的触摸传感器和/或与可移动控件相关联的压力传感器来调整运动控制功能的灵敏度的示例性技术。
图4是基于手指存在或不存在于手持式控制器的可移动(或不可移动)控件的表面上来激活和停用运动控制功能的示例性过程的流程图。
图5是使用与可移动(或不可移动)控件相关联的触摸传感器来检测手指是否与该可移动(或不可移动)控件的表面接触的示例性过程的流程图。
图6是基于与手持式控制器的可移动(或不可移动)控件相关联的压力传感器的输出来调整运动控制功能的灵敏度的示例性过程的流程图。
图7是基于与手持式控制器的可移动(或不可移动)控件相关联的触摸传感器的输出来调整运动控制功能的灵敏度的示例性过程的流程图。
图8示出了手持式控制器诸如图1的控制器的示例性部件,以及该手持式控制器被配置为与之通信的计算设备。
具体实施方式
除其他事项外,本文描述了包括手持式控制器的技术和系统,该手持式控制器用于基于检测到或未检测到手指接触包括在该手持式控制器的壳体上的可移动控件的表面来激活和停用该手持式控制器的运动控制功能。在一些情况下,如本文所述,手持式控制器可用于控制计算设备(例如,电视、音频系统、个人计算设备、游戏机等),以与应用程序交互(例如,以参与视频游戏等)。在一些实施方案中,这涉及将数据发送到在计算设备上执行的应用程序(诸如视频游戏应用程序)。在一些实施方案中,该手持式控制器可以是包括嵌入式显示器的便携式游戏设备的一部分,在这种情况下,该便携式设备(例如,便携式游戏设备)可执行从集成到该便携式设备中的手持式控制器接收输入的应用程序(例如,视频游戏)。
本文所描述的手持式控制器可包括一个或多个控件。这些控件可包括位于该手持式控制器的壳体上的至少一个可移动控件。在一些实施方案中,可移动控件设置在壳体的前表面上,但它可设置在壳体上的任何位置。该可移动控件可包括但不限于操纵杆、方向键(D-pad)、轨迹球、按钮,或者被配置为由手指将该可移动控件从第一位置移动到第二位置而致动的任何其他类型的可移动控件。
该手持式控制器还可包括与上述可移动控件相关联的触摸传感器。该触摸传感器可被配置为向手持式控制器的一个或多个处理器提供指示手指相对于可移动控件的接近度的触摸传感器数据。该触摸传感器可包括电容式触摸传感器,电阻式触摸传感器,红外触摸传感器,利用声学声波来检测手指相对于触摸传感器的接近度的触摸传感器,或者任何其他类型的触摸传感器。该手持式控制器还可包括运动传感器,该运动传感器被配置为向处理器提供指示该手持式控制器的移动的运动传感器数据。例如,用户可在空间中移动手持式控制器(例如,从第一姿态移动到第二姿态),并且运动传感器可生成指示该移动的运动传感器数据。
在使用过程中(例如,在游戏过程中),通过使用手指触摸可移动控件以及从可移动控件移开手指,手持式控制器的用户可按需激活(启用)和停用(禁用)运动控制功能,反之亦然。当运动控制功能激活时,手持式控制器的逻辑可将(由运动传感器提供的)运动传感器数据作为应用程序(例如,视频游戏)输入发送到应用程序诸如视频游戏,以控制该应用程序的方面。例如,用户可控制应用程序的光标的移动。又如,用户可通过在物理环境内移动手持式控制器来控制应用程序的虚拟对象的移动(例如,通过向左或向右倾斜手持式控制器来操纵赛车视频游戏中的虚拟赛车)。再如,用户可控制玩家控制的角色的移动(例如,在第一人称射击游戏中),由此,表示虚拟世界的视图(如由玩家控制的角色所见)的虚拟相机可移动,使得在使用过程中(例如,在游戏过程中)呈现在显示器上的场景基于手持式控制器的移动而改变。这些仅仅是可经由运动控制功能(例如,通过手持式控制器的移动)控制的应用程序(包括视频游戏)的示例性方面,并且本公开不限于这些特定示例。
在使用过程中(例如,在游戏过程中),为了切换运动控制功能的打开和关闭(例如,从激活状态切换到停用状态),用户可用手指接触可移动控件的表面。例如,用户可用手指接触可移动控件的表面,并且与可移动控件相关联的触摸传感器可检测用户手指存在于该可移动控件上,即使用户未致动(例如,偏转、按压等)可移动控件。然后手持式控制器的逻辑可至少部分地基于由触摸传感器提供的触摸传感器数据来确定手指是否正在接触可移动控件的表面,并且运动控制功能可基于该确定而激活。当运动控制功能激活时,由运动传感器提供的运动传感器数据可被发送到应用程序(例如,视频游戏)作为应用程序输入(例如,视频游戏输入),以控制该应用程序的方面。相比之下,当运动控制功能停用时,运动传感器数据可不被发送到应用程序作为应用程序输入,可能根本不会生成运动传感器数据,或者运动传感器数据可被发送但是由接收该运动传感器数据的部件忽略。还应当理解,可能存在这样的情况:尽管运动控制功能激活,但运动传感器数据不被发送到应用程序。
通过基于手指存在/不存在于可移动控件的表面上来激活/停用手持式控制器的运动控制功能,在使用过程中(例如,在游戏过程中),用户可使用兼作应用程序输入(例如,视频游戏输入)控件的可移动控件来顺畅地提供运动控制输入。也就是说,在使用过程中(例如,在游戏过程中),可移动控件可作为主要控件被致动,并且可移动控件还可用作切换控件以基于手指存在于可移动控件的表面上来激活和停用运动控制功能。非常类似于用鼠标和键盘在个人计算机(PC)上玩视频游戏的体验,用户可通过用手指接触可移动控件的表面并用接触可移动控件的表面的手指在第一方向上移动手持式控制器,然后从可移动控件的表面移开手指并在移开手指的情况下在第二相对方向上移动手持式控制器,并且重复这种控制器的操作/移动来根据需要以棘轮的方式控制虚拟相机或虚拟对象的移动,从而“棘轮地控制”视频游戏的虚拟相机或虚拟对象的移动。这类似于用户如何在鼠标垫的表面上在第一方向上移动鼠标,然后向上抬起鼠标并在第二相对方向上移动鼠标,然后将鼠标放回鼠标垫上以在特定(第一)方向上重复该移动。这种熟悉的视频游戏输入类型使手持式控制器中的运动控制功能能够以用户容易掌握的方式实现。
本文还描述了用于使用与可移动控件相关联的触摸传感器和/或与可移动控件相关联的压力传感器中的一者或两者来即时调整运动控制功能的灵敏度的技术和系统。例如,该触摸传感器和/或压力传感器可允许用户通过将他/她的手指从可移动控件的表面稍微抬起(例如,通过将手指悬停在可移动控件上方一定距离,该距离仍在阈值距离内)和/或通过向可移动控件施加大小变化的力(例如,通过向下按压可移动控件)来控制应用程序(例如,视频游戏)的光标、虚拟相机或虚拟对象的移动量(或程度)。这些实时控制功能可允许用户提供更准确的应用程序输入(例如,视频游戏输入)和/或改善他们的游戏表现。
图1示出了示例性手持式控制器100的立体图,以及在两种不同状态下用户握住示例性手持式控制器100的前视图:第一状态,即运动控制功能基于手指102不存在于可移动控件的表面104上而停用;和第二状态,即运动控制功能基于手指102存在于可移动控件的表面104上而激活。
如图所示,手持式控制器100包括壳体106。壳体106具有前表面108(1)、顶表面108(2)、与前表面108(1)相对的后表面,和与顶表面108(2)相对的底表面。前表面108(1)可包括一个或多个前表面控件,在一些情况下,这些前表面控件可由操作手持式控制器100的用户的一个或多个拇指控制。如本文所使用的,“手指”可指用户手上的任何手指(包括拇指)。这样,如本文所使用的,“手指”可包括用户的食指、中指、无名指、小指或拇指中的任一者。尽管用户可使用任何手指来操作各个前表面控件,但是向图1所示的示例性控制器提供输入的通用方式是使用左手拇指或右手拇指来操作各个前表面控件。
前表面控件可包括但不限于一个或多个触控板、轨迹球、操纵杆、按钮、方向键(D-pad)等。在图1的示例中,壳体106的前表面108(1)包括触控板110,该触控板包括D-pad的轮廓。以这种方式,触控板110可用作全向D-pad并可由用户的左手拇指控制。触控板110可包括或可不包括在对应于D-pad轮廓的上、下、左和右的位置处的致动按钮/开关。前表面108(1)还可包括第一(例如,左)操纵杆112(1)和第二(例如,右)操纵杆112(2)。第一操纵杆112(1)可由用户的左手拇指控制,而第二操纵杆112(2)可由用户的右手拇指控制。此外,前表面108(1)包括可由用户的右手拇指控制的可按压按钮114(例如,X、Y、A和B)。在该示例中,手持式控制器100还包括左握把116(1)和右握把116(2),由此,用户可分别经由用户的右手和左手握住控制器100。
同时,顶表面108(2)可包括一个或多个顶表面控件。在所示的示例中,控制器100包括左顶表面控件118(1)和右顶表面控件118(2)。左顶表面控件118(1)可由用户的左手指(例如,食指)操作,而右顶表面控件118(2)可由用户的右手指(例如,食指)操作。顶表面控件118(1)和118(2)有时可被称为“按钮”。顶表面控件还可包括一个或多个扳机120,这些扳机可由用户的手指(例如,中指)操作。在一些情况下,与顶表面控件118和/或120相似的控件可设置在手持式控制器100的后表面上。附加的控件也可设置在手持式控制器100的后表面上,诸如一个或多个拨片、一个或多个附加的触控板,或任何其他类型的输入控件。应当理解,控制器的形状是示例性的,并且具有不同形状(例如,矩形,非常相似于传统电视遥控器,圆形等)的控制器可用于手持式控制器100,其具有至少一些与相对于示例性手持式控制器100所描述的表面相似的表面。此外,应当理解,可用不同类型的控件来代替示例性前表面控件和顶表面控件。例如,可用D-pad、按钮、轨迹球等来代替第二(例如,右)操纵杆112(2),可用D-pad、操纵杆、轨迹球等来代替可按压按钮114。
第二(例如,右)操纵杆112(2)是如本文所述的“可移动控件”的示例,该可移动控件在使用过程中(例如,在游戏过程中)可用于切换运动控制功能的打开和关闭。尽管除了操纵杆之外的其他类型的控件被设想用于这种可用于切换运动控制功能的打开/关闭的可移动控件,但本文参考作为这种可移动控件的示例的操纵杆112(2)来描述各种实施方案。因此,应当理解,本文对“操纵杆112(2)”的任何引用可与其他类型的可移动控件诸如D-pad、轨迹球、可按压按钮等互换使用。将第二(例如,右)操纵杆112(2)用作运动控制激活机构为用户带来方便,因为第二(例如,右)操纵杆112(2)通常用于第一人称射击视频游戏的瞄准控制(有时被称为“查看”控制),并且就用户而言,只需(在精神上和身体上)使用最小的努力,用户的手指102就可容易地放置在操纵杆112(2)上或从该操纵杆移开。用户或多或少习惯于将右手拇指保持在右操纵杆112(2)附近,以便可快速将右手拇指放置在操纵杆112(2)上来根据需要操作操纵杆112(2)和/或切换运动控制功能的打开和关闭。还应当理解,尽管操纵杆112(2)设置在前表面108(1)上,但是设置在壳体106上的任何位置的可移动控件可用于切换运动控制功能的打开/关闭,诸如设置在便于手指放置的顶表面108(2)或后表面上的可移动控件。还应当理解,在使用过程中(例如,在游戏过程中),不可移动控件可用于切换运动控制功能的打开和关闭。例如,可用不在多个位置之间移动的触敏表面(例如,触控板)来代替第二(例如,右)操纵杆112(2)。这个不可移动的固定控件可与触摸传感器相关联,以检测手指在不可移动控件的表面上的存在或不存在,从而在使用过程中(例如,在游戏过程中)确定是否切换运动控制功能的打开或关闭。
如图1所示,用户可通过使用手指102(例如,右手拇指)触摸操纵杆112(2)的表面104(例如,远侧表面)来激活(启用)运动控制功能,并且用户可通过从操纵杆112(2)的表面104移开手指102来停用(或禁用)运动控制功能,反之亦然。也就是说,操纵杆112(2)的“触摸开始”可激活运动控制功能,或者操纵杆112(2)的“触摸结束”可停用运动控制功能。本文所描述的许多示例涉及一种配置,其中运动控制功能在操纵杆112(2)的触摸开始时激活,如图1的示例所示,由此接触操纵杆112(2)的表面104的手指激活运动控制功能,如图1的第二状态所示。
操纵杆112(2)可具有与其相关联的触摸传感器(例如,触摸传感器安装到操纵杆112(2)的在表面104下方的内表面)。该触摸传感器被配置为检测手指102相对于操纵杆112(2)的接近度。例如,该触摸传感器可向手持式控制器100的一个或多个处理器提供指示手指102相对于操纵杆112(2)的接近度的触摸传感器数据。在一些实施方案中,与操纵杆112(2)相关联的触摸传感器可包括电容式传感器,该电容式传感器被配置为基于手指102相对于操纵杆112(2)的接近度来测量电容值。这样,当手指102移动得更靠近操纵杆112(2)时,该触摸传感器可提供相对高的电容值作为输出。当手指102移动得更远离操纵杆112(2)时,该触摸传感器可提供相对低的电容值作为输出。以这种方式,基于由触摸传感器提供的触摸传感器数据,手持式控制器100的逻辑可以相当高的置信度来确定手指102是否接触操纵杆112(2)的表面104以及何时接触。阈值可用于确定手指接触事件,诸如在数字化接近度值(基于触摸传感器数据)超过阈值的情况下确定手指102正在接触表面104。在一些情况下,与操纵杆112(2)相关联的触摸传感器包括跨越一些或基本上所有表面104(例如,表面区域)的一个或多个电容垫。
在第一状态下(如图1所示),手指102在操纵杆112(2)的旁边,但是手指102未悬停在操纵杆112(2)的表面104上方或接触该表面。这样,在第一状态下,由触摸传感器提供的触摸传感器数据可指示手指102未接触操纵杆112(2)的表面104。一般而言,手持式控制器100的运动传感器(在下文更详细地描述)可基于手持式控制器100的移动来提供运动传感器数据,但是,在第一状态下,基于指示手指102没有接触操纵杆112(2)的表面104的触摸传感器数据,手持式控制器100的运动控制功能可停用(或禁用),这意味着运动传感器数据可不被发送到应用程序(例如,视频游戏)作为应用程序输入(例如,视频游戏输入)。以这种方式,当运动控制功能停用时,手持式控制器100的移动对应用程序没有任何影响(例如,运动传感器数据不会用作应用程序输入以控制应用程序的方面)。在一些实施方案中,当运动控制功能停用时,尽管手持式控制器100移动,运动传感器也可能不产生运动传感器数据,诸如除非和直到手指102与操纵杆112(2)的表面104接触才能向运动传感器供电。在其他实施方案中,当运动控制功能停用时运动传感器数据仍会生成(并且可能被发送到接收部件),但是,就使该运动传感器数据来控制正在执行的应用程序(诸如视频游戏)的方面而言,可忽略运动传感器数据。在后一种情况下,运动传感器数据仍可用于其他目的,诸如用于电源管理逻辑使用运动来唤醒手持式控制器100或其他非应用程序输入(例如,非视频游戏输入)的目的。
在第二状态下(如图1所示),用户已放置了手指102(例如,右手拇指),使得手指102与操纵杆112(2)的表面104接触。由触摸传感器提供的触摸传感器数据可指示在第二状态下手指102接触操纵杆112(2)的表面104,并且因此手持式控制器100的运动控制功能可激活(或启用)。当运动控制功能在第二状态下激活时,手持式控制器100的运动传感器可将运动传感器数据发送到应用程序(例如,视频游戏)作为应用程序输入(例如,视频游戏输入),以控制该应用程序的方面。图2A和图2B示出了控制视频游戏形式的应用程序的方面的示例。
图2A示出了用户在用手指102接触操纵杆112(2)的表面104的同时将图1的示例性手持式控制器100从第一姿态200(1)移动到第二姿态200(2)。以这种方式,运动控制功能在手持式控制器100的移动过程中被激活。图2A还示出了在两个姿态200(1)和200(2)之间可呈现在显示器上的相应屏幕渲染202(1)和202(2)。这示出了运动控制功能可如何用于控制视频游戏的方面。在图2A的示例中,手持式控制器100的运动控制功能可用于控制视频游戏(例如,第一人称射击游戏)的虚拟相机的移动。在这种场景中,因为虚拟相机表示虚拟世界的视图,如视频游戏的玩家控制的角色所看到的,所以虚拟相机的移动会改变呈现在显示器上的场景。在第一屏幕渲染202(1)中,视频游戏的虚拟相机被定向为使得虚拟建筑204在场景中朝向屏幕渲染202(1)的右侧可见。当第一屏幕渲染202(1)呈现在显示器上时,用户正以第一姿态200(1)握住手持式控制器100。
在手指102触摸操纵杆112(2)的表面104的情况下,一旦用户将手持式控制器100从第一姿态200(1)移动到第二姿态200(2)(例如,通过使控制器100向右运动),控制器100的运动传感器就生成指示该移动的运动传感器数据。在该示例中,因为用户的手指102接触操纵杆112(2)的表面104,如由对应的触摸传感器所检测的,所以运动控制功能激活,并且运动传感器数据被发送到视频游戏作为视频游戏输入,以控制虚拟相机的移动。在图2A的例示性示例中,手持式控制器100的向右移动被映射为虚拟相机的向右移动。考虑控制器100从第一姿态200(1)到第二姿态200(2)的移动主要是30度的旋转移动的情况,视频游戏的虚拟相机可按比例移动(例如,虚拟相机可在向右方向上旋转大约30度的量,或者以与手持式控制器100的移动量成比例的另一个量旋转(例如,通过将比例因子施加到由控制器100的运动传感器检测到的移动量))。因为虚拟建筑204现在由于虚拟相机的向右移动而处于第二屏幕渲染202(2)的视野的中心,所以第二屏幕渲染202(2)示出场景如何基于所检测到的手持式控制器100的移动而改变。如本文所述,可基于手持式控制器100的移动来控制视频游戏的其他方面,诸如通过控制虚拟对象的移动(例如,操纵虚拟赛车)等。
对比图2B与图2A,如果用户在用户的手指102没有接触操纵杆112(2)的表面104时移动手持式控制器100,则运动控制功能在控制器100的移动过程中停用,并且因此,第三屏幕渲染202(3)和第四屏幕渲染202(4)可在手持式控制器100的两个姿态200(2)和200(1)之间呈现相同的场景。这是因为,在图2B的示例中,运动控制功能在被激活时控制视频游戏的虚拟相机的移动,并且因为在图2B中运动控制功能被停用,所以尽管手持式控制器100移动,但是视频游戏的虚拟相机不移动。具体地,如图2B所示,用户可在不用手指触摸操纵杆112(2)的情况下将手持式控制器100从第二姿态200(2)移回第一姿态200(1)(例如,通过使控制器100向左运动)。即使控制器100的运动传感器可生成指示手持式控制器100的这种移动的运动传感器数据,但由于用户的手指102没有接触操纵杆112(2)的表面104,如由对应的触摸传感器所检测的,所以运动控制功能被停用,这意味着由运动传感器提供的运动传感器数据可被忽略(例如,运动传感器数据不被发送到视频游戏作为视频游戏输入,根本不生成,或者被发送但被忽略)。
因此,在图2A和图2B之间示出了“棘轮”机构,利用该机构,用户可在触摸操纵杆112(2)的表面104的同时旋转视频游戏的虚拟相机,例如,如图2A所示,然后将手指102从操纵杆112(2)移开,如图2B所示在不影响虚拟相机的情况下移动手持式控制器100,然后用户可再次触摸操纵杆112(2)的表面104,同时移动手持式控制器100,以在特定方向上重复虚拟相机的移动。使用这种技术,用户可例如通过使手持式控制器100在向左和向右方向上“做棘轮运动”来旋转360度,同时重复地将手指102从操纵杆112(2)的表面104抬起(如图2A和图2B所示)。以这种方式,用户可使用本文所述的棘轮控制器100移动来在视频游戏的虚拟世界内看向任何和所有方向。这种风格的用户输入对于习惯使用鼠标和键盘玩视频游戏(诸如第一人称射击游戏)的PC游戏玩家来说是很熟悉的。
图3部分地示出了图1的示例性手持式控制器100的前视图。在图3的手持式控制器100的前视图中,参考在手持式控制器100中心的左侧的第一(例如,左侧)区域300(1)和在手持式控制器100中心的右侧的第二(例如,右侧)区域300(2)示出了壳体106的前表面108(1)。在图3的示例中,操纵杆112(2)在第二区域300(2)内设置在壳体106的前表面108(1)上(例如,在手持式控制器100的右半部分)。这仅仅是可移动控件可被定位用于切换运动控制功能的打开/关闭的位置的示例,并且应当理解,如本文所述,可实现代替操纵杆112(2)的任何其他类型的可移动控件来激活/停用运动控制功能,并且这种可移动控件可位于壳体106上的任何位置,诸如位于第一区域300(1)内的前表面108(1)上(例如,在手持式控制器100的左半部分上),或者位于手持式控制器100的除了前表面108(1)之外的不同表面上。
图3还示出了沿截面A-A截取的操纵杆112(2)的横截面视图302(1)-(4)。横截面视图302(1)和302(2)示出了操纵杆112(2)可如何在第一位置和第二位置之间移动。在图3的横截面视图302(1)中,操纵杆112(2)被示为可在第一位置304(1)(例如,直立位置)和第二位置304(2)(例如,偏转位置)之间偏转。这可通过用户使用手指102将操纵杆112(2)在任何方向(例如,向上、向下、向左、向右或其间的任何方向)上从中心偏转来实现。响应于以这种方式致动操纵杆112(2),手持式控制器100的逻辑可将致动数据发送到正在执行的应用程序(例如,视频游戏)作为应用程序输入(例如,视频游戏输入)。该致动数据可控制视频游戏的当运动控制功能激活时由运动传感器数据控制的相同方面。另选地,致动数据可控制应用程序(例如,视频游戏)的与当运动控制功能激活时由运动传感器数据控制的应用程序(例如,视频游戏)的方面不同的方面。在其中操纵杆112(2)的致动和手持式控制器100的移动控制应用程序(例如,视频游戏)的共同方面的先前示例中,操纵杆112(2)可控制粗大移动,而手持式控制器100的移动可控制精细移动,反之亦然。例如,用户可在不同方向上偏转操纵杆112(2),以控制第一人称射击游戏的虚拟相机(例如,将玩家控制的角色定向到所需方向)。在这种场景中,操纵杆的偏转导致视频游戏的虚拟相机的移动(例如,以改变玩家控制的角色在虚拟世界中正在查看的位置)。随后,用户可激活运动控制功能(如果还没有激活),并且可在运动控制功能激活的情况下移动手持式控制器100以对虚拟相机的取向进行微调调整(例如,以使武器瞄准)。在该示例性场景中,可利用两种不同的输入机制来控制视频游戏的相同方面,第一输入机制是操纵杆112(2)的偏转,第二输入机制是手持式控制器100的移动,如由控制器100的运动传感器在运动控制功能激活的情况下所检测的。在其他示例中,操纵杆112(2)的致动可控制视频游戏的不同方面,诸如选择不同的武器,或视频游戏的某个其他方面。
图3的横截面视图302(2)示出了操纵杆112(2)可表现的另一种类型的移动。在这种情况下,操纵杆112被示为可在第一位置306(1)(例如,伸长位置)和第二位置306(2)(例如,按压位置)之间按压。这可通过用户在与壳体106的前表面108(1)正交的方向上按压操纵杆112(2)来实现。在横截面视图302(1)和302(2)之间的其他致动场景中,操纵杆112(2)的移动可由开关、电位计或者可检测操纵杆112(2)的致动的任何相似机构检测。操纵杆112(2)的这种移动可被转换或转化为致动数据,该致动数据可用于控制应用程序(例如,视频游戏)的某个方面。
参考横截面视图302(3)和302(4)示出了用于调整运动控制功能的灵敏度的示例性技术。在横截面视图302(3)和302(4)两者中,触摸传感器308与操纵杆112(2)相关联,因为触摸传感器308可安装到操纵杆112(2)的其中手指102可接触操纵杆112(2)的表面104(例如,远侧表面)的下方。在一些实施方案中,触摸传感器308是粘附或以其他方式附接到操纵杆112(2)的在远侧表面(例如,表面104)下方的内表面的电容式传感器(例如,电容垫)。在一些实施方案中,电容垫可粘附到操纵杆112(2)的外表面104,或者嵌入操纵杆112(2)的远侧部分内的某处。触摸传感器308(例如,电容式传感器)可经由柔性电路310电耦接到手持式控制器100内的印刷电路板(PCB)上的合适的电子器件(例如,一个或多个处理器)。在一些实施方案中,可利用无线电子耦接来代替物理柔性电路310。柔性电路310为手持式控制器100的电子器件提供了稳健的电子连接,并且通常不存在干扰。尽管本文通过示例的方式描述了电容式触摸传感器308,但是在其他情况下,触摸传感器308可基于其他触摸感测技术,诸如电阻式触摸传感器,红外触摸传感器,利用声学声波来检测手指102的接近度的触摸传感器,或者任何其他类型的触摸传感器。
如横截面视图302(3)所示,用户的手指102(例如,拇指)可与操纵杆112(2)的表面104间隔距离D,并且触摸传感器308可生成指示该邻近的手指102的触摸传感器数据。例如,在利用基于电容的感测的具体实施中,触摸传感器308可包括电极(例如,跨电容型传感器的发射器电极和接收器电极),并且可向这些电极施加电压,使得这些电极被配置为测量这些电极处的电容变化,该电容变化可被转换为触摸传感器数据。触摸传感器308的这些电极处的电容变化可受到靠近这些电极的对象(诸如手指102)的影响。触摸传感器308本身的灵敏度可调整(例如,在制造时调整),使得接近操纵杆112(2)但不与其接触的手指102可由触摸传感器308检测到。在这种情况下,由触摸传感器308提供的触摸传感器数据可被转化为数字化接近度值(例如,数字化电容值),该数字化接近度值可指示手指102相对于操纵杆112(2)的表面104的接近度。例如,如果手指102正在触摸操纵杆112(2)的表面104,则这可由超过阈值的数字化接近度值来指示。如果手指102靠近但未接触表面104,如横截面视图302(3)所示,这可由低于指示手指102接触表面104的阈值的值的范围内的数字化接近度值来指示。
为了示出第一灵敏度调整技术,用户可使用他/她的手指102触摸操纵杆112(2)的表面104,并且如本文所述,运动控制功能可由于经由触摸传感器308检测到与操纵杆112(2)的这种接触而激活。在这种状态下(例如,当手指102接触操纵杆112(2)的表面104时),运动控制功能可被设置为第一灵敏度水平,该第一灵敏度水平对应于应用程序(例如,视频游戏)的光标的第一移动量、虚拟相机的第一移动量或者虚拟对象的第一移动量。例如,当用户使用他/她的手指102触摸操纵杆112(2)的表面104时,手持式控制器100在向右方向上的30度旋转可对应于应用程序(例如,视频游戏)的光标、虚拟相机或虚拟对象的30度旋转。
随后,由触摸传感器308提供的触摸传感器数据可指示手指102已停止接触操纵杆112(2)的表面104并且与操纵杆112(2)的表面104保持间隔距离D,其中D小于阈值距离。响应于手指102以这种方式从操纵杆112(2)抬起,运动控制功能的灵敏度水平可被调整到第二灵敏度水平,该第二灵敏度水平对应于应用程序(例如,视频游戏)的光标的第二移动量、虚拟相机的第二移动量或者虚拟对象的第二移动量。例如,基于手指102从与表面104接触变为与操纵杆112(2)的表面104间隔距离D,手持式控制器100在向右方向上的30度旋转可对应于应用程序(例如,视频游戏)的光标、虚拟相机或虚拟对象的减小到15度的旋转。换句话说,用户可触摸操纵杆112(2)以激活运动控制功能,然后用户可通过将手指从操纵杆112(2)抬起小于阈值距离的量来调整运动控制功能的灵敏度。将手指102移动成与表面104的距离超过该阈值距离可停用运动控制功能,而将手指102保持在与表面104的距离小于该阈值距离处可使运动控制功能以降低的灵敏度水平保持激活。因此,用户可将手指102移动得更靠近或更远离操纵杆112(2)以实时调整(增大或减小)灵敏度。如上所述,在该实施方案中,可监测阈值距离以在手指102移动超过阈值距离的情况下停用运动控制功能。在移动超过阈值距离之后,如果手指102再次在与操纵杆112(2)的阈值距离内移动但不接触表面104,那么运动控制功能可不被激活,因为运动控制功能的激活可基于手指102接触操纵杆的表面104,如由触摸传感器308所检测的。
在横截面视图302(4)中示出了调整运动控制功能的灵敏度的另一种方式。在该示例中,压力传感器312可与操纵杆112(2)相关联,因为压力传感器312被安装到壳体106内的位于操纵杆112(2)下方的结构的平面上。压力传感器312的示例是力感测电阻器(FSR),不过其他类型的压力感测机构也可用于压力传感器312,诸如压电传感器、应变仪等。这样,压力传感器312被配置为测量力数据,诸如对应于施加到操纵杆112(2)的力的大小的电阻值形式的力数据,诸如由手指102在与壳体106的设置有操纵杆112(2)的前表面108(1)(或另一个表面)正交的方向上向下按压表面104而施加的。FSR形式的压力传感器312可包括由空间隔开的多个基底(例如,导电材料的基底和电阻膜)。FSR可将操纵杆112(2)上的压力(所测量的电阻值)转换成数字化的FSR值,该值可用于调整运动控制功能的灵敏度。例如,当用户使用他/她的手指102触摸操纵杆112(2)的表面104时,用户可在操纵杆112(2)上施加很小压力或不施加压力,并且运动控制功能的灵敏度水平可使得手持式控制器100在向右方向上的30度旋转可对应于应用程序(例如,视频游戏)的光标、虚拟相机或虚拟对象的30度旋转。
随后,由压力传感器312提供的力数据可指示手指102已从接触操纵杆112(2)的表面104而不按压操纵杆112(2)改变为向操纵杆112(2)施加可辨别大小的力。因为FSR倾向于表现出少量的噪声(例如,即使没有任何东西按压FSR,它们也往往输出正电阻值),所以手持式控制器100的逻辑可被配置为监测高于FSR形式的压力传感器312的“噪声本底”的阈值,以确定用户何时按压操纵杆112(2)。因此,对于高于阈值FSR值的FSR值,该逻辑可确定用户正在用随FSR输出而变化的力的大小来按压操纵杆112(2),如FSR响应曲线所示。因此,响应于用户按压操纵杆112(2),运动控制功能的灵敏度水平可被调整到第二灵敏度水平,该第二灵敏度水平对应于应用程序(例如,视频游戏)的光标的第二移动量、虚拟相机的第二移动量或者虚拟对象的第二移动量。例如,基于手指102从与表面104接触而不按压操纵杆112(2)变为用可辨别大小的力来按压操纵杆112(2),手持式控制器100在向右方向上的30度旋转可对应于应用程序(例如,视频游戏)的光标、虚拟相机或虚拟对象的减小到15度的旋转。换句话说,用户可触摸操纵杆112(2)以激活运动控制功能,然后通过更用力地按压操纵杆112(2)来调整运动控制功能的灵敏度。
类似于触摸传感器308,压力传感器312可诸如经由另一个柔性电路电耦接到手持式控制器100的壳体106内的PCB上的电子器件。以这种方式,压力传感器312可向手持式控制器100的处理器提供力数据(例如,电阻值),该力数据可根据本文所描述的技术由手持式控制器100的逻辑进行数字化和解读。
本文所描述的过程被示为逻辑流程图中的框的集合,这些框表示可在硬件、软件、固件或其组合(在本文中被称为“逻辑”)中实现的一系列操作。在软件的环境中,这些框表示计算机可执行指令,这些计算机可执行指令在由一个或多个处理器执行时,执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。描述操作的顺序不旨在被理解为限制,并且可以任何顺序和/或并行地组合任意数量的所描述的框来实现这些过程。
图4是基于手指存在或不存在于手持式控制器100的可移动(或不可移动)控件的表面上来激活和停用运动控制功能的示例性过程400的流程图。出于讨论的目的,参考前面各图描述了过程400。
在402处,可停用手持式控制器100的运动控制功能。这可表示手持式控制器100的初始状态,诸如当手持式控制器100第一次通电时的状态。在示例性过程400中,该停用也可基于手指102不存在于设置在手持式控制器100的壳体106上的可移动控件(例如,操纵杆112(2))的表面104上。也就是说,当用户未触摸可移动控件的表面104时,可停用(或禁用)运动控制功能。在一些实施方案中,可基于手指102不存在于设置在手持式控制器100的壳体106上的不可移动控件(例如,触控板)的表面上而停用运动控制功能。如子框404和406所示,在运动控制功能被停用(或禁用)的情况下,可在框402处执行附加的操作。
在子框404处,手持式控制器100的一个或多个处理器可响应于手持式控制器100的移动而从手持式控制器100的运动传感器接收运动传感器数据。例如,运动传感器(例如,陀螺仪、加速度计、它们的组合等)可被配置为向处理器提供指示手持式控制器100的移动的运动传感器数据。这在下文参考图8更详细地描述。
在子框406处,手持式控制器100的逻辑可避免将运动传感器数据发送到应用程序(例如,视频游戏)作为应用程序输入(例如,视频游戏输入)。也就是说,当在框402处运动控制功能被停用时,可忽略由手持式控制器100的运动传感器生成的运动传感器数据。在一些实施方案中,可在框402处完全禁用运动传感器,诸如通过切断运动传感器的电源,作为禁用或停用运动控制功能的一种手段。在一些实施方案中,运动传感器数据可被发送,但在接收端被忽略。
在408处,手持式控制器100的逻辑可至少部分地基于由与可移动(或不可移动)控件相关联的触摸传感器提供的触摸传感器数据来确定手指是否正在接触该可移动(或不可移动)控件的表面(例如,远侧表面)。例如,在框408处,在操纵杆112(2)中实现的触摸传感器308可生成指示手指102接触操纵杆112(2)的表面104的触摸传感器数据。在框408处,如果确定手指没有接触可移动(或不可移动)控件的表面,则过程400可遵循从框408回到框402的“否”路线,其中运动控制功能保持停用(禁用)。在框408处,如果确定手指102正在接触可移动(或不可移动)控件的表面,则过程400可遵循从框408到框410的“是”路线。
在410处,手持式控制器100的逻辑可激活运动控制功能,由此将运动传感器数据发送到应用程序(例如,视频游戏)作为应用程序输入(例如,视频游戏输入)。这由子框412至418示出。
在子框412处,手持式控制器100的一个或多个处理器可响应于手持式控制器100的移动而从手持式控制器100的运动传感器接收运动传感器数据。例如,如图2A所示,当手指102接触可移动(或不可移动)控件的表面104时(如在框408处所确定的),用户可能以向右运动的方式移动手持式控制器100。
在子框414处,手持式控制器100的逻辑可将运动传感器数据发送到应用程序诸如视频游戏作为应用程序输入(例如,视频游戏输入),以控制该应用程序的方面。同样,至少部分地基于在框408处确定手指正在接触可移动(或不可移动)控件的表面(例如,操纵杆112(2)的表面104)来将运动传感器数据发送到该应用程序。否则,如果手指停止接触,则停用运动控制功能。
在子框415处,运动传感器数据可用于控制应用程序(例如,视频游戏)的光标(例如,指针)的移动。例如,用户可移动手持式控制器100以控制屏幕上的指针的移动,当控制器100围绕物理空间移动时,该指针围绕屏幕移动。
在子框416处,运动传感器数据可用于控制应用程序(例如,视频游戏)的虚拟相机的移动。例如,用户可移动手持式控制器100以控制虚拟相机的移动,诸如第一人称射击游戏的场景,该场景表示玩家控制的角色在虚拟游戏世界内看到的画面。
在子框418处,运动传感器数据可用于控制应用程序(例如,视频游戏)的虚拟对象的移动。例如,用户可移动手持式控制器100,以控制虚拟赛车、虚拟角色或可在虚拟游戏世界中移动(或不可移动)的任何其他对象的移动。
在420处,手持式控制器100的逻辑可至少部分地基于由与可移动(或不可移动)控件相关联的触摸传感器提供的触摸传感器数据来确定手指102是否已停止接触该可移动(或不可移动)控件的表面。例如,在框420处,在操纵杆112(2)中实现的触摸传感器308可生成指示手指102停止接触操纵杆112(2)的表面104的触摸传感器数据。在框420处,如果确定手指仍在接触可移动(或不可移动)控件的表面,则过程400可遵循从框420回到框410的“否”路线,其中运动控制功能保持激活(启用)。在框420处,如果确定手指102已停止接触可移动(或不可移动)控件的表面,则过程400可遵循从框420回到框402的“是”路线,其中手持式控制器100的逻辑停止将运动传感器数据发送到应用程序(例如,视频游戏)作为应用程序输入(例如,视频游戏输入)。
因此,过程400示出了经由手指与可移动(或不可移动)控件的表面的接触来切换手持式控制器100的运动控制功能的打开和关闭的技术。如本文其他地方所提及的,图4中所示的配置可与前述相反,使得当手指没有接触可移动(或不可移动)控件的表面时,运动控制功能被激活,并且当手指正在接触可移动(或不可移动)控件的表面时,运动控制功能被停用。
图5是使用与可移动(或不可移动)控件相关联的触摸传感器来检测手指是否与该可移动(或不可移动)控件的表面接触的示例性过程500的流程图。如图5所示,过程500可表示过程400的框408的子过程。出于讨论的目的,参考前面各图描述了过程500。
在502处,手持式控制器100的一个或多个处理器可接收由与可移动控件相关联的触摸传感器提供的触摸传感器数据。可移动控件可被包括在手持式控制器100的壳体106上,并且可被配置为由手指将该可移动控件从第一位置移动到第二位置而致动。例如,可移动控件可以是可在第一位置304(1)和第二位置304(2)之间或在第一位置306(1)和第二位置306(2)之间移动的操纵杆112(2),如图3所示,并且触摸传感器308可安装到操纵杆112(2)的表面(例如,内表面),诸如在远侧外表面304的下方(例如,操纵杆112(2)的盖帽下)。应当理解,过程500也可使用不在多个位置之间移动的不可移动控件(例如,触控板)来实现。该不可移动控件可与触摸传感器相关联,以检测手指存在于或不存在于不可移动控件的表面上。
在504处,手持式控制器100的逻辑可至少部分地基于触摸传感器数据来确定数字化接近度值。例如,对于基于电容的触摸传感器308,数字化接近度值可以是数字化电容值,它可以具有任意单位,并且可指示手指相对于可移动(或不可移动)控件的表面的接近度。
在506处,手持式控制器100的逻辑可确定数字化接近度值是否满足(例如,超过)指示手指102接触可移动(或不可移动)控件的表面的阈值。例如,对于基于电容的触摸传感器308,数字化电容值的范围可从0到大约1000,0表示手指与可移动(或不可移动)控件的距离超过阈值距离(或在触摸传感器308的检测范围之外),1000表示手指正在接触可移动(或不可移动)控件的表面。因此,可将阈值设置为略低于该1000的值,以确定手指何时可能接触可移动(或不可移动)控件的表面。
在框506处,如果满足阈值(例如,如果在框504处确定数字化接近度值超过阈值),则过程500可遵循从框506到框508的“是”路线,其中该逻辑确定手指正在接触可移动(或不可移动)控件的表面。否则,在框506处,如果不满足阈值(例如,如果在框504处确定数字化接近度值不超过(例如,小于或等于)阈值),则过程500可遵循从框506到框510的“否”路线,其中该逻辑确定手指没有接触可移动(或不可移动)控件的表面。
图6是基于与手持式控制器100的可移动(或不可移动)控件相关联的压力传感器的输出来调整运动控制功能的灵敏度的示例性过程600的流程图。出于讨论的目的,参考前面各图描述了过程600。
在602处,手持式控制器100的逻辑可至少部分地基于检测到与可移动(或不可移动)控件的表面接触的手指来激活手持式控制器100的运动控制功能。例如,框602可包括参考过程400的用于激活手持式控制器100的运动控制功能的框408和410所描述的操作。
在604处,可将运动控制功能的灵敏度水平设置为第一灵敏度水平。该第一灵敏度水平可以是默认灵敏度水平,对应于手指102接触可移动(或不可移动)控件的表面而不按压该可移动(或不可移动)控件的状态。例如,在框604处,与可移动(或不可移动)控件相关联的压力传感器312(例如,FSR)可提供被数字化为不超过阈值的值的力数据,该阈值指示手指按压可移动(或不可移动)控件。
在子框606处,手持式控制器100的逻辑可基于第一灵敏度水平来调整(或控制)应用程序(例如,视频游戏)的光标、虚拟相机或者虚拟对象的移动量。在一些实施方案中,由于第一灵敏度水平基于对应于可移动(或不可移动)控件上的压力大小的值,因此可至少部分地基于来自压力传感器312的值(例如,来自FSR的FSR值)来调整(或控制)应用程序(例如,视频游戏)的光标、虚拟相机或者虚拟对象的移动量。第一灵敏度水平可例如使虚拟相机/对象以与手持式控制器100的移动量成比例的特定量进行移动(例如,可将手持式控制器100的30度旋转映射为应用程序诸如视频游戏的光标或虚拟相机/对象的30度旋转)。
在608处,手持式控制器100的逻辑可确定压力传感器输出是否存在变化。例如,当用户更用力地按压可移动(或不可移动)控件时,与可移动(或不可移动)控件相关联的压力传感器312可提供指示对可移动(或不可移动)控件的按压的力大小的力数据。在这种场景中,如果用户按压可移动(或不可移动)控件,则检测到压力传感器输出的变化,并且过程600遵循从框608到框610的“是”路线,其中基于压力传感器输出来调整运动控制功能的灵敏度水平。例如,手持式控制器100的逻辑可确定对应于对可移动(或不可移动)控件的按压的力大小的值(例如,FSR值),并且在框610处,可将运动控制功能的灵敏度水平设置为第二灵敏度水平,由此,基于从第一灵敏度水平到第二灵敏度水平的变化来调整(增加或减少)虚拟相机或虚拟对象的移动量。例如,可将手持式控制器100的相同移动量(例如,30度旋转)映射为虚拟相机/对象的15度旋转,或者映射为虚拟相机/对象的45度旋转。
在608处,如果手持式控制器100的逻辑确定压力传感器输出没有改变,则过程600可遵循从框608到框612的“否”路线,其中运动控制功能的灵敏度水平未调整。也就是说,如果用户最初接触可移动(或不可移动)控件而不按压该可移动(或不可移动)控件,则压力传感器输出保持恒定,并且运动控制功能的灵敏度水平保持不变。以这种方式,用户可通过使用可变的力来按压可移动(或不可移动)控件来控制应用程序(诸如视频游戏)的光标、虚拟相机或虚拟对象的移动量。
图7是基于与手持式控制器100的可移动(或不可移动)控件相关联的触摸传感器的输出来调整运动控制功能的灵敏度的示例性过程700的流程图。出于讨论的目的,参考前面的附图描述过程700。
在702处,手持式控制器100的逻辑可至少部分地基于检测到与可移动(或不可移动)控件的表面接触的手指来激活手持式控制器100的运动控制功能。例如,框702可包括参考过程400的用于激活手持式控制器100的运动控制功能的框408和410所描述的操作。
在704处,可将运动控制功能的灵敏度水平设置为第一灵敏度水平。该第一灵敏度水平可以是默认灵敏度水平,对应于手指102接触可移动(或不可移动)控件的表面的状态。例如,在框704处,与可移动(或不可移动)控件相关联的触摸传感器308可提供被数字化为超过阈值的值的触摸传感器数据,该阈值指示手指接触可移动(或不可移动)控件的表面。
在子框706处,手持式控制器100的逻辑可基于第一灵敏度水平来调整(或控制)应用程序(诸如视频游戏)的光标、虚拟相机或者虚拟对象的移动量。在一些实施方案中,由于第一灵敏度水平基于对应于接触可移动(或不可移动)控件的表面的手指的接近度值,因此,可至少部分地基于来自触摸传感器308的接近度值来调整(或控制)应用程序(例如,视频游戏)的光标、虚拟相机或者虚拟对象的移动量。第一灵敏度水平可例如使虚拟相机/对象以与手持式控制器100的移动量成比例的特定量进行移动(例如,可将手持式控制器100的30度旋转映射为应用程序诸如视频游戏的光标或虚拟相机/对象的30度旋转)。
在708处,手持式控制器100的逻辑可确定手指102是否已停止接触可移动(或不可移动)控件的表面。例如,当用户将手指102从可移动(或不可移动)控件抬起时,与该可移动(或不可移动)控件相关联的触摸传感器308可提供指示手指102停止与该可移动(或不可移动)控件的表面接触的触摸传感器数据。在这种场景中,如果用户将手指102从可移动(或不可移动)控件的表面抬起,则检测到触摸传感器输出的变化,并且过程700遵循从框708到框710的“是”路线,其中该逻辑基于触摸传感器数据来确定手指是否仍与可移动(或不可移动)控件的表面间隔小于阈值距离的距离。例如,可将与可移动(或不可移动)控件的该手指间距映射到可由触摸传感器308测量的接近度值的范围,并且只要触摸传感器数据被转化为该范围内的接近度值,该逻辑就可推断手指102的移动没有超过阈值距离,例如,没有在触摸传感器308的检测范围之外。如果手指102与可移动(或不可移动)控件的表面的距离仍在阈值距离内,则过程700可遵循从框710到框712的“是”路线。
在712处,基于触摸传感器308输出来调整运动控制功能的灵敏度水平,该输出指示手指102已从接触可移动(或不可移动)控件的表面移动成与该表面的距离仍在阈值距离内。例如,手持式控制器100的逻辑可确定对应于手指102与可移动(或不可移动)控件的表面的间隔距离的值(例如,接近度值),该距离小于阈值距离,并且在框712处,可将运动控制功能的灵敏度水平设置为第二灵敏度水平,由此,基于从第一灵敏度水平到第二灵敏度水平的变化来调整(增加或减少)虚拟相机或虚拟对象的移动量。例如,可将手持式控制器100的相同移动量(例如,30度旋转)映射为虚拟相机/对象的15度旋转,或者映射为虚拟相机/对象的45度旋转。
在708处,如果手持式控制器100的逻辑确定手指102仍在接触可移动(或不可移动)控件的表面,则过程700可遵循从框708到框714的“否”路线,其中运动控制功能的灵敏度水平未调整。也就是说,如果用户最初接触可移动(或不可移动)控件而不将手指102从该可移动(或不可移动)控件抬起,则触摸传感器308输出保持恒定,并且运动控制功能的灵敏度水平保持不变。以这种方式,用户可通过在他/她的手指保持在触摸传感器308的检测范围内时将手指从可移动(或不可移动)控件稍微抬起并且改变手指102与可移动(或不可移动)控件的表面的距离来控制应用程序(诸如视频游戏)的光标、虚拟相机或虚拟对象的移动量。然而,在框710处,如果触摸传感器数据指示手指已移动超过阈值距离(例如,在框710处的数字化接近度值低于阈值),则过程700可遵循从框710到框716的“否”路线,其中可停用运动控制功能。
应当理解,虽然本文所描述的这些过程描述了示例性操作,但是其他具体实施可包括附加的和/或另选的操作。此外,所描述的这些操作的顺序不是限制性的,并且可以任何其他相似或不同的方式来布置和/或组装部件。此外,虽然这些过程描述了手持式控制器的若干部件,但是应当理解,该手持式控制器可包括附加的和/或另选的部件。
图8示出了手持式控制器诸如图1的控制器100的示例性部件,以及手持式控制器100被配置为与之通信的计算设备800。如图所示,手持式控制器100包括一个或多个输入/输出(I/O)设备802,诸如上述控制(例如,操纵杆、触控板、扳机、可按压按钮等),它们可能是任何其他类型的输入或输出设备。例如,I/O设备802可包括一个或多个麦克风以接收音频输入,诸如用户语音输入。在一些具体实施中,一个或多个相机或其他类型的传感器(例如,运动传感器804)可用作输入设备以接收手势输入,诸如手持控制器100的运动。在一些实施方案中,可以键盘、小键盘、鼠标、触摸屏、操纵杆、控制按钮等的形式提供附加的输入设备。输入设备还可包括控制机构,诸如用于增大/减小音量的基本音量控制按钮,以及电源和复位按钮。
同时,输出设备可包括显示器、发光元件(例如,LED)、产生触觉的振动器、扬声器(例如,头戴式耳机)等。还可存在简单的发光元件(例如,LED)来指示状态,诸如例如何时通电。虽然已经提供了一些示例,但是该手持控制器可附加地或另选地包括任何其他类型的输出设备。
在一些情况下,该一个或多个输出设备的输出可基于由输入设备中的一个或多个输入设备接收到的输入。例如,控件的致动可导致位于该控件附近(例如,下方)或任何其他位置的振动器输出触觉响应。在一些情况下,输出可至少部分地基于触摸传感器308(诸如与可移动控件相关联的触摸传感器308)上的触摸输入的特性而改变,如本文所述。例如,在触摸传感器308上的第一位置处的触摸输入可以导致第一触觉输出,而在触摸传感器308上的第二位置处的触摸输入可以导致第二触觉输出。此外,触摸传感器308上的特定手势可以导致特定的触觉输出(或其他类型的输出)。例如,在控件上的轻扫手势可导致第一类型的触觉输出,而在控件上的轻击(由触摸传感器308检测的)可导致第二类型的触觉输出,而用力按压控件可导致第三类型的触觉输出。
另外,手持控制器100可包括一个或多个通信接口706,以促进到网络和/或一个或多个远程系统(例如,执行应用程序的主机计算设备800、游戏机等)的无线连接。通信接口706可实现各种无线技术中的一种或多种,诸如Wi-Fi、蓝牙、射频(RF)等。应当理解,手持式控制器100还可包括物理端口,以促进与网络、连接的外围设备或与其他无线网络通信的插入式网络设备的有线连接。
在所示的具体实施中,该手持控制器还包括一个或多个处理器808和计算机可读介质810。在一些具体实施中,处理器808可包括中央处理单元(CPU)、图形处理单元(GPU)、CPU和GPU两者、微处理器、数字信号处理器或本领域已知的其他处理单元或部件。另选地或附加地,本文所述的功能可至少部分地由一个或多个硬件逻辑部件执行。例如但不限于,可使用的例示性类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂的可编程逻辑器件(CPLD)等。除此之外,处理器808中的每个处理器可拥有自己的本地存储器,这些存储器也可存储程序模块、程序数据和/或一个或多个操作系统。
计算机可读介质810可包括采用用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性存储器和非易失性存储器、可移动介质和不可移动介质。这种存储器包括但不限于RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁性存储设备、RAID存储系统,或可用于存储所需信息并可由计算设备访问的任何其他介质。计算机可读介质810可被实现为计算机可读存储介质(“CRSM”),该CRSM可以是处理器808可访问以执行存储在计算机可读介质810上的指令的任何可用物理介质。在一种基本的具体实施中,CRSM可包括随机存取存储器(“RAM”)和闪存存储器。在其他具体实施中,CRSM可包括但不限于只读存储器(“ROM”)、电可擦除可编程只读存储器(“EEPROM”)或可用于存储所需信息并可由处理器808访问的任何其他有形介质。
诸如指令、数据存储等的若干模块可存储在计算机可读介质810内并且被配置为在处理器808上执行。一些示例性功能模块被示为存储在计算机可读介质810中并在处理器808上执行,但是相同的功能可另选地采用硬件、固件或片上系统(SOC)来实现。
操作系统模块812可被配置为管理在手持式控制器100内并耦接到该手持式控制器的硬件,以有利于其他模块。另外,计算机可读介质810可存储网络通信模块814,该网络通信模块使手持控制器100能够经由通信接口706与一个或多个其他设备(诸如执行应用程序(例如游戏应用程序)的计算设备800(例如,PC)、游戏机、远程服务器等)进行通信。计算机可读介质810还可包括游戏会话数据库816,以存储与在手持式控制器或与手持式控制器100耦接的计算设备上执行的游戏(或其他应用程序)相关联的数据。计算机可读介质810还可包括设备记录数据库818,该设备记录数据库存储与手持式控制器100所耦接的设备诸如计算设备800(例如PC、游戏机、远程服务器等)相关联的数据。计算机可读介质810还可存储将手持控制器100配置为用作游戏控制器的游戏控制指令820,和将手持控制器100配置为用作其他非游戏设备的控制器的通用控制指令822。
如本文其他地方所提及的,触摸传感器308可基于任何合适的触摸感测技术,诸如电容式触摸传感器、电阻式触摸传感器、红外触摸传感器,利用声学声波来检测手指102的接近度的触摸传感器,或者任何其他类型的触摸传感器308。触摸传感器308可表示与可移动控件(诸如本文所描述的操纵杆112(2))相关联的触摸传感器。然而,手持式控制器100可包括多个触摸传感器,诸如与附加控件相关联的附加触摸传感器,包括用于触控板等的触摸传感器。在利用基于电容的感测的具体实施中,触摸传感器308可包括电极(例如,跨电容型传感器的发射器电极和接收器电极),并且可向这些电极施加电压,使得这些电极被配置为测量这些电极处的电容变化,该电容变化可被转换为触摸传感器数据。触摸传感器308的这些电极处的电容变化可受到靠近这些电极的对象(诸如手指102)的影响。原始电容可被数字化成可由手持式控制器100的逻辑处理的接近度值。
压力传感器312可包括具有与电阻膜间隔的导电材料(例如,半导体材料,诸如墨水组合物)的FSR,以及致动器,该致动器被配置为将力传递到该电阻膜上,使得电阻材料在施加到该致动器的压缩力的作用下接触该导电材料。FSR可响应于变化的力而表现出变化的电阻。FSR可以是“分流模式”FSR或“通过模式”FSR。对于分流模式FSR,与电阻膜间隔的导电材料可以是多个叉指状金属指。当向FSR的致动器施加力时,电阻膜接触叉指状金属指中的一些叉指状金属指,使金属指分流,从而改变FSR输出端子上的电阻,该电阻可被数字化成可由手持式控制器100的逻辑处理的FSR值。压力传感器312可附加地或另选地包括其他类型的压力感测机构,诸如压电传感器、应变仪等。
运动传感器804可被实现为惯性测量单元(IMU),该惯性测量单元包括一个或多个陀螺仪和/或加速度计和/或磁力仪和/或罗盘、或者任何其他合适的运动传感器。在一些实施方案中,运动传感器804可至少部分地实现为被配置用于特征跟踪的相机或3D传感器等。在一些实施方案中,运动传感器804可使用在手持式控制器100的壳体106的外部上的多个标记,诸如反射器或灯(例如,红外或可见光灯),当由外部相机观察到或由光(例如,红外或可见光)照亮时,这些标记可提供一个或多个参考点以供软件解译生成运动、位置和取向数据。例如,手持式控制器100可包括对由基站投射或散播到手持式控制器100的环境中的光(例如,红外或可见光)敏感的光传感器。在一些实施方案中,运动传感器804可用于通过提供六分量运动感测来获得运动传感器数据。也就是说,运动传感器804可被配置为感测和生成围绕3D空间的平移和/或旋转移动形式的运动传感器数据。运动传感器804可被配置为测量和生成与3D空间中的平移移动(X,Y,和Z移动)的范围、速率和/或加速度,以及3D空间中的旋转(翻滚、俯仰和偏航)的范围、速率和/或加速度有关的数据。可根据3D坐标系(诸如笛卡尔(X、Y和Z)或球面坐标系)来生成测量结果。运动传感器数据可包括平移移动和角移动的位移(例如,自前一时间记录以来的位移)、速度和/或加速度(分别由变量d、v、a和θ、ω、α表示)方面的测量结果。运动传感器数据还可包括以任何合适的时间间隔收集运动传感器数据的时间,从而收集并临时地或永久地存储运动传感器数据的历史。
尽管已经用特定于结构特征的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不必限于所描述的具体特征。相反,具体特征被公开为实现权利要求的例示性形式。
- 使用手指的存在激活手持式控制器的运动控制功能
- 用于确定功能单元中被激活的功能的功能存在的方法以及可根据该方法运行的功能单元