CN112512648A - 握住和释放虚拟对象 - Google Patents

握住和释放虚拟对象 Download PDF

Info

Publication number
CN112512648A
CN112512648A CN201980041062.8A CN201980041062A CN112512648A CN 112512648 A CN112512648 A CN 112512648A CN 201980041062 A CN201980041062 A CN 201980041062A CN 112512648 A CN112512648 A CN 112512648A
Authority
CN
China
Prior art keywords
velocity
time
handheld controller
virtual object
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980041062.8A
Other languages
English (en)
Inventor
K·布拉德纳
J·斯洛卡姆
S·D·尼特菲尔德
L·杨
J·G·莱因堡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Valve Corp
Original Assignee
Valve Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/389,499 external-priority patent/US11625898B2/en
Application filed by Valve Corp filed Critical Valve Corp
Publication of CN112512648A publication Critical patent/CN112512648A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/218Input arrangements for video game devices characterised by their sensors, purposes or types using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

本文描述了用于基于从一个或多个手持控制器接收的输入来握住和释放显示器上的虚拟对象的技术和设备。在一些情况下,手持控制器包括被配置为接收来自抓握所述手持控制器的用户的手的输入的一个或多个传感器,诸如接近度传感器、力传感器(例如,抗力传感器等)、加速度计和/或其他类型的传感器。所述控制器上的和/或耦接到所述控制器的设备(例如,游戏机、服务器等)上的硬件、软件和/或固件可从这些传感器接收数据,并且在显示器诸如监视器、虚拟现实系统等上生成对应的手势的表示。

Description

握住和释放虚拟对象
相关申请的交叉引用
本申请要求2019年4月19日提交的美国专利申请16/389,499的优先权,该美国专利申请根据35 U.S.C.§120、作为继续申请要求2018年6月20日提交并且名称为“HOLDINGAND RELEASING VIRTUAL OBJECTS”的待审美国临时专利申请序列号62/687,774的优先权,该待审美国临时专利申请也根据35 U.S.C.§120、作为继续申请要求2018年6月21日提交并且名称为“STEAMVR KNUCKLES DRIVER”的待审美国临时专利申请序列号62/687,806的优先权。
此外,本申请根据35 U.S.C.§120、作为部分继续申请要求2017年12月7日提交、名称为“ELECTRONIC CONTROLLER WITH FINGER SENSING AND AN ADJUSTABLE HANDRETAINER”的待审美国专利申请序列号15/834,372的优先权,该待审美国专利申请本身作为部分继续申请要求2017年8月17日提交、名称为“ELECTRONIC CONTROLLER WITH HANDRETAINER AND FINGER MOTION SENSING”的美国专利申请序列号15/679,521的优先权,该美国专利申请本身作为部分继续申请要求2016年10月11日提交的美国专利申请序列号29/580,635的优先权,并且要求2017年6月16日提交的美国临时专利申请62/520,958的优先权。
背景技术
电子游戏行业已经变得庞大而重要,并且在软件和相关硬件方面催生了许多创新。已经针对各种游戏应用设计、制造和销售了各种手持电子游戏控制器。这些创新中的一些在电子游戏行业之外也适用,诸如用于工业机械、国防系统、机器人等的控制器。在电子游戏行业业内及业外,虚拟现实(VR)系统的应用在当代受到广泛关注,并且技术发展日新月异。用于VR系统的控制器需要执行多种不同的功能,而且通常是在优化某些所需特性(如易用性等)的同时满足严格的(有时甚至是相互矛盾的)设计约束。
VR系统中使用的控制器的一个示例性目标是模拟自然交互,诸如对虚拟对象的紧握、抛出、挤压或其他交互。然而,VR和其他类型的系统可能难以确定用户何时打算紧握、抛出、挤压或以其他方式操纵虚拟对象,因此难以在显示器上准确地描绘这些交互。
附图说明
图1描绘了根据本公开的示例性实施方案的控制器,其中手固定器处于打开位置。
图2描绘了图1的控制器在用户的掌心向上的张开的手中。
图3描绘了图1的控制器在用户的握拳的手中。
图4描绘了图1的控制器在用户的掌心向下的手中。
图5描绘了根据本公开的示例性实施方案的一对控制器,其中手固定器处于打开位置。
图6A描绘了根据本公开的另一个示例性实施方案的右手控制器的前视图。
图6B描绘了图6A的右手控制器的后视图。
图7A描绘了根据本公开的实施方案的用于红外光传感器的窗口。
图7B描绘了根据本公开的另一个实施方案的用于红外光传感器的窗口。
图8示出了图6A的右手控制器的侧视图,其中部分包裹该控制器的手柄的管状壳体的外壳被拆下以显露其内表面上的仪器。
图9A描绘了图6A的右手控制器的横截面,其中部分包裹该控制器的手柄的管状壳体的外壳被拆下。
图9B描绘了图9A的横截面,不同的是外壳安装在其正常操作位置。
图10A描绘了根据本公开的另一个示例性实施方案的右手控制器的前视图,其具有部分闭合的手固定器。
图10B描绘了图10A的控制器的前视图,不同的是手固定器完全打开。
图11A描绘了根据本公开的示例性实施方案的控制器的头部和手柄部件的前视图,包括可以围绕头部周向移动的手固定器锚定件。
图11B描绘了图11A的头部和手柄部件,不同的是从头部移除了面板以露出能够锁定的卡圈部分,该卡圈部分可有助于选择性地围绕头部周向调节手固定器锚定件。
图12A描绘了根据本公开的另选实施方案的部分组装的控制器,其中移除了手固定器部件。
图12B描绘了图12A的控制器的沟道特征的近距离视图。
图12C是图12B所描绘的沟道的剖视图。
图13A描绘了根据本公开的示例性实施方案的力感测电阻器(FSR)。
图13B描绘了图13A的FSR的前视图。
图13C绘了沿截面A-A截取的图13B的FSR的横截面,该横截面示出了由聚酰亚胺制成的第一基板。
图14描绘了在构造FSR的示例性过程中的逐个阶段的FSR的各种前视图。
图15描绘了根据本公开的另一个实施方案的FSR的示例性层。图15未按比例绘制。相反,呈现图15是为了举例说明示例性的材料层,并不意味着代表FSR的实际剖视图。
图16描绘了根据本公开的另一个实施方案的FSR的示例性层。图16未按比例绘制。相反,呈现图16是为了举例说明示例性的材料层,并不意味着代表FSR的实际剖视图。
图17描绘了根据本公开的另一个实施方案的FSR的示例性层。图17未按比例绘制。相反,呈现图17是为了举例说明示例性的材料层,并不意味着代表FSR的实际剖视图。
图18A描绘了根据本公开的另一个实施方案的在用于形成完整FSR的折叠步骤之前的FSR的前视图。
图18B描绘了在执行折叠步骤之后图18A的FSR的前视图。
图18C描绘了沿截面B-B截取的图18A的FSR的横截面。
图18D描绘了图18A的FSR的示例性层。图18D未按比例绘制。相反,呈现图18D是为了举例说明示例性的材料层,并不意味着代表FSR的实际剖视图。
图19是用于制造FSR的示例性过程的流程图。
图20示出了示例性用户界面(UI),该示例性用户界面可用于为电子系统配置控制器的基于FSR的输入机构以在不同的压力模式下操作。
图21描绘了力与时间的关系图,举例说明了基于FSR的输入的“软按压”的“一触即发”风格。
图22描绘了力与时间的关系图,举例说明了基于FSR的输入的“软按压”的“扫射”风格。
图23描绘了图1的控制器,该控制器具有设置在控制器主体内的各种传感器。
图24是用于基于由触摸传感器提供的触摸数据来重新校准手持控制器的FSR的示例性过程的流程图。
图25是用于基于由用于附近控件的触摸传感器提供的触摸数据来忽略手持控制器的FSR处的杂散输入的示例性过程的流程图。
图26是用于基于由手持控制器的手柄中的接近度传感器阵列检测到的手的大小来调节用于FSR的FSR输入阈值的示例性过程的流程图。
图27是用于基于FSR输入值来激活和停用用于手持控制器的控件的绑定的示例性过程的流程图。
图28是用于使用时间延迟来确定是否针对多个阈值中的第一阈值来忽略FSR输入的示例性过程的流程图。
图29示出了诸如图1的控制器的手持控制器的示例性部件。
图30示出了可使用图1的手持控制器执行的示例性一系列手势。如图所示,用户可操作该手持控制器以使显示设备描绘用户的虚拟手握住虚拟对象并在之后释放虚拟对象。
图31示出了手持控制器和/或可耦接至该控制器的显示设备的示例性部件。该控制器和/或一个或多个显示设备可存储或以其他方式访问对象交互模块和其他部件,以启用图31的示例性手势系列和其他示例性手势。
图32至35共同示出了对象交互模块可实现以用于使显示设备呈现虚拟对象的紧握和释放的示例性过程。
图36示出了放置对象模块可以进行的不同计算,这些计算用于确定如何呈现虚拟对象的释放,诸如虚拟对象的速度、轨迹、降落位置和/或发射位置。
图37A示出了一个示例,其中放置对象模块计算虚拟对象在被释放时的速度,所计算的速度至少部分地基于在确定用户释放虚拟对象的意图之前在预定时间范围内出现的峰值速度。
图37B示出了一个示例,其中放置对象模块确定在用户打算释放对象时虚拟对象的位置,以及放置对象模块呈现虚拟对象从该位置被释放。
图37C示出了一个示例,其中放置对象模块计算在当用户打算释放虚拟对象时虚拟对象已经被释放的情况下虚拟对象的轨迹,并且呈现虚拟对象沿着该轨迹行进,不过是从虚拟对象在显示器上的当前位置开始。
图37D示出了一个示例,其中放置对象模块基于在当用户打算释放虚拟对象时对象已经被释放的情况下虚拟对象的轨迹来计算虚拟对象的降落位置。
图38示出了一个示例性过程,该过程在第一时间确定虚拟手将释放虚拟对象,并且至少部分地基于虚拟对象在第一时间之前的预定时间范围内的峰值速度或虚拟对象的与峰值速度相关联的位置来在显示器上呈现虚拟手释放该虚拟对象。
图39示出了一个示例性过程,该过程在第一时间确定虚拟对象将被释放,并且至少部分地基于虚拟对象在第一时间之前的预定时间范围内的峰值速度或虚拟对象的与峰值速度相关联的位置来在显示器上呈现虚拟对象被释放。
具体实施方式
本文描述了用于基于从一个或多个手持控制器接收的输入来握住和释放显示器上呈现的虚拟对象的技术和设备。在一些情况下,手持控制器包括被配置为接收来自抓握和/或移动所述手持控制器的用户的手的输入的一个或多个传感器,诸如接近度传感器、力传感器(例如,抗力传感器等)、加速度计和/或其他类型的传感器。所述控制器上的和/或耦接到所述控制器的设备(例如,游戏机、服务器等)上的硬件、软件和/或固件可从这些传感器接收数据,并且在显示器诸如监视器、虚拟现实(VR)头戴式设备等上生成对应的手势的表示。
在一个示例中,传感器数据用于确定用户何时试图拾取显示器上呈现的虚拟对象。例如,系统(例如,控制台、服务器等)可在显示器上呈现一个或多个虚拟对象,作为游戏或其他类型的应用程序的一部分。用户可利用他或她的手中的控制器来尝试握住虚拟对象,即,使该系统呈现用户的虚拟手拾取虚拟对象的表示。在呈现虚拟手握住虚拟对象之后,可使用其他传感器数据来确定用户何时打算释放虚拟对象。在识别出指示对象的释放的传感器数据之后,系统可引起对象被释放(例如,落下、抛出等)的呈现。
在一个示例中,手持控制器包括可被用户选择性地握住的控制器主体。控制器主体可包括接近度传感器阵列,这些接近度传感器被配置为基于电容值或其他传感器读数来检测用户的手指的接近度。另外,该控制器可包括一个或多个力传感器(例如,抗力传感器),这些力传感器被配置为确定在控制器主体的各个位置上的力的大小。该控制器还可包括被配置为生成指示在用户移动他或她的手时手持控制器的变化的速度的速度数据的加速度计或其他传感器。
该控制器上或有线或无线耦接到该控制器的设备上的硬件和/或软件可接收这些电容值、力值和/或速度值,以识别不同的用户手势。例如,如果用户当前没有在“握住”虚拟对象,则在接收到这些不同类型的传感器数据时,该硬件和/或软件可尝试确定传感器数据何时指示用户打算握住虚拟对象。在一些情况下,该硬件和/或软件可确定传感器数据何时满足用于一种或多种不同类型的握持状态的标准,诸如“力-捏合状态”、“力-抓握状态”、“电容-捏合(cap-pinch)状态”和/或“cap-grip(电容-抓握)状态”。在一些情况下,该硬件和/或软件可响应于一个或多个力传感器生成超过力阈值的力值并且一个或多个按钮被按下来识别力-捏合状态。例如,如果位于手持控制器顶侧的力传感器(用户的拇指在其下方)返回的力值大于特定阈值(例如,传感器最大力读数的1%,最大力读数的25%等),并且如果用户的食指或其他手指可选择的触发按钮被按压,则所描述的技术可识别力-捏合状态。也就是说,响应于这些传感器读数,该硬件和/或软件可确定用户正试图通过“捏合”来握住虚拟对象。同时,该软件和/或硬件可响应于手持控制器的控制器主体上的一个或多个力传感器测量到大于或等于力阈值(例如,传感器的最大力读数的10%,传感器的最大力读数的25%等)的一个或多个力值来识别力-抓握状态。
在其他示例中,该硬件和/或软件可基于由一个或多个接近度传感器测量的一个或多个接近度值(例如,电容值),诸如由在用户的拇指所在的控制器的顶部部分上的接近度传感器和由用户的食指或其他手指所在的控制器的控制器主体上的接近度传感器测量的值,来识别电容-捏合状态。在一些情况下,该软件和/或硬件可将这两种读数取平均值,并将平均值与阈值进行比较。如果平均值大于阈值(例如,最大传感器读数的30%,最大传感器读数的60%等),则可识别电容-捏合状态。在其他情况下,该软件和/或硬件可比较这两个值的最大或最小读数,并将该数字与阈值进行比较。在又一示例中,可基于由驻留在控制器的控制器主体上的一个或多个接近度传感器记录的接近度值来识别电容-抓握握住。例如,可对由与用户的中指、无名指和小指对应的接近度传感器测量的接近度值进行平均并且与阈值进行比较。如果该平均值大于阈值(例如,最大传感器读数的50%,最大传感器读数的70%等),则可识别电容-抓握状态。在其他情况下,该软件和/或硬件可比较这两个值的最大或最小读数,并将该数字与阈值进行比较。当然,尽管描述了一些示例性握住状态,但是可采用其他类型的握住状态。
在确定接收到的传感器数据指示握住状态时,该硬件和/或软件可存储表明特定虚拟对象现在正在被握住的指示。例如,该硬件和/或软件可确定用户的虚拟手在正在执行的应用程序中的位置,以及确定与虚拟手的位置最接近的虚拟对象,并且可存储表明该虚拟对象现在正被用户握住的指示。然后,该硬件和/或软件可根据所确定的握住类型(例如,捏合、抓握等),继续在显示器上呈现虚拟对象正被用户的虚拟手握住。尽管所呈现的虚拟手可包括人手的表示,但是应当理解,“虚拟手”可采取能够被显示为握住物品的任何其他机构(例如,爪子或钳子、工具等)。此外,“握住”虚拟对象可包括“虚拟手”直接握住对象或以其他方式控制对象,诸如使对象本身在虚拟空间中移动,但是经由手持控制器受到用户的控制。
在握住类型是“力-捏合”或“电容-捏合”的情况下,该表示可对应于虚拟手利用用户的(例如)拇指和食指捏住虚拟对象。在握住类型是力-抓握或电容-抓握的情况下,该表示可对应于虚拟手抓握虚拟对象(例如,在用户的虚拟手的手掌中,使虚拟手指环绕着对象)。
在该硬件和/或软件确定虚拟对象正被握住之后,它可继续监视传感器数据以确定虚拟对象何时被释放。例如,该硬件和/或软件可分析力数据、接近度数据和/或速度数据,以确定用户何时打算发起物品的释放。在识别到释放的发起之后,该硬件和/或软件然后可分析传感器数据以确定何时执行释放,例如,何时将虚拟对象表示为落下、抛出等。在一些情况下,可分析速度数据、电容数据、力数据等以进行该确定。此外,如果该硬件和/或软件没有识别出指示对象释放的传感器数据,则可在发起释放后的预定时间量(例如,以秒、帧数等来度量)内释放虚拟对象。在每种情况下,虚拟对象可在显示器上呈现为从用户的虚拟手中被释放。
当然,尽管以上示例描述了对象被抛出或落下,但是在其他情况下,本文描述的技术可利用传感器数据来生成其他虚拟手势。例如,力数据可用于响应于用户用阈值力大小握住控制器主体而生成虚拟对象被粉碎的表示。
除上述之外,本文描述的技术可至少部分地基于所接收的传感器数据来确定如何呈现虚拟对象的释放。例如,当该硬件和/或软件确定虚拟对象将被释放时,该硬件和/或软件可计算对象的速度(例如,速率和方向)、虚拟对象将被释放的位置、虚拟对象的从释放位置到虚拟对象的降落点或其他停止点的轨迹、虚拟对象的降落位置等中的一者或多者。
在一些情况下,该硬件和/或软件可确定用户已打算在某个时间点释放对象,该时间点例如比用户预期的实际时间稍晚。也就是说,假设在传感器数据生成之后,该硬件和/或软件分析了来自手持控制器的该传感器数据,则在由握住手持控制器的用户表达释放对象的意图与确定该意图之间可能存在滞后。因此,这些技术可尝试减轻这种滞后的影响。
为此,在确定传感器数据指示虚拟对象将被释放时,本文描述的硬件和/或软件可执行“追忆”以确定用户可能打算释放对象的时间点(例如,帧)。例如,在第一时间识别出对象的释放的发起时,该硬件和/或软件可从第一时间之前预定时间量分析传感器数据。该预定时间量可按帧(例如,前面的五帧、十五帧、五十帧等)、根据原始时间(例如,前面的五毫秒、五秒等),或以任何其他方式定义。
在一个具体示例中,该硬件和/或软件可分析与先前十五帧相关联的传感器数据,以确定用户何时可能打算发起释放。在一些情况下,该硬件和/或软件可分析手持控制器在前面十五帧中的每个帧的速度大小,以识别该时间范围内的峰值速度。与峰值速度相关联的帧可被指定为与用户打算释放对象的时间相对应。在识别出该帧之后,该硬件和/或软件可至少部分地基于与该帧关联的信息和/或与该帧关联的传感器数据来在显示器上呈现虚拟对象的释放。
在一个示例中,在识别出与峰值速度相关联的帧之后,该硬件和/或软件可计算该帧、该帧之前的一帧和该帧之后的一帧的平均速度。平均速度可包括这三个帧之间的平均速率和平均方向。然后,该硬件和/或软件可至少部分地基于该平均速度来在显示器上呈现虚拟对象的释放。例如,该硬件和/或软件可呈现虚拟对象以所计算的平均速度的平均速率和平均方向离开虚拟手。
附加地或另选地,该硬件和/或软件可呈现虚拟对象在与峰值速度相关联的时间在虚拟对象的位置处被释放。也就是说,虽然在该硬件和/或软件确定用户打算发起释放时虚拟对象可能处于第一位置,但在出现峰值速度的时间(在第一时间的预定时间范围内),虚拟对象可能已经位于第二不同位置。虚拟对象因此可被呈现为在该第二先前位置处被释放。
在其他情况下,该硬件和/或软件可计算在虚拟对象已经在预期时间被释放的情况下虚拟对象的降落位置,并且可显示虚拟对象在该位置降落。也就是说,在识别出与峰值速度相关联的帧之后,该硬件和/或软件可使用峰值速度和虚拟对象在该帧处的位置来计算虚拟对象已经在该时刻被释放的情况下虚拟对象的轨迹。该轨迹可在降落位置(例如,地面上的点,目标上的点等)终止。然后,该硬件和/或软件可计算虚拟对象在当前时间的当前位置与降落位置之间的轨迹,并且可使得在显示器上呈现虚拟对象以该计算出的轨迹行进。在其他示例中,与此同时,该硬件和/或软件可在显示器上呈现虚拟对象沿着在该对象在峰值速度点被释放的情况下发生的轨迹行进,不过该轨迹是从虚拟对象在当前时间的当前位置开始。
当然,虽然上文描述了并且在下文参考图36至图39讨论了确定虚拟对象的速度、轨迹、降落位置或发射位置的一些示例,但是应当理解,所描述的硬件和/或软件可呈现虚拟对象以多种其他方式被释放。
除上述之外,本文还描述了用于生成这些力值的力感测电阻器(FSR)。如本文所述的FSR可被构造成具有由聚酰亚胺制成的第一基板,第一基板设置在电阻性而且柔性的第二基板下方。第一基板具有设置在其前表面上的导电材料(例如,多个叉指状金属指)。一个或多个间隔层也插置在第一基板和第二基板之间,使得第二基板的中心部分悬在第一基板上方。致动器设置在第二基板上,以将作用力传递到第二基板的前表面上。当这种情况发生时,第二基板的中心部分向内朝向第一基板挠曲,并且第二基板的后表面上的一些电阻材料变得与第一基板的前表面上的一些导电材料接触。随着作用力增大,与电阻材料接触的导电材料的表面积增大。同样,随着作用力减小,与电阻材料接触的导电材料的表面积减小。表面积接触在可变作用力下的这种变化导致FSR充当可变电阻器,其电阻值由作用力控制。
至少部分地由于用于第一基板的聚酰亚胺材料,所公开的FSR表现出使其能够在VR系统的控制器以及其他可能的最终用途应用中使用的特性。例如,聚酰亚胺基板允许选择性地将FSR的输出端子(或引线)直接焊接到板(例如PCB)上,而无需使用笨重的插头连接器,这使得FSR具有较小的占地面积,如与需要大型笨重的插头连接器的基于聚酯薄膜的FSR相比。因为聚酰亚胺通常用作柔性电路的首选材料,所以FSR的聚酰亚胺基板可方便地将FSR连接到其他柔性电路,这可降低制造所公开的FSR的成本,如与制造常规FSR的成本相比。聚酰亚胺还可承受高温,诸如回流焊炉的高温,从而为节省成本的制造过程打开了大门。此外,与常规的FSR相比,当作为所公开的FSR的第一基板时,聚酰亚胺表现出所需的特性,诸如更小的滞后、更高的可重复性。总体而言,所公开的FSR(具有由聚酰亚胺制成的第一基板)表现出模拟真实模拟输入的力-电阻响应曲线,这使得该FSR能够用于VR系统的控制器中。
本文还公开了一种用于电子系统(例如,VR系统)的控制器,该控制器包括所公开的具有由聚酰亚胺制成的第一基板的FSR。该控制器可被构造成由用户的手握住并且可包括控制器主体。所公开的FSR可被安装在控制器主体内的结构的平面上,该结构诸如安装在控制器主体的手柄内的结构,或者安装在控制器主体的头部上包括的至少一个拇指操作控件下方的结构。当在用于电子系统的控制器中实现时,该FSR被配置为测量电阻值,该电阻值对应于施加到控制器相关部分的力(例如,施加到手柄外表面、施加到至少一个拇指操作控件等的力)。
在用于VR系统的控制器中实现FSR允许将自然交互作用的范围扩展到使用常规控制器的当前状态之外。例如,电子系统和/或控制器可以经由FSR确定用户挤压控制器的手柄的力和/或用户按下拇指操作控件的力。因为所公开的FSR表现出理想的响应曲线,所以这样的控制器可将变化力的按压或挤压转换为变化的数字化数值,该数字化数值可用于电子游戏以控制游戏方式(例如,粉碎岩石、挤压气球、切换游戏角色可使用的可用武器等)。具有理想响应特性的FSR可代替常规机械开关,以减少用户的疲劳和/或减少控件的意外致动。例如,FSR可通过检测作用力何时超过阈值来充当开关。该阈值是动态调节的。例如,可将阈值调节为较低的值,以减少游戏过程中的手部疲劳(例如,当用户按压与FSR相关的控件以在游戏过程中频繁开枪时)。与此相反,可将阈值调节为更高的值,以减少意外控制操作的情况,这在用户可能会对电子游戏中的刺激做出反应的激动人心或令人兴奋的游戏中可能有用。
本文还公开了一种手持控制器,该手持控制器包括用于基于该控制器的FSR提供的力数据、结合由触摸传感器或接近度传感器阵列分别提供的触摸数据或接近数据来实现传感器融合算法的逻辑。示例性传感器融合算法可用于当对象接触如由触摸传感器检测到的与FSR相关联的控件时重新校准FSR。例如,该逻辑可基于由触摸传感器提供的触摸数据来确定对象已经变得与被构造成被按压的控制器主体上的控件接触。该逻辑还可基于在对象已经变得与控件接触时由FSR提供的力数据来确定由FSR测量的电阻值,并可将该电阻值与数字化的零FSR输入值相关联,以便在检测到控件上的触摸时“重新校准”FSR。
另一个示例性传感器融合算法可用于当对象与附近控件接触时忽略由FSR检测到的杂散输入。例如,该逻辑可基于由FSR提供的力数据来确定由FSR测量的电阻值,该电阻值对应于达到或超过阈值的数字化FSR输入值,满足该阈值以便为手持控制器的第一控件注册FSR输入事件。该逻辑还可基于在FSR测量FSR电阻值时由触摸传感器提供的触摸数据来确定对象与手持控制器的邻近第一控件的第二控件接触,并且可阻止在对象与第二控件接触时注册该FSR输入事件。
另一个示例性传感器融合算法可用于检测紧握控制器手柄的手的手大小,如由接近度传感器阵列所检测到的,并且根据手大小来调节用于在FSR处注册FSR输入事件的阈值力。这对于使手较小的用户更容易进行基于力的输入(对于手较大的用户而言更难一些,但并不困难)而言可能很有用。例如,在空间上分布在手持控制器的手柄上的接近度传感器的阵列可用于确定正在紧握手柄的手的大小,并且该逻辑可基于手的大小来将阈值调节到为了注册关于手柄的FSR输入事件而满足的经调节的阈值。
图1至图4示出了根据本公开的示例性实施方案的用于电子系统的控制器100。控制器100可由诸如VR电子游戏系统、机器人、武器或医疗设备的电子系统利用。控制器100可包括具有手柄112的控制器主体110,和将控制器100保持在用户的手中(例如,用户的左手)的手固定器120。手柄112包括管状壳体,该管状壳体可以任选地是基本上圆柱形的。在这种语境下,基本上圆柱形的形状不必具有恒定的直径或完美的圆形横截面。
在图1至图4的实施方案中,控制器主体110可包括头部(在手柄112和远侧端部111之间),该头部可任选地包括一个或多个拇指操作控件114、115、116。例如,如果当控制器100被握在用户的手中时,倾斜按钮或任何其他按钮、旋钮、滚轮、操纵杆或轨迹球在正常操作过程中可由用户的拇指方便地操纵,则可将它们视为拇指操作控件。
控制器100优选地包括固定到控制器主体110的跟踪构件130,并且任选地包括两个鼻状物132、134,每个鼻状物从跟踪构件130的两个相对的远侧端部中的对应的一个远侧端部突起。在图1至图4的实施方案中,跟踪构件130优选地但不一定是具有弓形形状的跟踪弧。跟踪构件130包括设置在其中的多个跟踪换能器,优选地,在每个突起的鼻状物132、134中设置至少一个跟踪换能器。还可在控制器主体110中设置附加的跟踪换能器,优选地,邻近远侧端部111设置至少一个远侧跟踪换能器。
前述跟踪换能器可以是响应电子系统发射的电磁辐射(例如,红外光)的跟踪传感器,或者这些跟踪换能器可另选地是发射电子系统所接收的电磁辐射(例如,红外光)的跟踪信标。例如,电子系统可以是VR游戏系统,其向控制器100广泛地广播(即涂施)脉冲红外光,跟踪构件130的多个跟踪换能器是红外光传感器,它们可接收广播的脉冲红外光或被遮挡以致无法接受该脉冲红外光。每个鼻状物132、134中的跟踪换能器(例如每个鼻状物中的3个传感器)优选地在跟踪构件130的每个远侧端部上悬垂于用户的手上方,因此更好地暴露(围绕用户的手)以接收由电子系统发射的电磁辐射或将电磁辐射以更多的角度传输到电子系统,而不会产生不可接受的遮挡。
在一些情况下,跟踪构件130和控制器主体110由诸如硬塑料的基本上刚性的材料制成,并且被牢固地固定在一起,使得它们不会相对于彼此明显地平移或旋转。以这种方式,对这一系列跟踪换能器在空间中的平移和旋转的跟踪优选地不因跟踪换能器相对于彼此的运动而变得复杂。例如,如图1至图4所示,跟踪构件130可通过在两个位置处接合到控制器主体110而固定到控制器主体110。手固定器120可在这两个位置附近附接到控制器100(控制器主体110或跟踪构件130),以使用户的手掌抵靠在这两个位置之间的手柄112的外表面上。
在某些实施方案中,跟踪构件130和控制器主体110可包括具有材料连续性的一体式单块部件,而不是组装在一起。例如,跟踪构件130和控制器主体110可通过单个注塑成型工艺步骤模制在一起,从而产生包括跟踪构件130和控制器主体110两者的一个一体式硬塑料部件。另选地,跟踪构件130和控制器主体110可以首先分开地制造,然后组装在一起。无论采用哪种方式,跟踪构件130都可被认为固定到控制器主体110。
手固定器120在图1中示出为处于打开位置。手固定器120可以通过弯曲的弹性构件122选择性地偏置在打开位置,以在用户紧握控制器而且视觉被VR头盔挡住时,便于用户将左手插入手固定器120和控制器主体110之间。例如,弯曲的弹性构件122可以任选地是弹性弯曲的柔性金属条,或者可包含可基本上弹性弯曲的另选塑料材料,诸如尼龙。为了让用户感觉舒适,弯曲的弹性构件122可任选地部分或完全位于垫或织物材料124(例如,氯丁橡胶护套)内部或被其覆盖。另选地,该垫或织物材料124可仅设置在(例如粘附到)弯曲的弹性构件122的面对用户的手的一侧上。
手固定器120的长度任选地可以是可调节的,例如通过包括由弹簧偏置的导绳器128收紧的拉绳126。拉绳126可以任选地具有可用作挂绳的多余长度。护套124任选地可以附接到拉绳。在某些实施方案中,弯曲的弹性构件122可通过系紧的拉绳126的张力而被预紧。在这样的实施方案中,弯曲的弹性构件122施加到手固定器120的张力(以将其偏置在打开位置)使手固定器在拉绳126未被系紧时自动打开。本公开还设想了调节手固定器120的长度的另选常规方法,诸如防滑钉、橡皮筋(当手插入时会暂时拉伸,从而施加弹性张力以压在手背上)、可调节长度的钩环带附件等。
手固定器120可设置在手柄112和跟踪构件130之间,并且被构造成接触用户的手的手背。图2示出了操作期间的控制器100,其中用户的左手插入其中,但是没有紧握控制器主体110。在图2中,手固定器120闭合并在手上变紧,以将用户的手掌物理地偏置抵靠手柄112的外表面。以此方式,手固定器120在闭合时可将控制器100保持在手上,即使手没有紧握控制器主体110也如此。图3和图4描绘了操作期间的控制器100,这时手固定器120关闭,并且手正在紧握控制器主体110并且拇指正在操作一个或多个拇指操作控件(例如,触控板116)。
控制器主体110的手柄112优选地包括接近度传感器的阵列,这些接近度传感器在空间上部分或完全围绕手柄外表面分布。尽管阵列可包括网格,但是该阵列中的接近度传感器不必具有相等的尺寸并且不必在它们之间具有相等的间隔。该接近度传感器阵列优选地响应用户的手指与手柄112的外表面的接近度。例如,该接近度传感器阵列可以是嵌入在手柄112的外表面下方的多个电容传感器,其中该外表面包括电绝缘材料。这种电容传感器阵列与用户的手的一部分之间的电容与它们之间的距离成反比。可通过将RC振荡器电路连接到该电容传感器阵列中的一个元件来检测电容,并注意电路的时间常数(以及振荡的周期和频率)将随电容而变化。以这种方式,该电路可检测用户的手指从手柄112的外表面的释放。
当手固定器120(例如,手固定带)紧闭时,不仅可以防止控制器100从手中掉落,还可以防止手指相对于手柄112的接近度传感器阵列过度平移,从而更可靠地感测手指运动。电子系统可包括体现手指的解剖学上可能的运动的算法,以更好地使用来自接近度传感器阵列的感测来呈现受控人物的手的张开、手指指向或手指相对于控制器或相对于彼此的其他运动。这样,用户引起控制器100和/或手指的移动可帮助控制VR游戏系统、国防系统、医疗系统、工业机器人或机器或其他设备。在VR系统应用中(例如,用于游戏,训练等),系统可基于跟踪换能器的运动来呈现抛出运动,并且可基于感测到的用户手指从控制器手柄的外表面释放来呈现所抛出的对象的释放。
因此,手固定器120的功能(允许用户“放开”控制器100,而控制器100实际上没有与手分离或被抛到或掉落到地板上)可实现受控电子系统的附加功能。例如,如果感测到用户对控制器主体110的手柄112的紧握的释放和恢复,则可将这种释放或紧握结合到游戏中以显示(例如在VR中显示)抛出或抓握对象。手固定器120可允许重复而且安全地完成这种功能。例如,图1至图4的实施方案中手固定器120的位置可帮助跟踪构件130保护用户的手背免受现实世界的冲击,例如当用户响应于在VR环境中感测到的提示而移动时(例如,当实际上被VR眼镜遮挡时)。
在某些实施方案中,控制器100可包括设置在控制器主体110内的可再充电电池,并且手固定器120(例如,手固定带)可包括电耦接到该可再充电电池的导电充电线。控制器100优选地还包括用于与电子系统的其余部分通信的射频(RF)发射器。这种RF发射器可由该可再充电电池供电,并且可响应拇指操作控件114、115、116、控制器主体110的手柄112中的接近度传感器和/或跟踪构件130中的跟踪传感器。
如图5所示,在某些实施方案中,控制器100可是包括相似的右控制器200的一对控制器中的左控制器。在某些实施方案中,控制器100和200可(一起)同时跟踪用户的两只手的运动和抓握,例如以增强VR体验。
图6A描绘了根据本公开的另一个示例性实施方案的右手控制器600的前视图。图6B描绘了右手控制器600的后视图。控制器600具有控制器主体,该控制器主体包括头部610和手柄612。在图6A至图6B的实施方案中,头部610包括至少一个拇指操作控件A、B、608,并且还可包括被构造成由食指操作的控件(例如触发器609)。手柄612包括被外壳640部分包裹的管状壳体。
在图6A至图6B的实施方案中,跟踪构件630在头部610以及手柄612的一端固定到控制器主体。手固定器620被构造成将用户的手掌物理地偏置抵靠在头部610和手柄612的该端部之间的外壳640上。手固定器620优选地设置在手柄612和跟踪构件630之间,并且可包括手固定带,该手固定带的长度可调节并且被构造成接触用户的手背。在图6A至图6B的实施方案中,手固定器620任选地包括拉绳628,并且任选地可通过绳锁626(在手柄612的远侧端部附近)来调节长度,该绳锁选择性地防止拉绳628在绳锁626的位置处滑动。
在图6A至图6B的实施方案中,跟踪换能器632、633设置在跟踪构件630上,其中跟踪换能器633设置在跟踪构件630的相对的远侧端部的突起鼻状物上。附加的跟踪换能器634任选地设置在头部610的远侧区域上。跟踪换能器632、633和634可以是响应于由电子系统(例如,虚拟现实游戏系统)发射的电磁辐射(例如,红外光)的跟踪传感器,或者可以是发射由电子系统接收的电磁辐射(例如,红外光)的跟踪信标。例如,电子系统可以是VR游戏系统,其向控制器600广泛地广播(即涂施)脉冲红外光,跟踪换能器632、633和634是红外光传感器,它们可接收广播的脉冲红外光。此类跟踪传感器的响应可被传回电子系统,并且该系统可解读这种响应以有效地跟踪控制器600的位置和取向。
跟踪换能器632、633、634中的一个或多个可任选地如图7A的实施方案中所示、或者另选地图7B的实施方案中所示、或者另选地以未示出的常规方式那样构造。图7A的下部部分描绘了电连接到柔性电路751的红外光传感器750的分解透视图,该红外光传感器被示为在包括不透红外光的塑料的上盖开窗壳体壁755的矩形部分下方。开窗壳体壁755包括窗口756。窗口756优选地包括透射红外光的聚碳酸酯塑料,并且可包括底侧凹部以容纳红外光传感器750的厚度。
根据图7A的实施方案,开窗壳体壁(例如,跟踪构件630的外侧结构,或图6A的头部610)可以由所谓的“双料射出”注塑成型工艺制成,因此该壳体壁的大部分是由不透红外光的塑料制成的,但是在红外光传感器750上方的窗口756中设置有透射红外光的塑料。
图7A的上部部分描绘了组装后的红外光传感器750、柔性电路751和开窗壳体壁755的剖视图。在图7A中示为从上方入射到窗口756的三个向下箭头的红外光穿过窗口756,由下面的红外光传感器750接收。由于壳体壁755包括不透红外光的塑料,因此撞击该壳体壁的红外光不会穿过,并且其中一部分可被反射回窗口中,从而被红外光传感器750接收。以这种方式,尽管壳体壁755的大部分包括不透红外光的塑料,但窗口756仍允许红外光影响红外光传感器750,使得红外光传感器750仅接收来自优选角度范围的红外光。
另选地,跟踪换能器632、633、634中的一个或多个可任选地如图7B的实施方案中所示那样构造。图7B的下部部分描绘了如电连接到柔性电路751的红外光传感器750的分解透视图,该红外光传感器被示为在包括不透IR的塑料的上盖壳体壁758的矩形部分下方。壳体壁758涂覆有不透红外光的膜757,该膜被图案化为包括窗口759(窗口处不存在不透红外光的膜757)。
图7B的上部部分描绘了组装后的红外光传感器750、柔性电路751、壳体壁758和不透IR的膜757的剖视图。在图7B中示为从上方入射到外壳壁758上的三个向下箭头的红外光穿过不透红外光的膜757中的窗口759,穿过那里的壳体壁758,由下面的红外光传感器750接收。由于壳体壁758包含透射红外光的塑料,因此撞击该壳体壁的红外光可能会进入其中并丢失,并且有可能通过内部反射无意而且不希望地到达附近的传感器。以这种方式,不透红外光的膜757中的窗口759允许红外光主要影响红外光传感器750。
图8示出了右手控制器600的侧视图,其中部分包裹手柄612的管状壳体的外壳640被拆下以显露其内表面上的仪器。在图8的实施方案中,该仪器可包括在空间上分布在外壳640的内表面上的接近度传感器800阵列,该接近度传感器800阵列响应用户手指与外壳640的接近度。该阵列的接近度传感器800不必具有相等的尺寸,也不必彼此规则地或相等地间隔开。在某些实施方案中,该接近度传感器800阵列优选地可以是可连接到柔性电路的多个电容传感器,该柔性电路结合至外壳640的内表面。在图8的实施方案中,外壳640包括第一电连接器部分805,该第一电连接器部分可连接到手柄612的配合的第二电连接器部分(如图9A至图9B中更详细地示出的)。
图9A至图9B描绘了图6A的右手控制器600的横截面,示出控制器手柄任选地可包括被接缝613在纵向上分开的管状壳体612a、612b,其中管状壳体部分612a和612b毗邻。在图9A中,外壳640被示为从手柄的其余部分拆下。图9B描绘了图9A的横截面,不同的是外壳640安装在其正常操作位置。在图9A至图9B的实施方案中,外壳640的第一电连接器部分805被示出为配合并且可连接到控制器手柄的第二电连接器部分905。
在图9A至图9B的实施方案中,外壳640部分地包裹管状壳体612a,612b,使其优选地与纵向接缝613重叠,这样纵向接缝613可以被定位成优化制造过程,而不是为了适应接近度传感器阵列800的所需圆周位置。在某些实施方案中,外壳640与手柄的管状壳体612a、612b的圆周部分C重叠,并且圆周部分C在角度上跨度为手柄的管状壳体612a、612b的整个圆周的至少100度但不大于170度。在某些实施方案中,这样的周向重叠可使接近度传感器阵列800能够感测用户的手指或手掌的期望部分(例如,最能指示紧握的手的区域)的接近度。
手柄的管状壳体612a、612b不必具有圆形横截面,并且无论手柄的管状壳体612a、612b是否具有圆形横截面,在本文中都使用词语“圆周”。在此,术语“圆周”是指围绕手柄的管状壳体612a、612b的整个周边,如果管状壳体612a、612b是正圆形的中空圆柱体,则其圆周可为圆形,但是如果该管状壳体的形状为非圆柱或空心棱柱形,则其圆周为圆形之外的封闭形状。
在图9A至图9B的实施方案中,印刷电路板(PCB)920可被安装在手柄的管状壳体612a、612b内,其中第二电连接器部分905电耦接到PCB 920。PCB 920任选地包括力感测电阻器(FSR)922,并且该控制器还可包括柱塞924,该柱塞将经由外壳640施加的朝向手柄的管状壳体612a、612b外侧的压缩力向内传递到FSR 922。在某些实施方案中,FSR 922与接近度传感器阵列800相结合,可促进感测用户紧握的开始以及用户这种紧握的相对强度,这可有利于某些游戏功能。
在某些实施方案中,外壳640具有外壳厚度(在图9A至图9B中径向地测量),该外壳厚度小于手柄的管状壳体部分612a或612b的壳体壁厚的三分之一。在那些实施方案中,相对于将接近度传感器阵列800设置在手柄的管状壳体612a、612b上或之中的另选实施方案,这种厚度不均可改善接近度传感器阵列800的灵敏度。
图10A描绘了根据本公开的另一个示例性实施方案的右手控制器200的前视图,其具有部分闭合的手固定器220(例如,手固定带)。图10B描绘了控制器200的前视图,不同的是手固定器220完全打开。在图10A至图10B的实施方案中,控制器200包括具有头部210和手柄212的控制器主体。头部210在控制器200的颈部区域211毗邻手柄212。手柄212优选地包括接近度传感器阵列,这些传感器在空间上恰好在其外表面下方分布,并且优选地响应用户手指与手柄212外表面的接近度。
在图10A至图10B所示的实施方案中,头部210包括拇指操作控件A、B和208。控制器200还包括跟踪构件230,该跟踪构件优选地在头部210和手柄212的远侧端部固定到控制器主体。跟踪构件230优选地包括多个跟踪换能器,这些跟踪换能器可以是响应由电子系统发射的电磁辐射(例如,由虚拟现实游戏系统发射的脉冲红外光)的传感器,或发射将由电子系统接收的电磁辐射的跟踪信标。在图10A至图10B的实施方案中,跟踪构件230优选地但不一定是具有弓形形状的跟踪弧。手固定器220优选地设置在手柄212和跟踪弧230之间。
在图10A至图10B的实施方案中,控制器200包括拉绳228和在手柄212的远侧端部附近的绳锁226。绳锁226可选择性地防止拉绳228在绳锁226处滑动。在图10A的实施方案中,随着将拉绳228逐渐进一步拉动经过绳锁226,手固定器220被拉得更紧而进入闭合位置(如图10A中所描绘的运动箭头所示)。闭合位置将用户的手掌物理地偏置抵靠在手柄212的外表面上。
在图10A至图10B的实施方案中,手固定器220优选地包括弹性构件(例如,内部或外部可弹性变形的条,例如金属条),该弹性构件将手固定器220朝向图10B所示的打开位置偏置。在图10B的实施方案中,当用户选择性地使绳锁226释放并允许拉绳228相对滑动时,朝着将弹性变形的弹性构件拉直的预加载偏置导致手固定器220自然地打开(如图10B所描绘的运动箭头所示)。该打开位置可有助于将用户的手从控制器200插入或抽出,特别是当用户的视线可能因佩戴虚拟现实眼镜而受遮挡时。
图11A描绘了控制器200的头部210和手柄212部件的前视图,包括可调节以围绕头部210在周边移动的手固定器锚定件302。图11B描绘了相同的头部210和手柄212的组件,不同的是从头部210移除了面板以露出能够锁定的卡圈部分311,该卡圈部分可有助于选择性地围绕头部210周向调节手固定器锚定件302。
在图11B的实施方案中,能够锁定的卡圈部分311可沿着由内部弓形引导件315限定的弓形路径平移。用户可选择性地锁定能够锁定的卡圈部分311,以防止锚定件302围绕头部210的周边进一步运动。现在参考图4和图10A至图11B,手固定器220的弹性构件附接到头部210的手固定器锚定件302,这允许将手固定器220朝向或远离用户的食指拇指圈(在用户的拇指和其他手指之间)进行调节。在某些实施方案中,手固定器220的弹性构件优选地通过枢转或可旋转的附接件附接到头部210的手固定器锚定件302,使得手固定器220可在该附接件的位置相对于手固定器锚定件302枢转。这种自由度是对手固定器锚定件302围绕头部210的周边的位置的可调节性的一种加成。
图12A、12B和12C描绘了部分组装的控制器400的另选实施方案,该控制器具有控制器主体,该控制器主体包括头部410和在颈部区域411中接合到头部的手柄412。在图12A至图12C的另选实施方案中,控制器主体包括设置在颈部区域411附近的沟道414。手固定器(在图12A中未示出,使得沟道414将不会被部分遮挡)包括弹性构件420,该弹性构件终止于延伸到沟道414中的突出部425。
在图12B和12C的实施方案中,突出部425包括扣件427,该扣件427防止当手固定器处于闭合位置时突出部在沟道414内的纵向移动。例如,在图12C的实施方案中,扣件427是凸轮,当手固定器突出部425的相对角度对应于手固定器的闭合位置时,即,当手固定器的闭合位置在弹性构件420上产生张力时(例如,如图12C的横截面中所示的向下方向),该扣件增大与沟道414的内表面的摩擦。
相反,当手固定器突出部425旋转到对应于手固定器的打开位置的相对角度时(例如,如图12C的横截面中所示的向上方向),扣件427和沟道414之间的摩擦可减小,并且手固定器突出部425可在沟道414内平移(如图12B所示的运动箭头所示)。沟道414优选地被取向成使得手固定器突出部沿着沟道414的平移优选地朝向或远离用户的食指拇指圈的方向调节手固定器突出部425的相对位置,例如使得控制器400可以适应不同的手大小或手指长度。在另选实施方案中,手固定器突出部425可通过常规的枢转接头可枢转地附接到手固定器的其余部分。这种旋转自由度是对手固定器突出部425沿着沟道414的可调节平移的一种加成。
图13A至C描绘了根据本公开的示例性实施方案的力感测电阻器(FSR)1300的不同视图。如图13C中的FSR 1300的横截面所示,FSR 1300可包括由聚酰亚胺制成的第一基板1302。FSR 1300还可包括设置在第一基板1302上(或上方)的第二基板1304。第一基板1302和第二基板1304可被认为是FSR 1300的两个主要基板(或层),该FSR可被认为是2层FSR1300,但是应当理解,FSR 1300包括附加的层,如将在本文中更详细地描述的。在这种已经下,相对于FSR 1300的两个主要基板,第一基板1302可以被认为是“底部”或“基部”基板,但是应当理解,在第一基板1302后面(或下方)可存在材料层。(即,在负Z方向上,如图13C所示)。
第一基板1302具有设置在第一基板1302的前表面(即,面向正Z方向的表面)上的导电材料。如将参考图14更详细地描述的,该导电材料可包括多个叉指状金属指。同时,第二基板1304(有时称为电阻“膜”)具有设置在第二基板1304的后表面(即,面向负Z方向的表面)上的电阻材料。该电阻材料可以是表现出一定程度的电阻(例如,在每平方300千欧(kOhm/sq)至400kOhm/sq的范围内的相对较高的薄层电阻)的半导电材料,诸如墨水组合物(例如,银墨水、碳墨水、它们的混合物等)。优选地,第二基板1304的薄层电阻是350kOhm/sq,但是应当理解,可使用其他薄层电阻值,包括在本文指定的薄层电阻范围之外的那些,诸如当FSR 1300用于其他应用时,诸如基于非控制器的应用。这样,本文指定的薄层电阻范围应当理解为非限制性的。在一些实施方案中,第二基板1304可由聚酯薄膜制成,电阻材料设置在第二基板1304的后表面上。在一些实施方案中,第二基板1304由聚酰亚胺制成,在后表面上具有电阻材料(例如,导电墨水组合物)。将聚酰亚胺用于第二基板1304的示例性益处是创建了可使用回流焊炉大量生产的FSR 1300,而聚酯薄膜不能承受这样的高温。
FSR 1300可包括一个或多个间隔层,该一个或多个间隔层插置在第一基板1302和第二基板1304之间,使得第二基板1304的中心部分悬在第一基板1302上方并且与第一基板1302间隔开一定距离。图13C示出了两个间隔层,包括但不限于在第一基板1302的外围设置在第一基板1302上的覆盖层1306,和设置在覆盖层1306上的粘合剂层1308。覆盖层1306可由聚酰亚胺制成,并且因此可以是与第一基板1302相同的材料。覆盖层1306的厚度(沿Z方向测量)可在10微米至15微米的范围内。粘合剂层1308的厚度(沿Z方向测量)可在50微米至130微米的范围内。因此,第二基板1304与第一基板1302间隔开的总距离可以是一个或多个间隔层的厚度的总和(例如,覆盖层1306的厚度加上粘合剂层1308的厚度)。可以超出本文指定的厚度范围的厚度来提供这些层,诸如当FSR 1300用于其他应用时,诸如基于非控制器的应用。这样,这些厚度范围应被理解为非限制性的。
致动器1310(诸如盘形的柔顺柱塞)可设置在第二基板1304上,并且被构造成将力F传递到第二基板1304的前表面上。致动器1310可由Poron制成,这是一种柔顺材料,当在致动器1310上施加力时会变形到一定程度。致动器1310可与FSR 1300的有效区域的中心同心,以便使施加的力F居中。致动器1310还跨过FSR 1300的有效区域的一部分,以便使作用力F均匀地分布在FSR 1300的有效区域的该部分上。
第二基板1304的厚度(沿Z方向测量)可在50微米至130微米的范围内。在该示例性厚度下,第二基板1304是柔性的。例如,第二基板1304可由聚酯薄膜制成,该聚酯薄膜在上述指定范围内的厚度上是柔性的。FSR1300的功能操作依赖于第二基板1304的柔性,以便使第二基板1304后表面上的电阻材料在施加到致动器1310的压缩力F的作用下变得与第一基板1302前表面上的导电材料接触。第一基板1302的厚度(沿Z方向测量)可在20微米至30微米的范围内。这种厚度的聚酰亚胺也是柔性的。因此,第一基板1302也是柔性的。同时,致动器1310的厚度(沿Z方向测量)可在780微米至810微米的范围内。可以超出本文指定的厚度范围的厚度来提供这些层,诸如当FSR 1300用于其他应用时,诸如基于非控制器的应用。这样,这些厚度范围应被理解为非限制性的。
FSR 1300可响应于施加到致动器1310的可变力F而表现出变化的阻力。例如,随着致动器1310上的力F增大,电阻减小。以这种方式,FSR 1300可被视为电阻值由作用力F控制的可变电阻器。FSR 1300可以是“分流模式”FSR 1300或“通过模式”FSR 1300,但优先地为分流模式FSR 1300。利用分流模式FSR 1300,设置在第一基板1302的前表面上的导电材料可以是多个叉指状金属指的形式。当力F被施加到致动器1310的前部(或顶部)时,第二基板1304的后表面上的电阻材料变得与一些叉指状金属指接触,这使金属指转向,从而改变FSR1300输出端子上的电阻。在通过模式具体实施中,第一基板1302上的导电材料可以是导电材料的实心区域,其中半导电(或电阻)材料设置在导电材料上,并且第二基板1304可具有类似的构造(例如,在导电材料的实心区域上设置有半导体(或电阻)材料)。每个基板(1302和1304)上的导电材料的实心区域耦接到单独的输出端子,并且当两个基板(1302和1304)在作用力F作用下彼此接触时,励磁电流可穿过一层到达另一层。
至少在优选的分流模式具体实施中,力-电阻响应曲线(将FSR 1300的电阻绘制为作用力F的函数)表现出可用于VR系统的控制器100/600的理想特性。例如,与诸如使用聚酯薄膜作为底部基板的材料的常规FSR相比,FSR 1300的响应曲线可表现出更小的滞后和更高的可重复性(从一个FSR 1300到另一个FSR 1300)。负载滞后描述了先前作用力对当前FSR 1300电阻的影响。响应曲线还是单调的,并且它模拟可用于VR游戏系统中的许多游戏方式(诸如粉碎虚拟岩石、挤压虚拟气球等)的真实的模拟输入。尽管本文中的示例描述了作用力F,但FSR 1300实际上对作用压力(力×面积)敏感,因为在第二基板1304前表面上的小点与较大面积处的相等作用力将导致FSR 1300的不同电阻响应。因此,在作用力F下的响应曲线方面,致动器1310起到了保持跨FSR 1300的可重复性的作用。
图14描绘了在构造FSR 1300的示例性过程中的逐个阶段的FSR 1300的各种前视图。在图14的阶段1中,可在聚酰亚胺第一基板1302的前表面上形成多个叉指状金属指1400。金属指1400是导电的。用于金属指1400的示例性导电金属是铜,诸如1/3盎司HA铜。该铜也可镀金。可使用减材制造工艺来形成多个叉指状金属指1400。例如,在阶段1之前,聚酰亚胺第一基板1302可形成有覆铜层,该覆铜层设置在第一基板的前表面上,并且该覆铜层可被蚀刻(例如,通过去除铜材料条)以形成图14的阶段1中所示的叉指状金属指1400的图案。可选择蚀刻图案的尺寸和间距以形成在成对的相邻金属指1400之间0.2毫米(mm)的距离(沿Y方向测量),和该多个叉指状金属指1400中的每个金属指的0.2mm的宽度(沿Y方向测量)。金属指的宽度和金属指之间的间距可在FSR 1300的最大灵敏度和最小制造蚀刻公差之间提供最佳平衡。尽管在图14中示出了金属指1400的均匀图案,但是应当理解,可采用其他不均匀的图案(例如,朝向中心金属指密度变大,朝向外部金属指密度变小)。图14示出了两组叉指状金属指1400,每组各自通向具有第一输出端子1402(1)和第二输出端子1402(2)的2端子FSR 1300的输出端子1402(或引线)。
如上所述,构成金属指1400的铜可镀金。因此,在蚀刻叉指状金属指1400的图案之后,可在铜指上沉积镀金层以产生镀金指。因此,图14的阶段1中所示的多个叉指状金属指1400可代表镀金指。镀金可以是化学镀镍浸金(ENIG)。值得注意的是,在镀金之前,在基层铜上方可能没有额外的镀铜。当向多层柔性基板中添加通孔时,通常会在基层铜上施加额外的镀铜。然而,与本发明所公开的在镀金之前在基层铜上不包括任何额外的镀铜的FSR1300相比,在镀金之前在基层铜上添加额外的镀铜实际上可能导致检测电阻的不希望的增大。因此,在镀金之前在金属指1400上省略任何额外的镀铜在FSR 1300中实现了最佳灵敏度。因此,构成金属指1400的覆铜层在金属指1400被镀上金材料时保持暴露。以这种方式,金材料与金属指1400的基铜材料直接接触,而在基层铜和镀金之间没有任何额外的镀铜。
在图14的阶段2,可在第一基板1302的外围在第一基板1302上沉积覆盖层1306。例如,覆盖层1306可具有环形形状以覆盖金属指1400的外围部分,并且在沉积之后,金属指1400的其余部分未被覆盖层1306覆盖。覆盖层1306可由聚酰亚胺制成。
在图14的阶段3,可在覆盖层1306上沉积粘合剂层1308,使得金属指1400的其余部分(金属指1400的未被覆盖层1306覆盖的部分)也未被粘合剂层1308覆盖。例如,粘合剂层1308可以是C形,使得粘合剂层1308覆盖覆盖层1306的大部分,并且使得粘合剂层1308不覆盖FSR 1300的有效区域。FSR 1300的“有效区域”在图14的阶段3中显示为具有直径B。此外,呈C形的粘合剂层1308可以使覆盖层1306的一部分未被粘合剂层1308覆盖。覆盖层1306的未被覆盖的部分在图14的阶段3中显示为具有宽度w。在将第二基板1304放置在第一基板1302的顶部上方之后,覆盖层1306的该未被覆盖的部分形成气隙,该气隙允许空气从第一基板1302和第二基板1304之间的空间进入和/或离开,这可防止由于大气压的变化而导致传感器之间的响应变化。气隙(即覆盖层1306的未被覆盖的部分)的宽度w可为1mm,该宽度足够小以在作用力下保持接触表面的对称性,并且足够大以允许空气经过该气隙进入/离开。在一些实施方案中,粘合剂层1308可以是得自美国明尼苏达州梅普尔伍德的
Figure BDA0002843855720000241
公司的467粘合剂(即3M467粘合剂)。覆盖层1306和粘合剂层1308代表可设置在第一基板1302上以便将第二基板1304以悬空方式与第一基板1304隔开一定距离的间隔层的示例。如上所述,覆盖层1306的厚度(沿Z方向测量)可在10微米至15微米的范围内,并且粘合剂层1308的厚度(沿Z方向测量)可在50微米至130微米的范围内。优选地,将粘合剂层1308的厚度制造得尽可能薄(例如,在指定厚度范围的下限),以允许在作用力F非常轻的情况下的初始响应(例如,FSR 1300开始检测输入)。然而,可以采用在本文所指定的厚度范围之外的厚度来提供这些层,诸如当FSR 1300用于其他应用时,诸如基于非控制器的应用。这样,这些厚度范围应被理解为非限制性的。
在阶段4,可在第一基板1302上提供第二基板1304。在阶段4中,利用插置在第一基板1302和第二基板1304之间的一个或多个间隔层(例如,覆盖层1306和粘合剂层1308)(参见图13C),第二基板1304的中心部分悬在第一基板1302上方。尽管未在图14中示出,但是可将致动器1310附接到第二基板1304的前表面,以便完成FSR 1300的构造,如图13A至C所示。该致动器的尺寸(在X-Y平面上测量)可以跨FSR 1300的有效面积的80%(即,直径的B的80%,如图14的阶段3所示)。例如,盘形致动器1310可具有等于0.8*B的直径。在一些实施方案中,FSR 1300的总直径可为14.5mm。在该尺寸下,有效区域的直径B可为10.5mm,这意味着覆盖层1306和粘合剂层1308可作为2mm的环而沉积在第一基板1302和第二基板1304之间。在该实施方案中,致动器1310的直径可为8.4mm(即0.8*10.5mm)。
FSR 1300在没有外力(或负载)的情况下可能会开路。在一些实施方案中,为了解决第一基板1302和第二基板1304在零或可忽略的作用力下的任何接触,可使用阈值电路来设置第一基板1302和第二基板1304被认为是处于“相接触”状态下的阈值电阻值,这意味着FSR 1300可开路直到达到该阈值电阻值为止,即使两个主要基板(即1302和1304)实际上接触也是如此。
图15描绘了根据本公开的另一个实施方案的FSR 1300的示例性层。图15未按比例绘制。相反,呈现图15是为了举例说明示例性的材料层,并不意味着代表FSR 1300的实际剖视图。如以上参考先前附图所述,如图15所示的FSR 1300包括由聚酰亚胺制成的第一基板1302,设置在第一基板1302的前表面上的金属指1400(即,导电材料),和设置在第一基板1302上的第二基板1304,其中一个或多个间隔层插置在第一基板1302和第二基板1304之间;在这种情况下,在两个主要基板之间设置有多个间隔层,包括前述覆盖层1306和粘合剂层1308。致动器1310也设置在第二基板1304上。
在图15的实施方案中,致动器1310可由Poron制成,并且可具有794微米的厚度(沿Z方向测量)。致动器粘合剂层1500可用于将致动器1310附接到第二基板1304。该致动器粘合剂1500的厚度(沿Z方向测量)可为70微米。用于致动器粘合剂1500的合适的粘合剂是来自美国加利福尼亚州格兰岱尔的艾利丹尼森(Avery Dennison)公司的FT 8397粘合剂。在图15的实施方案中,第二基板1304的厚度(沿Z方向测量)可为125微米。第二基板1304的后表面上的电阻材料的薄层电阻可为350kOhm/sq。粘合剂层1308可以是可剥离型粘合剂,例如3M MP467粘合剂。粘合剂层1308的厚度(沿Z方向测量)可为50微米。覆盖层1306可由聚酰亚胺制成,并且可以具有12.5微米的厚度(沿Z方向测量)。覆盖层粘合剂1502(例如,在任一侧上具有粘合剂的聚乙烯)可用于将覆盖层1306附接到第一基板1302的在金属指1400之上的前表面。覆盖粘合剂1502可具有25微米的厚度(沿Z方向测量)。金属指1400可由铜(例如,镀金的铜)制成,并且可具有12.5微米的厚度(沿Z方向测量)。第一基板1302可具有25微米的厚度(沿Z方向测量)。
压敏粘合剂(PSA)1504可附接到第一基板1302的后表面。PSA 1504可以是3M467MP,并且可具有50微米的厚度。PSA衬垫1506可设置在PSA 1504上,并且可在将FSR 1300附接到平面(例如,附接到安装在控制器主体110内部的结构的平面)上之前被剥离。
在FSR 1300的连接器部分,可使用加强粘合剂1510将加强聚酰亚胺1508附接到第一基板1302的后表面。加强聚酰亚胺1508可具有137.5微米的厚度(沿Z方向测量),并且可形成FSR 1300的更硬的连接器部分,以增强该连接器部分的耐用性。该加强粘合剂的厚度(沿Z方向测量)可为25微米。
图15的实施方案可表示适于在安装在用于电子系统(例如,VR系统)的控制器100/600的手柄112/612内的结构的平面上安装的FSR 1300,如本文所公开。应当理解,可使用参考图15所指定的厚度值、薄层电阻值和/或材料以外的其他厚度值、薄层电阻值和/或材料,诸如当FSR 1300用于其他应用时,诸如基于非控制器的应用。这样,这些值和材料应被理解为非限制性的。
图16描绘了根据本公开的另一个实施方案的FSR 1300的示例性层。图16未按比例绘制。相反,呈现图16是为了举例说明示例性的材料层,并不意味着代表FSR 1300的实际剖视图。图16中相对于第一基板1302和第一基板1302上方(即,沿正Z方向)的层所示的FSR1300可具有与图15所示的FSR 1300类似的构造。图16与图15的不同之处在于第一基板1302的下方(即,沿负Z方向)的层。因此,为了简洁起见,将不再描述图16中的第一基板1302和第一基板1302上方(即,沿正Z方向)的层,因为可以参考图15的描述来了解图16中的这些层。
在图16的实施方案中,可以使用加强粘合剂1510将加强件1600附接到FSR 1300的主体部分下方的第一基板1302的后表面。加强粘合剂的厚度(沿Z方向测量)可为25微米,如图15的实施方案的情况那样,但是加强件1600位于FSR 1300主体部分下方,而加强聚酰亚胺1508位于FSR1300的连接器部分下方。此外,加强件1600可以是FR4加强件,厚度(沿Z方向测量)为530微米,比图15的实施方案的加强聚酰亚胺1508厚。可使用粘合剂层1604将拉片1602附接到加强件1600的后表面。粘合剂层1604可以是拉片粘合剂,例如3M MP467粘合剂。粘合剂层1604的厚度(沿Z方向测量)可为50微米。
图16的实施方案可表示适于在安装在用于电子系统(例如,VR系统)的控制器100/600的拇指操作控件116下方的结构的平面上安装的FSR1300,如本文所公开。应当理解,可使用参考图16所指定的厚度值、薄层电阻值和/或材料以外的其他厚度值、薄层电阻值和/或材料,诸如当FSR1300用于其他应用时,诸如基于非控制器的应用。这样,这些值和材料应被理解为非限制性的。
图17描绘了根据本公开的另一个实施方案的FSR 1300的示例性层。图17未按比例绘制。相反,呈现图17是为了举例说明示例性的材料层,并不意味着代表FSR 1300的实际剖视图。图17所示的FSR 1300的一些层可具有与图15所示的FSR 1300类似的构造。然而,图17在若干方面与图15不同。
在图17的实施方案中,第二基板1304的厚度(沿Z方向测量)可为127微米。粘合剂层1308可以是可剥离型粘合剂,例如3M 468MP粘合剂。对于可承受回流焊炉高温的FSR1300,粘合剂层1308可以是可剥离型粘合剂,例如3M 9085或3M 9082。粘合剂层1308的厚度(沿Z方向测量)可为125微米。在一些情况下,粘合剂层1308的厚度可为50微米。另外,金属指1400可由RA铜制成。另外,导电材料1700可设置在第一基板1302的后表面上。导电材料1700可以是具有12.5微米的厚度(沿Z方向测量)的HA铜或RA铜。可在导电材料1700上沉积附加的覆盖层1702。该附加的覆盖层1702可由聚酰亚胺制成,并且可使用覆盖层粘合剂1704附接到导电材料1700。附加的覆盖层1702的厚度(沿Z方向测量)可为12.5微米,并且覆盖层粘合剂1704的厚度(沿Z方向测量)可为25微米。粘合剂层1706可设置在覆盖层1702上。粘合剂层1706可以是可剥离型粘合剂,诸如3M 467MP粘合剂,厚度(沿Z方向测量)为60微米。对于可承受回流焊炉高温的FSR 1300,粘合剂层1706可以是可剥离型粘合剂,例如3M9085或3M 9082。
图17的实施方案可表示适于在安装在非VR控制器的控制器主体110内的结构的平面上安装的FSR 1300。应当理解,可使用参考图17所指定的厚度值、薄层电阻值和/或材料以外的其他厚度值、薄层电阻值和/或材料,诸如当FSR 1300用于其他应用时,诸如基于非控制器的应用。这样,这些值和材料应被理解为非限制性的。
图18A至D描绘了根据本公开的另一个实施方案的FSR 1800。FSR 1800可具有与参考FSR 1300所描述的那些部件层相似的部件层,诸如由聚酰亚胺制成的第一基板1802,和柔性而且在后表面上具有电阻材料的第二基板1804。一个或多个间隔层(例如,覆盖层1806和粘合剂层1808)可插置在第一基板1802和第二基板1804之间。
图18B和图18C中的FSR 1800的第一基板1802的一部分环绕第二基板1804,并且还设置在第二基板1804的前表面上。图18A被标记为“折叠之前”,描绘了在第一基板1802的一部分环绕第二基板1804之前的FSR 1800。在图18A中,FSR 1800包括第一主体部分1812(1)(有时称为“下部气球件”1812(1))和第二主体部分1812(2)(有时称为“上部气球件”1812(2))。下部气球件1812(1)通过在下部气球件1812(1)的第一端部的折叠颈部1814连接到上部气球件1812(2)。焊接尾纤1816从下部气球件1812(1)的第二端部延伸,并且焊接垫1818在焊接尾纤1816的终端上。轻触开关形式的致动器1810被设置在上部气球件1812(2)上,使得致动器1810在折叠操作之后最终成为FSR 1800的前层或顶层,如图18B和图18C所示。因此,FSR 1800的第一基板1802的环绕第二基板1804的部分是上部气球件1812(2)。
FSR 1800在折叠操作之后的横截面在图18C中示出以描绘FSR 1800的示例性层。参考图18D更详细地描述图18C所示的一些层。在图18C的该实施方案中,可将力F施加到致动器1810(例如,轻触开关),引起FSR 1800的可变电阻,该可变电阻被转换为可变的数字化值。将轻触开关用于致动器1810(例如,在施加预定义的力F的情况下切换到不同的二进制状态的开关)会产生双级FSR 1800,该FSR在轻触开关1810被致动时首先“按压”,然后FSR1800可在施加增大的力F时输出可变电阻。通过假设轻触开关1810每次被按下时以相同的力F来致动,这可用于在FSR 1800的各次致动时校准FSR 1800。也就是说,FSR 1800可响应于检测到轻触开关1810的致动而重置为与轻触开关1810的致动相关联的已知力F大小。这可减轻FSR 1800固有的不准确性。
如图18C和18D所示,FSR 1800包括由聚酰亚胺制成的第一基板1802,该第一基板厚度(沿Z方向测量)为25微米。厚度为12.5微米的导电材料(例如,图18D中所示的由HA铜(例如,镀金的铜)制成的金属指1820)(在Z方向上测量)可在下部气球件1812(1)处设置在第一基板1802的前表面上,使得该导电材料在第二基板1804上的电阻材料下方。覆盖层粘合剂1822可用于将覆盖层1806附接到第一基板1802的在金属指1820之上的前表面。覆盖粘合剂1822可具有25微米的厚度(沿Z方向测量)。覆盖层1806可由聚酰亚胺制成,并且可以具有12.5微米的厚度(沿Z方向测量)。设置在覆盖层1806上的粘合剂层1808可以是可剥离型粘合剂,诸如3M MP467粘合剂。粘合剂层1808的厚度(沿Z方向测量)可为60微米。第二基板1804的厚度(沿Z方向测量)可为127微米。第二基板1804的后表面上的电阻材料的薄层电阻可为350kOhm/sq。当上部气球件1812(2)在折叠颈部1814在折叠到下部气球件1812(1)上时,粘合剂层1824可用于将上部气球件1812(2)附接到下部气球件1812(1)。粘合剂层1824的厚度可为125微米(沿Z方向测量)。用于粘合剂层1824的合适的粘合剂是3M 468MP。粘合剂层1824也可以是C形。
在FSR 1800的上部气球件1812(2)上,可使用加强粘合剂1836将第一加强聚酰亚胺1834附接到第一基板1802的前表面(折叠之前)。第一加强聚酰亚胺1834可具有75微米的厚度(沿Z方向测量)。该加强粘合剂的厚度(沿Z方向测量)可为25微米。另外,在FSR 1800的上部气球件1812(2)上,可使用粘合剂层1840将第二加强聚酰亚胺1838附接到第一加强聚酰亚胺1834的前表面(在折叠之前)。第二加强聚酰亚胺1838可具有75微米的厚度(沿Z方向测量)。该粘合剂层的厚度(沿Z方向测量)可为125微米。当上部气球件1812(2)在折叠颈部1814折叠在下部气球件1812(1)上时,第二加强聚酰亚胺1838如图18C所示变得与第二基板1804接触,并且在折叠操作之后粘合剂层1824将FSR 1800的两个主体部分1812(1)和1812(2)粘附成堆叠关系。应当理解,可使用参考图18D所指定的厚度值、薄层电阻值和/或材料以外的其他厚度值、薄层电阻值和/或材料,诸如当FSR 1800用于其他应用时,诸如基于非控制器的应用。这样,这些值和材料应被理解为非限制性的。
另外,如图18D所示,导电材料1826可设置在第一基板1802的后表面上。导电材料1826可以是具有12.5微米的厚度(沿Z方向测量)的HA铜。可在导电材料1826上沉积附加的覆盖层1828。该附加的覆盖层1828可由聚酰亚胺制成,并且可使用覆盖层粘合剂1830附接到导电材料1826。附加的覆盖层1828的厚度(沿Z方向测量)可为12.5微米,并且覆盖层粘合剂1830的厚度(沿Z方向测量)可为25微米。附加的覆盖层1828和覆盖层粘合剂1830可跨过焊接尾纤1816、下部气球件1812(1)、折叠颈部1814和上部气球件1812(2)的一部分,留出用于致动器1810的占地面积(或空间)(图18D中的“按钮占地面积”)。粘合剂层1832可设置在附加的覆盖层1828上。粘合剂层1832可以是可剥离型粘合剂,诸如3M 468MP粘合剂,厚度(沿Z方向测量)为125微米。粘合剂层1832可跨过焊接尾纤1816和下部气球件1812(1)。
尽管示例性FSR 1300/1800被示为具有大致圆形形状,但是应当理解,FSR 1300/1800可被构造成具有不同横截面形状的层,诸如正方形、矩形等。FSR 1300/1800的整体尺寸可以比本文描述的示例大或小,具体取决于特定应用。此外,应当理解,可通过将多个FSR1300/1800连接在一起来实现FSR阵列。在这样的阵列中,FSR材料层可被构造成材料的长条。
图19是用于制造诸如本文公开的FSR 1300或FSR 1800的FSR的示例性过程1900的流程图。本文描述的过程被示为逻辑流程图中的框的集合,该逻辑流程图表示一系列操作。描述操作的顺序不旨在被理解为限制,并且可以任何顺序和/或并行地组合任意数量的所描述的框来实现这些过程。
在1902处,由聚酰亚胺制成的第一基板1302可形成有覆铜层,该覆铜层设置在第一基板1302的前表面上。
在1904处,可蚀刻该覆铜层以在第一基板1302的前表面上形成多个叉指状铜指(即金属指1400的示例)。框1904处的蚀刻可包括去除宽度为0.2mm的铜材料条,以在该多个叉指状铜指中的成对的相邻铜指之间产生0.2mm的距离。去除的铜材料的序列条带之间的间隔也可保持在0.2mm,以提供宽度为0.2mm的铜指。
在1906处,可将镀金层沉积在该多个叉指状铜指上,以产生镀金的指。该镀金可以是ENIG。
在1908处,可在第一基板1302的外围在第一基板1302上提供一个或多个间隔层,从而使该一个或多个间隔层不覆盖镀金的指的一部分。如子块1910和1912所示,可在两个操作中提供多个间隔层。
在1910处,可在第一基板1302的外围将覆盖层1306(例如,由聚酰亚胺制成)沉积在第一基板1302上。覆盖层1306可覆盖镀金的指的外围部分,其中镀金的指的其余部分未被覆盖层1306覆盖。
在1912处,可在覆盖层1306上沉积粘合剂层1308,使得镀金的指的其余部分未被粘合剂层1308覆盖。此外,在框1912处的操作可包括使覆盖层1306的一部分未被粘合剂层1308覆盖以形成气隙,该气隙允许空气从第一基板1302和第二基板1304之间的空间进入或离开。
在1914处,可在第一基板1302上设置第二基板1304,使得第二基板1304的中心部分由插置在第一基板1302和第二基板1304之间的一个或多个间隔层悬在第一基板1302上方。该第二基板1304是柔性的,并且具有设置在第二基板1304的后表面上的电阻材料。
在1916处,为了构造FSR 1800,可使第一基板1802的延伸部分环绕第二基板1804并且附接到第二基板1804的前表面,其中第一基板1802的该延伸部分将被插置在待附接的致动器1810和第二基板1804之间。如框1916的虚线轮廓所示,执行该操作是为了构造FSR1800,但是在构造FSR1300时可省略该操作。
在1918处,可将致动器1310设置在第二基板1304上,诸如通过将致动器1310附接到第二基板1304的前表面以构造FSR 1300,或者通过将致动器1810(例如,轻触开关)附接到插置在第二基板1804和致动器1810之间的第一基板1802。
可将本文公开的FSR 1300/1800安装在手持控制器(诸如本文所公开的控制器100/600)内的结构的平面上,并且该结构可定位在控制器主体110内的任何合适位置,以便测量与施加到控制器主体110的外表面上的力的大小相对应的电阻值(例如,按压控件的手指所施加的力,挤压手柄112/612的手所施加的力)。具体参考图9A和图9B,FSR 1300/1800可安装在PCB 920的平面上,该PCB本身可安装在手柄612的管状壳体612a、612b内。在该构型中,柱塞924可与FSR 1300/1800的致动器1310/1810接合,这可允许将压缩力从柱塞924传递到致动器1310/1810。然而,其他构型也是可能的,其中省略柱塞924,并且致动器1310/1810与手柄612的管状壳体612a、612b的一部分接合。具体参考图1,FSR 1300/1800可安装在头部(在手柄112和远侧端部111之间)内的结构的平面上。可将安装在头部内的该结构安装在拇指操作控件114、115、116中的一个或多个下方。例如,FSR 1300/1800可定位在拇指操作控件116(例如,触控板)下方。因此,当在控制器100的操作期间用户的拇指在拇指操作控件116上按压时,定位在拇指操作控件116下方的FSR 1300/1800可被配置为测量与用户的拇指施加到拇指操作控件116的力的大小相对应的电阻值。应当理解,可将多个FSR1300/1800设置在控制器的控制器主体110内,诸如一个或多个FSR 1300/1800安装在手柄112/612内并且一个或多个FSR 1300/1800安装在控制器主体110的头部上的一个或多个对应的控件114、115、116下方。
当在控制器100/600中实现时,本文所公开的FSR 1300/1800可启用可变模拟输入。例如,用变化的力挤压手柄112/612或按压拇指操作控件(例如116)可能会导致FSR1300/1800的电阻随作用力而变化,并且电阻可被转换为代表用于控制游戏方式的FSR输入的变化的数字化值。
图20示出了示例性用户界面(UI)2000,该示例性用户界面可用于为电子系统配置手持控制器(诸如控制器100/600)的基于FSR的输入机构以在不同模式下操作。UI 2000可在电子系统的显示器诸如头戴式显示器(HMD)上或者在与个人计算机(PC)或游戏机一起使用的任何其他类型的显示器上输出。UI 2000包括“激活类型”下拉菜单2002。“激活类型”下拉菜单2002可用于为基于FSR的输入机制(例如,拇指操作控件116、手柄112/612等)选择“软按压”激活类型。在此,“软按压”是指“软件按压”,它允许控制器100/600和/或与控制器100/600关联的电子系统使用逻辑来确定何时基于FSR 1300/1800的模拟输入(例如,FSR电阻,它对应于FSR 1300/1800上的作用力,并被转换为数字化FSR输入值)并且还基于稍后将讨论的其他配置设置来注册基于FSR的输入事件。换句话说,FSR 1300/1800可测量电阻值,然后将其转换为数字化的FSR输入值。如果该数字化的FSR输入值满足用于“软按压”的配置设置所指定的条件,则可注册基于FSR的输入事件。
UI 2000还可包括“绑定”下拉菜单2004,该下拉菜单可用于选择要绑定到控制器100/600上的对应的基于FSR的输入机构的基于PC的输入控件。在此,将该绑定选择为“鼠标左键”,但是应当理解,可将该绑定选择为其他基于PC的输入控件。该绑定也可以是模拟的。例如,对于赛车游戏,FSR 1300/1800可用于油门踏板(例如,用户越是用力地按压基于FSR的控制机构,游戏中的赛车就越快地行驶)。
UI 2000还可包括“软按压风格”下拉菜单2006,该下拉菜单可用于选择软按压的各种风格中的一个风格。“简单阈值”风格表示当数字化的FSR输入值达到或超过阈值时发生FSR输入事件。因为该数字化的FSR输入值对应于由FSR测量的特定电阻值,而该电阻值又对应于施加到FSR 1300/1800的特定作用力,所以人们也可将这种风格的软按压视为当由FSR测量的电阻值满足阈值电阻值时和/或当作用力的大小满足阈值力大小时注册FSR输入事件。例如,如果控制器100/600的手柄112/612包括FSR 1300/1800,则可挤压手柄112/612,直到达到阈值力大小为止,并且作为响应,将FSR输入事件注册为“软按压”。“解除按压”所需的力可能是用于防抖动目的和/或模仿具有物理突变率的轻触开关的阈值的一部分。因此,“简单阈值”风格可代替传统的机械开关。UI 200示出了用户可调节可配置的软按压阈值2008(1)来增大或减小阈值,该阈值用来与数字化的FSR输入值进行比较以确定是否注册FSR输入事件。用户可将软按压阈值2008(1)调低(例如,通过将滑块向左移动),以减少与基于FSR的输入机构的致动有关的手部疲劳。用户可将软按压阈值2008(1)调高(例如,通过将滑块向右移动),以减少基于FSR的输入机构注册意外输入的情况。在一些情况下,可将软按压阈值2008(1)设置为用于特定游戏的默认阈值(例如,较低的默认阈值用于射击游戏,较高的默认阈值用于探险游戏等)。
“一触即发”风格可设置基线阈值,并且一旦与FSR 1300/1800相关联的数字化FSR输入值达到或超过该基线阈值,就激活绑定(即,注册FSR输入事件,类似于按压并按住按钮致动)。此后,任何随后的力减小都会使绑定失效(即,FSR输入事件“未注册”,类似于用户松开按钮),并且在取消绑定之后,任何的力增大都会再次激活绑定。软按压的“一触即发”风格中可能会存在某种防抖动。暂时转向图21,“力-时间关系”图2100上显示了“一触即发”逻辑的示例。“力”轴可表示范围从零到任何合适的最大值的数字化FSR输入值,该范围对应于FSR 1300/1800能够测量的电阻值范围。如图21所示,随着数字化FSR输入值的增大(例如,用户在基于FSR的输入机构上越来越用力地按压),数字化FSR输入值最终越过基线阈值2102,并且作为响应,绑定被激活(即,注册FSR输入事件,类似于用户输入的按压并按住类型),然后,响应于数字化FSR输入值的减小,绑定被停用(例如,用户稍微“松开”基于FSR的输入机构)。如果用户更用力地按压基于FSR的输入机构,则只要力保持处于大于基线阈值2102的值,绑定就可再次被激活,依此类推等等。
再次参考图20,可以根据三种不同的子风格(例如,激进、正常的和放松)来选择软按压的“扫射”风格。“扫射”风格可能与软按压的“简单阈值”风格相似,不同之处在于“扫射”风格使用了时间延迟,因此,在具有多个绑定级别的配置中,如果足够快地达到了较高的阈值,则可使用时间延迟来忽略较低的FSR输入值。时间延迟量在不同的子风格之间有所不同(例如,激进、正常和放松)。暂时转向图22,“力-时间关系”图2200上显示了“扫射”逻辑的示例。再次地,“力”轴可表示从零到任何合适的最大值的范围的数字化FSR输入值,该范围对应于FSR 1300/1800能够测量的电阻值范围。如图22所示,假定A1 2202对应于第一阈值,该第一阈值对应于第一动作,并且A2 2204对应于第二阈值,该第二阈值对应于第二动作。可基于“扫射”风格是“激进”类型、“正常”类型还是“放松”类型来设置时间延迟t。在图22所示的“快”曲线中,FSR输入值迅速达到A1 2202,这触发时间延迟开始运行。然后,FSR输入值在该时间延迟过去之前达到A2 2204,这导致该逻辑忽略A1 2202,并仅为对应于A22204的第二动作注册FSR输入事件。在图22所示的“慢”曲线中,FSR输入值达到A1 2202,并且时间延迟开始。但是,由于FSR输入值的增速不够快,无法在时间延迟过去之前达到A22204,因此该逻辑会为对应于A1 2202的第一动作注册FSR输入事件,此后,FSR输入值最终达到A2 2204,并且该逻辑为对应于A2 2204的第二动作注册另一个FSR输入事件。可以毫秒为单位来指定时间延迟t,并且可配置该时间延迟。
再次参考图20,另一个软按压阈值2008(2)可用于例如设置多级阈值,诸如用于软按压的“扫射”风格的阈值。通过用户以变化的力挤压或按压基于FSR的输入机构,可为基于FSR的输入使用不同风格的软按压来启用许多不同的与游戏相关的模拟输入。例如,VR游戏可允许用户通过用增大的力挤压控制器主体110的手柄112/612来粉碎岩石或挤压气球。又如,基于射击的游戏可允许用户通过用不同水平的作用力按压拇指操作控件116来在不同类型的武器之间切换。
图23描绘了图1的控制器100,该控制器具有设置在控制器主体110内的各种传感器。例如,第一FSR 1300(1)可安装在被构造成待按压的控件(诸如,包括在控制器主体110的头部113上的拇指操作控件116)的下方。第二FSR 1300(2)可与接近度传感器阵列800一起安装在控制器主体110的手柄112内。应当理解,可在控制器100内提供FSR 1300(1)或1300(2)中的一者或另一者,或者可在控制器100内提供FSR 1300(1)和1300(2)两者。作为接近度传感器阵列800的补充或替代,一个或多个触摸传感器2300(例如,触摸传感器2300(1)至(3))可与被配置为待按下的一个或多个控件相关联,这些控件诸如拇指操作控件114、拇指操作控件115和/或拇指操作控件116和/或手指操作控件(例如触发器609)。触摸传感器2300可被配置为提供指示对象(例如,手指、拇指等)接触相关联的控件(例如,拇指操作控件114至116中的一者或多者)的触摸数据。在一个示例中,触摸传感器2300包括电容传感器(或电容传感器阵列),该电容传感器安装在控制器主体110的头部113内(例如,粘附或以其他方式附接到外壳的后表面和在控件114至116下方,附接到头部113内部的结构(诸如PCB)等)。在其他情况下,触摸传感器2300可基于其他触摸感测技术,诸如红外或声学触摸传感器。同时,在空间上分布在手柄112上的接近度传感器800的阵列可被配置为提供指示紧握手柄112的手的接近度数据。如本文所公开的,接近度传感器800还可使用任何合适的技术来感测手在手柄112上的接触和/或接近度。FSR 1300被配置为提供力数据,该力数据指示对控件的按压(例如,对控件116的按压)或对手柄112的挤压的力的大小。图23所示的各种传感器组可通过柔性电路连接。例如,头部113中的触摸传感器2300和FSR 1300(1)可通过公共柔性电路连接。本文所公开的FSR 1300的聚酰亚胺基板允许FSR输出端子到柔性电路的这种类型的直接焊接。
本文描述的过程被示为逻辑流程图中的框的集合,这些框代表可在硬件、软件或其组合中实现的一系列操作。在软件的环境中,这些框代表计算机可执行指令,当由一个或多个处理器执行时,该计算机可执行指令执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被理解为限制,并且可以任何顺序和/或并行地组合任意数量的所描述的框来实现这些过程。
图24是用于基于由触摸传感器提供的触摸数据来重新校准手持控制器100/600的FSR 1300/1800的示例性过程2400的流程图。
在2402处,手持控制器100/600的逻辑可至少部分地基于由触摸传感器提供的触摸数据来确定对象(例如,手指,拇指等)已经变得与该手持控制器的一个控件接触。该至少一个控件可被包括在控制器100/600的控制器主体110上并且可被构造成待按压。例如,该控件可以是包括在控制器主体110的头部113上的拇指操作控件116。在该实施方案中,触摸传感器可以是触摸传感器2300中的一个。另选地,该控件可以是控制器主体110的手柄112。在该实施方案中,触摸传感器可以是接近度传感器阵列800。
在2404处,该逻辑可至少部分地基于在对象已经变得与该至少一个控件接触时由FSR 1300/1800提供的力数据来确定由FSR 1300/1800测量的电阻值。
在2406处,该逻辑可将该电阻值与数字化的零FSR输入值相关。换句话说,当对象变得与该至少一个控件接触时的感测电阻可被视为零力输入,这意味着在该点之后施加到FSR 1300/1800的力的任何增大都与正FSR输入值相关。因此,过程2400代表一种帮助减轻FSR 1300/1800的任何固有的不准确性的传感器融合算法,该算法可通过在检测到对控件的触摸时重新校准来测量一些电阻,即使对象没有在控件上按压也如此。
图25是用于基于由用于附近控件的触摸传感器提供的触摸数据来忽略手持控制器100/600的FSR 1300/1800处的杂散输入的示例性过程2500的流程图。
在2502处,手持控制器100/600的逻辑可至少部分地基于由与手持控制器的第一控件(例如,拇指操作控件116)相关联的FSR 1300/1800提供的力数据来确定由FSR 1300/1800测量的电阻值。
在2504处,该逻辑可将该电阻值转换为数字化的FSR输入值。
在2506处,该逻辑可确定该数字化的FSR输入值是否满足或超过为了为第一控件注册FSR输入事件而要满足的阈值。如果在2506处不满足该阈值,则过程2500遵循从框2506到框2502的“否”路线,以等待额外的力数据。如果在2506处满足该阈值,则过程2500遵循从框2506到框2508的“是”路线。
在2508处,该逻辑可至少部分地基于与第一控件附近的第二控件(例如,拇指操作控件114或115)相关联的触摸传感器2300提供的触摸数据来确定对象(例如,手指、拇指等)是否与该附近的第二控件接触,其中该触摸数据在FSR 1300/1800测量FSR电阻值时提供。如果对象未与该附近的第二控件接触,则过程2500遵循从框2508到框2510的“否”路线,在框2510处该逻辑为第一控件注册FSR输入事件(例如,通过激活用于第一控件的绑定)。如果对象与该附近第二控件接触,则过程2500遵循从框2508到框2512的“是”路线。
在2512处,该逻辑可至少部分地基于确定对象与第二控件接触而避免为第一控件注册FSR输入事件。因此,过程2500代表一种可用于基于对手持控制器上的附近控件的按压而忽略FSR 1300/1800处的杂散输入的传感器融合算法。
图26是用于基于由手持控制器100/600的手柄112/612中的接近度传感器阵列800检测到的手的大小来调节用于FSR 1300/1800的FSR输入阈值的示例性过程2600的流程图。
在2602处,手持控制器100/600的逻辑可至少部分地基于由在空间上分布在控制器100/600的手柄上的接近度传感器800的阵列提供的接近度数据来确定正在紧握手柄112/612的手的大小。可从多个预定的手的大小(例如,小和大,或者小、中和大等)中确定手的大小。
在2604处,该逻辑可至少部分地基于在框2602处确定的手的大小,将阈值调节到为了为手柄112/612注册FSR输入事件而要满足的经调节的阈值。该经调节的阈值对应于可用来挤压手柄112/612的特定的力大小。例如,力的大小对应于手柄112/612中的FSR 1300/1800测量的电阻,并且该电阻可对应于数字化的FSR输入值。当用户挤压手柄时,如果数字化的FSR输入值达到或超过经调节的阈值,则可注册FSR输入事件。因此,如在框2602处由接近度传感器800的阵列所检测的,对于手较小的用户,可将阈值调节为较低的值,而对于手较大的用户,可将阈值调节为较大的值。在一些情况下,在框2602处检测到手的大小之前,可为控制器100/600配置默认阈值,并且在框2604处进行的调节可以是相对于默认值增大或减小阈值。
如图26中的子框所示,过程2600可涉及更详细的操作。例如,框2602处的确定手的大小可包括子框2606和2608。
在2606处,该逻辑可确定接近度传感器阵列800中的提供了接近度数据的接近度传感器的数量。例如,小手可能只跨过了接近度传感器阵列800中的一小部分接近度传感器,而其余未检测到小手的接近度传感器可能不会提供前述接近度数据。相反,大手可跨过整个接近度传感器阵列800,并且在这种情况下,所有的接近度传感器800(或至少高于阈值数量的数量)可提供接近度数据。
在2608处,该逻辑可至少部分地基于(阵列800的)提供了接近度数据的接近度传感器的数量来确定手的大小。
另外,如子框2610和2612所示,在框2604处的阈值调节可包括为控制器100/600的一个或多个FSR调节阈值。
例如,在2610处,该逻辑可调节为了为控件116注册FSR输入事件而要满足的第一阈值(与第一FSR 1300(1)相关联)。在2612处,该逻辑可附加地或另选地调节为了为手柄112/612注册FSR输入事件而要满足的第二阈值(与第二FSR 1300(2)相关联)。
图27是用于基于FSR输入值来激活和停用用于手持控制器的控件的绑定的示例性过程2700的流程图。如图27中的页面外部引用“A”所示,过程2700可从过程2400、2500或2600中的任何一者继续,但这不是必须的。
在2702处,手持控制器100/600的逻辑可至少部分地基于由控制器100/600的FSR1300/1800提供的力数据,来在第一时间确定第一数字化的FSR输入值。该第一数字化的FSR输入值可从由FSR 1300/1800在第一时间测量的第一电阻值转换而来。
在2704处,该逻辑可确定第一数字化的FSR输入值是否满足或超过为了注册FSR输入事件(例如,用于绑定与FSR 1300/1800相关联的控件)而要满足的阈值。如果在2704处不满足该阈值,则过程2700遵循从框2704到框2702的“否”路线,在框2702处该逻辑等待额外的力数据。如果在2704处满足该阈值,则过程2700遵循从框2704到框2706的“是”路线。
在2706处,该逻辑可至少部分地基于第一数字化的FSR输入值满足或超过该阈值来注册FSR输入事件(例如,以激活与FSR 1300/1800所关联的控件相关联的绑定)。
在2708处,该逻辑可至少部分地基于由FSR 1300/1800提供的力数据,来在第一时间之后的第二时间确定第二数字化的FSR输入值。该第二数字化的FSR输入值可从由FSR1300/1800在第二时间测量的第二电阻值转换而来。
在2710处,该逻辑可确定第二数字化的FSR输入值是否小于第一数字化的FSR输入值(即,自从由FSR 1300/1800进行的前一次测量以来,FSR输入是否已经减小)。如果第二数字化的FSR输入值小于第一数字化的FSR输入值,则过程2700遵循从框2710到框2712的“是”路线,在框2712处该逻辑可停用用于与FSR 1300/1800相关联的控件的绑定(可被认为是取消注册了先前注册的相当于按压并按住输入的FSR输入事件)。如果在框2710处第二数字化的FSR输入值不小于第一数字化的FSR输入值,则过程2700遵循从框2710到框2708的“否”路线,在框2708处该逻辑等待来自FSR 1300/1800的额外力数据。过程2700可反映图21所示和上文所述的FSR检测模式。因此,框2704处评估的阈值可对应于参考图21描述的基线阈值2102。
图28是用于使用时间延迟来确定是否针对多个阈值中的第一阈值来忽略FSR输入的示例性过程2800的流程图。如图28中的页面外部引用“A”所示,过程2800可从过程2400、2500或2600中的任何一者继续,但这不是必须的。
在2802处,手持控制器100/600的逻辑可至少部分地基于由控制器100/600的FSR1300/1800提供的力数据,来在第一时间确定第一数字化的FSR输入值。该第一数字化的FSR输入值可从由FSR 1300/1800在第一时间测量的第一电阻值转换而来。
在2804处,该逻辑可确定第一数字化的FSR输入值是否满足或超过为了注册第一FSR输入事件(例如,用于绑定与FSR 1300/1800相关联的控件)而要满足的第一阈值(例如,图22的A1 2202)。第一FSR输入事件可与第一动作(例如,第一游戏方式)相关联。如果在2804处不满足第一阈值,则过程2800遵循从框2804到框2802的“否”路线,在框2802处该逻辑等待额外的力数据。如果在2804处满足该阈值,则过程2800遵循从框2804到框2806的“是”路线。
在2806处,该逻辑可开始监视预定义的时间段(例如,图22中的时间延迟t)。
在2808处,该逻辑可至少部分地基于由FSR 1300/1800提供的力数据,来在第一时间之后的第二时间确定第二数字化的FSR输入值。该第二数字化的FSR输入值可从由FSR1300/1800在第二时间测量的第二电阻值转换而来。
在2810处,该逻辑可确定第二数字化的FSR输入值是否满足或超过为了注册第二FSR输入事件(例如,用于绑定与FSR 1300/1800相关联的控件)而要满足的第二阈值(例如,图22的A2 2204)。第二FSR输入事件可与不同于第一动作的第二动作(例如,第二游戏方式)相关联,并且第二阈值大于第一阈值。如果在2810处不满足第二阈值,则过程2800遵循从框2810到框2812的“否”路线,在那里该逻辑等待确定预定义的时间段是否已经过去(例如,第二时间与第一时间之间的差是否小于预定义的时间段)。如果在框2812处该时间段尚未过去,则过程2800通过遵循从框2812回到框2810的“否”路线来进行迭代。如果在框2812处该时间段已经过去并且不满足第二阈值,则过程2800遵循从框2812到框2814的“是”路线,在框2814处该逻辑可为第一阈值(例如,可与第一动作或游戏方式相关联)注册第一FSR输入事件。
如果在2810处满足第二阈值,则过程2800遵循从框2810到框2816的“是”路线,在框2816处该逻辑评估预定义的时间段。)。如果在框2816处该时间段尚未过去,则过程2800遵循从框2816回到框2818的“否”路线,在框2818处该逻辑避免注册第一FSR输入事件,而是注册与第二阈值(例如,可与第二动作或游戏方式相关联)的第二FSR输入事件。如果在框2816处该时间段已经过去并且已经满足第二阈值,则过程2800遵循从框2816到框2820的“是”路线,在框2820处该逻辑可为第一阈值注册第一FSR输入事件并且为第二阈值注册第二FSR输入事件。过程2800可反映图22所示和上文所述的FSR检测模式。
图29示出了诸如图1的控制器100的手持控制器的示例性部件,尽管图29中所示的部件也可由控制器600来实现。如图所示,该手持控制器包括一个或多个输入/输出(I/O)设备2902,诸如上文所述的控件(例如,操纵杆、触控板、触发器等),它们可能是任何其他类型的输入或输出设备。例如,I/O设备2902可包括一个或多个麦克风以接收音频输入,诸如用户语音输入。在一些具体实施中,一个或多个相机或其他类型的传感器(例如,惯性测量单元(IMU))可用作输入设备以接收手势输入,诸如手持控制器100的运动。在一些实施方案中,可以键盘、小键盘、鼠标、触摸屏、操纵杆、控制按钮等的形式提供附加的输入设备。输入设备还可包括控制机构,诸如用于增大/减小音量的基本音量控制按钮,以及电源和复位按钮。
同时,输出设备可包括显示器、发光元件(例如,LED)、产生触觉的振动器、扬声器(例如,耳机)等。还可存在简单的发光元件(例如LED)来指示状态,诸如例如在开机时。虽然已经提供了一些示例,但是该手持控制器可附加地或另选地包括任何其他类型的输出设备。
另外,手持控制器100可包括一个或多个通信接口2904,以促进到网络和/或一个或多个远程系统(例如,执行应用程序的主机计算设备、游戏机等)的无线连接。通信接口2904可实现各种无线技术中的一种或多种,诸如Wi-Fi、蓝牙、射频(RF)等。应当理解,手持控制器100还可包括物理端口,以促进与网络、连接的外围设备或与其他无线网络通信的插入式网络设备的有线连接。
在所示的具体实施中,该手持控制器还包括一个或多个处理器2906和计算机可读介质2908。在一些具体实施中,处理器2906可包括中央处理单元(CPU)、图形处理单元(GPU)、CPU和GPU两者、微处理器、数字信号处理器或本领域已知的其他处理单元或部件。另选地或附加地,本文中描述的功能可至少部分地由一个或多个硬件逻辑部件执行。例如但不限于,可使用的例示性类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统系统(SOC)、复杂的可编程逻辑器件(CPLD)等。此外,处理器2906中的每个可拥有自己的本地存储器,这些存储器也可存储程序模块、程序数据和/或一个或多个操作系统。
通常,该控制器可包括被配置为实现本文描述的技术、功能和/或操作的逻辑(例如,软件、硬件和/或固件等)。计算机可读介质2908可包括采用用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性存储器和非易失性存储器、可移动介质和不可移动介质。此类存储器包括但不限于RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁性存储装置、RAID存储系统,或可用于存储所需信息并可由计算设备访问的任何其他介质。计算机可读介质2908可被实现为计算机可读存储介质(“CRSM”),该CRSM可以是处理器2906可访问以执行存储在计算机可读介质2908上的指令的任何可用物理介质。在一种基本的具体实施中,CRSM可包括随机存取存储器(“RAM”)和闪存存储器。在其他具体实施中,CRSM可包括但不限于只读存储器(“ROM”)、电可擦除可编程只读存储器(“EEPROM”)或可用于存储所需信息并可由处理器2906访问的任何其他有形介质。
诸如指令、数据存储等的若干模块可存储在计算机可读介质2908内并且被配置为在处理器2906上执行。一些示例性功能模块被示为存储在计算机可读介质2908中并在处理器2906上执行,但是相同的功能可另选地采用硬件、固件或片上系统(SOC)来实现。
为了其他模块的利益,操作系统模块2910可被配置为管理手持控制器100内的和耦接到手持控制器100的硬件。另外,计算机可读介质2908可存储网络通信模块2912,该网络通信模块使手持控制器100能够经由通信接口2904与一个或多个其他设备(诸如执行应用程序(例如游戏应用程序)的个人计算设备)、游戏机、HMD、远程服务器等进行通信。计算机可读介质2908还可包括游戏会话数据库2914,以存储与在该手持控制器或与手持控制器100耦接的计算设备上执行的游戏(或其他应用程序)相关联的数据。计算机可读介质2908还可包括设备记录数据库2916,该设备记录数据库存储与手持控制器100所耦接的设备(诸如个人计算设备、游戏机、HMD、远程服务器等)相关联的数据。计算机可读介质2908还可存储将手持控制器100配置为用作游戏控制器的游戏控制指令2918,和将手持控制器100配置为用作其他非游戏设备的控制器的通用控制指令2920。
图30示出了可使用本文所述的手持控制器100执行的示例性一系列手势。如图所示,该手持控制器可(有线或无线地)耦接到一个或多个显示设备3000。显示设备3000可代表被配置为在显示器上呈现诸如虚拟对象等的图像的任何类型的设备。如图所示,显示设备3000可包括服务器/游戏机/客户端计算设备/虚拟现实头戴式设备或被配置为引起在显示器上呈现图像的任何其他类型的设备。在一些情况下,显示设备可包括显示器(例如,在VR头戴式设备的情况下),而在其他情况下,显示设备可传达用于在本地显示器(例如,在本地游戏机的情况下)上呈现或在远程显示器(例如,在服务器计算设备的情况下)上呈现的数据。
在该示例中,手持控制器100可包括上述传感器中的一些或全部,诸如接近度传感器、力传感器、加速度计等。控制器100和/或耦接到控制器100的显示设备3000可利用由这些传感器收集的数据来识别用户想要拾取和/或释放显示器上正呈现的虚拟对象。在所示的示例中,显示设备3000呈现包括虚拟手3004和虚拟对象3006的第一帧3002(1)。在第一帧3002(1)或之后的某个时间,控制器100和/或所连接的显示设备可分析传感器数据以确定用户想要紧握该虚拟对象。这样,第二帧3002(2)示出了虚拟手3004握住虚拟对象3006。
再次,在第二帧3002(2)或之后的某个时间,控制器和/或显示设备3000可分析由该控制器收集的传感器数据以确定用户想要释放该物品。在存储表明释放已经开始的指示之后,可分析此后收集的传感器数据以确定何时执行释放,例如,何时在显示器上生成虚拟手3004释放虚拟对象3006的表示。在该示例中,第三帧3002(3)基于对传感器数据的分析示出虚拟手3004释放虚拟对象3006。
图31示出了示例性显示设备3000的示例性部件和示例性手持控制器100的示例性部件,这些部件可用于识别虚拟对象何时将被拾取和/或释放。如图所示,手持控制器100包括一个或多个处理器3100、一个或多个传感器3102和一个或多个计算机可读介质3104。传感器可包括配置为生成与控制器100的当前速度相对应的速度数据的加速度计3106,配置为确定(例如,经由电容读数)对象(例如,用户的手的手指或其他部分)与控制器100的接近度的接近度传感器3108,配置为确定施加到控制器100的力的力感测电阻器3110,和/或一个或多个其他传感器3112。
同时,计算机可读介质可存储或以其他方式访问由这些传感器3102收集的传感器数据3114。如图所示,传感器数据3114可包括由力感测电阻器3110测量的力值,由接近度传感器3108测量的电容值,由加速度计3106测量的速度数据,基于不同时间的读数之间的差异的差值(例如,速度随时间的变化)等。另外,计算机可读介质可存储阈值数据3116或以其他方式具有对该阈值数据的访问权限。阈值数据3116可表示将要采取对应动作时所处的阈值。例如,阈值数据3116可包括力阈值、电容阈值、差异阈值、时间阈值等。这些阈值将参考图32至图35进一步描述。
计算机可读介质3104还可存储对象交互模块3118,该对象交互模块被配置为参考阈值数据3116来分析传感器数据3114,以确定何时参考显示器上呈现的虚拟对象来采取某些动作。例如,对象交互模块3118可被配置为确定对象何时将被拾取、释放、粉碎等。如图所示,对象交互模块3118可包括对象抓握模块3120,该对象抓握模块被配置为分析传感器数据3114并确定传感器数据何时满足用于虚拟对象将被握住的标准。对象抓握模块3120可包括力-捏合计算器3122、力-抓取计算器3124、电容-捏合计算器3126和电容-抓取计算器3128。在一些情况下,力-捏合计算器3122可响应于一个或多个力传感器生成超过力阈值的力值并且一个或多个按钮被按压来识别力-捏合状态。例如,如果位于手持控制器顶侧的力传感器(用户的拇指在其下方)返回的力值大于特定阈值(例如,传感器最大力读数的1%,最大力读数的25%等),并且如果用户的食指或其他手指可选择的触发按钮被按压,则所描述的技术可识别力-捏合状态。也就是说,响应于这些传感器读数,力-捏合计算器3122可确定用户正试图通过“捏合”来握住虚拟对象。同时,力-抓取计算器3124可响应于手持控制器的控制器主体上的一个或多个力传感器测量到大于或等于力阈值(例如,传感器的最大力读数的10%,传感器的最大力读数的25%等)的一个或多个力值来识别力-抓握状态。
与此同时,电容-捏合计算器3126可基于由一个或多个接近度传感器测量的一个或多个接近度值(例如,电容值),诸如由在用户的拇指所在的控制器的顶部部分上的接近度传感器和由用户的食指或其他手指所在的控制器的控制器主体上的接近度传感器测量的值,来识别电容-捏合状态。在一些情况下,该软件和/或硬件可将这两种读数取平均值,并将平均值与阈值进行比较。如果平均值大于阈值(例如,最大传感器读数的30%,最大传感器读数的60%等),则可识别电容-捏合状态。同时,电容-抓取计算器3128可基于由位于控制器的控制器主体上的一个或多个接近度传感器记录的接近度值来识别电容-抓握状态。例如,可对由与用户的中指、无名指和小指对应的接近度传感器测量的接近度值进行平均并且与阈值进行比较。如果该平均值大于阈值(例如,最大传感器读数的50%,最大传感器读数的70%等),则可识别电容-抓握状态。当然,尽管描述了一些示例性握住状态,但是可利用其他类型的握住状态。另外,图33在下文更详细地描述了对象抓握模块3120的操作。
对象交互模块3118还可包括放置发起模块3130和放置对象模块3132。在对象抓握模块3120已经确定虚拟对象正被握住(并且因此引起呈现虚拟对象正被握住)之后,放置发起模块3130可分析传感器数据3114以确定何时发起虚拟对象的释放。在一些情况下,可基于控制器100上的力的显著下降,基于控制器100的速度的增大,基于指示缺少手或用户的手的一部分等的存在的接近度读数来发起虚拟对象的释放。图34在下文更详细地描述了放置放弃模块3122的操作。
同时,放置对象模块3132可被配置为在放置发起模块3130已经指示已经发起释放之后执行对象的释放。例如,放置对象模块3132可分析传感器数据以确定何时开始表示对象的释放,诸如对象被抛出、掉落、打碎等。在一些情况下,放置对象模块3132可基于速度数据指示控制器实际上已经停止了移动或者速度已经以其他方式降低,基于预定时间量的到期等来确定释放虚拟对象。图35至图39在下文更详细地描述了对象放置模块3132的操作。
需注意,尽管图31将手持控制器100示出为包括对象交互模块3118的部件,但是在一些情况下,这些部件中的一些或全部可附加地或另选地驻留在一个或多个显示设备3000上。这样,图31以虚线示出了对象交互模块3118、传感器数据3114和阈值数据3116。
图32至35共同示出了对象交互模块可实现以用于使显示设备呈现虚拟对象的紧握和释放的示例性过程3200。在一些情况下,对象交互模块3118可潜在地与一个或多个其他计算设备部件(诸如,显示器驱动程序、传感器等)组合来执行过程3200中的一些或全部。此外,在一些情况下,对象交互模块的功能可驻留在多个设备上,因此,这些操作可由设备的组合来执行。
操作3202表示确定控制器帧是否已更新。例如,该操作表示基于例如用户与手持控制器的交互和/或基于当前执行的应用程序(例如游戏应用程序)的其他输入来确定是否要更新显示。如果控制器帧尚未更新,则过程3200简单地循环返回以等待控制器帧更新。在进行这样的更新时,对象交互模块3118可在操作3204处确定虚拟对象当前是正被握住、释放,还是既未被握住也未被释放。在后一种情况下,过程3200前进到下文参考图33描述的操作。如果对象交互模块3118确定虚拟对象当前正被握住,则过程3200可前进到下文参考图34描述的操作。最后,如果对象交互模块3118确定虚拟对象正被释放,则过程3200可前进到参考图35描述的操作。
图33包括在操作3302处从上述传感器中的一个或多个传感器(例如,接近度传感器、抗力传感器、加速度计等)接收传感器数据。在操作3304处,对象抓握模块3120可确定所接收的传感器数据何时满足用于力-捏合类型抓取的标准,如上所述。例如,对象抓握模块3120可响应于一个或多个力传感器生成超过力阈值的力值并且一个或多个按钮被按下来识别力-捏合状态。例如,如果位于手持控制器顶侧的力传感器(用户的拇指在其下方)返回的力值大于特定阈值(例如,传感器最大力读数的1%,最大力读数的25%等),并且如果用户的食指或其他手指可选择的触发按钮被按压,则对象抓握模块3120可识别力-捏合状态。也就是说,响应于这些传感器读数,对象抓握模块3120可确定用户正试图通过“捏合”来握住虚拟对象。如果满足用于力-捏合抓取的标准,则在操作3306处,对象抓握模块3120可存储对于最接近虚拟手的位置的对象的力-捏合握住的指示。也就是说,对象抓握模块3120可基于接收到的传感器数据来确定将由用户的虚拟手握住最近的虚拟对象。在操作3308处,对象抓握模块3120然后可经由力-捏合抓握(例如,经由用户的食指和拇指)来引起对用户的虚拟手握住最近的虚拟对象的呈现。此后,过程3300前进到操作3310,该操作包括返回到操作3202。
然而,如果对象抓握模块3120确定接收到的传感器数据不满足用于力-捏合抓取类型的标准,则在3312处,对象抓握模块3120可确定接收到的传感器数据何时满足用于力-抓握类型抓取的标准,如上所述。例如,对象抓握模块3120可响应于手持控制器的控制器主体上的一个或多个力传感器测量到大于或等于力阈值(例如,传感器的最大力读数的10%,传感器的最大力读数的25%等)的一个或多个力值来识别力-抓握状态。如果满足这些标准,则在操作3314处,对象抓握模块3120可存储对于最接近虚拟手的位置的对象的力-抓握握住的指示。也就是说,对象抓握模块3120可基于接收到的传感器数据来确定将由用户的虚拟手握住最近的虚拟对象。在操作3316处,对象抓握模块3120然后可经由力-抓握抓取(例如,经由用户的多个手指)来引起对用户的虚拟手握住最近的虚拟对象的呈现。此后,过程3300前进到操作3310,该操作包括返回到操作3202。
然而,如果对象抓握模块3120确定接收到的传感器数据不满足用于力-紧握抓取类型的标准,则在3318处,对象抓握模块3120可确定接收到的传感器数据何时满足用于电容-捏合抓取的标准,如上所述。例如,对象抓握模块3120可基于由一个或多个接近度传感器测量的一个或多个接近度值(例如,电容值),诸如由在用户的拇指所在的控制器的顶部部分上的接近度传感器和由用户的食指或其他手指所在的控制器的控制器主体上的接近度传感器测量的值,来识别电容-捏合状态。在一些情况下,对象抓握模块3120可将这两种读数取平均值,并将平均值与阈值进行比较。如果平均值大于阈值(例如,最大传感器读数的30%,最大传感器读数的60%等),则可识别电容-捏合状态。如果是这样,则在操作3320处,对象抓握模块3120可存储对于最接近虚拟手的位置的对象的电容-捏合握住的指示。也就是说,对象抓握模块3120可基于接收到的传感器数据来确定将由用户的虚拟手握住最近的虚拟对象。在操作3322处,对象抓握模块3120然后可经由电容-捏合抓取(例如,在用户的食指和拇指之间)来引起对用户的虚拟手握住最近的虚拟对象的呈现。此后,过程3300前进到操作3310,该操作包括返回到操作3202。
然而,如果对象抓握模块3120确定接收到的传感器数据不满足用于电容-捏合抓取类型的标准,则在3324处,对象抓握模块3120可确定接收到的传感器数据何时满足用于电容-抓握类型抓取的标准,如上所述。例如,对象抓握模块3120可基于由位于控制器的控制器主体上的一个或多个接近度传感器记录的接近度值来识别电容-抓握握住。例如,可对由与用户的中指、无名指和小指对应的接近度传感器测量的接近度值进行平均并且与阈值进行比较。如果该平均值大于阈值(例如,最大传感器读数的50%,最大传感器读数的70%等),则可识别电容-抓握状态。如果是这样,则在操作3326处,对象抓握模块3120可存储对于最接近虚拟手的位置的对象的电容-抓握握住的指示。也就是说,对象抓握模块3120可基于接收到的传感器数据来确定将由用户的虚拟手握住最近的虚拟对象。在操作3328处,对象抓握模块3120然后可经由电容-抓握抓取(例如,经由用户的多个手指)来引起对用户的虚拟手握住最近的虚拟对象的呈现。此后,过程3300前进到操作3310,该操作包括返回到操作3202。
应当理解,虽然图33描述了用于确定对象是否正被握住的一个示例性过程3200(1),但是可使用其他过程。例如,虽然过程3200(1)实现了在基于电容的抓取之前分析并识别基于力的抓取的优先级排序,但是在其他情况下,该顺序可颠倒。也就是说,在其他具体实施中,基于电容的抓取可优先于基于力的抓取,可在优先级方面与基于力的抓取混合,等等。在一些情况下,抓取类型的优先级排序可取决于被抓取的对象、上次被抓取的对象等。例如,第一类型的对象可与首先检查力抓取而不是电容抓取的优先级排序相关联,而第二类型的对象则与此相反。附加地或另选地,第一类型的对象可与首先检查捏合抓取(力或电容)然后检查抓握抓取的优先级排序相关联,而第二类型的对象则与此相反。例如,如果用户尝试抓取小于阈值的第一尺寸的对象(例如,乒乓球),则该技术可首先尝试识别捏合抓取,而如果用户尝试抓取不小于阈值的第二尺寸的对象(例如,手榴弹),则该技术可以尝试识别抓握抓取。
另外,可采用多种方式来确定对用户的手的“最近”对象的确定。在一些情况下,可在对象的第一点(例如,质心、对象表面上的最近点)和虚拟手的特定点之间测量虚拟环境中的每个对象与用户的虚拟手(或其他工具)之间的距离。虚拟手的特定点可基于用户尝试执行的抓取的类型,用户最近执行的抓取,用户尝试抓取的对象的类型,用户最近握住的对象等。例如,如果用户尝试执行捏合类型抓取(或者如果用户最近的抓取是捏合类型抓取),则用于确定到环境中每个对象的距离的虚拟手的参考点可以是用户的虚拟手的拇指和食指之间的某个点。但是,如果用户尝试执行抓握类型抓取(或者如果用户最近的抓取是抓握类型抓取),则用于确定到环境中每个对象的距离的虚拟手的参考点可以是对应于用户的虚拟手或拳头的质心的某个点。当然,尽管描述了一些示例,但是应当理解,可采用多种其他方式来确定“最近的对象”。
在返回到操作3202时,假定虚拟对象现在正被用户的虚拟手握住,则该过程向下前进到决策框3204的“握住”分支。因此,过程3200前进到图34,该图包括:在3402处,再次从控制器100上的传感器接收附加的传感器数据3402。在3404处,放置发起模块3130可确定当前抓取类型是否是电容。如果是这样,则在3406处,放置发起模块3130可确定传感器数据是否指示电容抓取类型现在满足用于对应的力抓取的标准。如果是这样,则在3408处,对象抓握模块3120存储表明虚拟对象正被用户经由力类型抓取(例如,力-捏合、力-抓握等)握住的指示(也代表最接近虚拟手的虚拟对象)。在3410处,虚拟对象继续被呈现为被用户的虚拟手握住。此外,尽管3406描述了确定传感器数据是否指示电容抓取类型现在满足用于对应的力抓取的标准,但是在一些情况下,过程3200(2)还可确定传感器数据是否满足用于不同类型的抓取的标准。例如,如果当前抓取是捏合类型抓取,则放置发起模块3130或另一个部件可确定传感器数据是否满足用于抓握类型抓取的标准。或者,如果当前抓取是抓握类型抓取,则放置发起模块3130或另一个部件可确定传感器数据是否满足用于捏合类型抓取的标准。
返回到该图,如果在操作3404处放置发起模块3130确定当前抓取类型不是电容,或者响应于放置发起模块3130确定传感器数据确实指示抓取满足对应的力-抓取类型的标准,则在操作3414处,放置发起模块3130确定传感器数据是否指示满足用于当前抓取类型的标准。如果是这样,则在3416处,放置发起模块3130确定当前力读数与先前力读数之间的力的差值是否大于力阈值。也就是说,放置发起模块3130确定传感器数据是否指示在控制器处已经发生了显著的力下降。如果是这样,则在3418处,放置发起模块3130发起虚拟对象的释放,并且在操作3412处,返回到操作3202。然而,如果力的差值不大于力阈值,则该过程回到操作3202。
然而,如果放置发起模块3130在操作3414处确定传感器数据指示不满足用于当前抓取类型的标准,则在操作3420处,放置发起模块3130确定手持控制器的当前速度是否大于速度阈值(例如1m/s等)。如果是这样,则在操作3418处,放置发起模块3130发起对象的释放(例如,抛出、掉落、打碎等)。然而,如果不是,则在操作3422处,放置发起模块3130确定当前抓取类型是否是力-抓取类型。如果不是,则抓取类型不能降级,因此,过程3200前进到在操作3418处发起对象的释放。
然而,如果放置发起模块3130在操作3422处确定当前抓取类型是力-抓取类型,则在操作3424处,放置发起模块3130确定是否存在对应的基于电容的抓取(例如,捏合、抓握等)。如果是这样,则在操作3426处,存储电容类型抓取的指示。如果放置发起模块3130在操作3424处确定不存在对应的基于电容的抓取,则放置发起模块3130在操作3418处发起释放,然后返回到操作3202。
虽然图34描述了用于确定何时发起对象的释放的一个示例性过程3200(2),但是应当理解,其他过程也是可能的。例如,需注意,可直接响应于确定不再满足用于当前抓取类型的标准而发起释放。也就是说,如果在操作3414处这些技术确定不再满足当用于前抓取类型的标准,则该过程可直接前进到在操作3418处发起所握住的对象的释放。因此,在一些情况下,操作3416、3420、3422和3424(可能还有其他操作)中的一些或全部可以是任选的。
图35示出了在虚拟对象被握住之后并且在虚拟对象被释放之前(例如,紧接在释放的发起之后)的过程3200(3)。在操作3502处,放置对象模块3132接收附加的传感器数据。在操作3504处,放置对象模块3132确定这是否是在发起对象的释放之后的第一帧。如果是这样,则在操作3506处,放置对象模块3132确定手持控制器100的当前速度是否大于先前的速度。如果不大于,则在操作3508处,放置对象模块3132通过例如存储对象已被释放的指示和/或引起对象的释放的呈现来释放对象。例如,可将对象示出为掉落、抛出、打碎等。
然而,如果放置对象模块3132确定当前速度大于先前的速度,则在操作3512处,放置对象模块3132存储新峰值(例如,自发起释放以来的最高速度)的指示和最低值(例如,自发起释放以来的最低速度)的指示。放置对象模块3132还可计算新的结束值,该新的结束值包括最低值和峰值之间的值。在一些情况下,结束值对应于峰值和最低值的平均值。此后,过程3200(3)返回到操作3202。
在一些情况下,如上所述,最低值可对应于自发起对象的释放以来手持控制器的最低速度。在其他情况下,与此同时,底部速度可包括其一定百分比(例如50%、75%等),在发起对象的释放之前的在前时间量(例如五个帧)的最低速度,常数值或任何其他值。此外,虽然结束值可基于峰值速度和底部速度的值(例如,这两个值的平均值等),但在其他情况下,结束值可仅基于峰值速度(例如,峰值速度的一半)、底部速度(例如,底部速度的两倍)等。
然而,如果放置对象模块3132确定当前帧不是自发起虚拟对象的释放以来的第一帧,则在操作3514处,放置对象模块3132确定自发起虚拟对象的释放以来是否已经过去了预定时间量。在一些情况下,该时间以秒、分钟等为单位来度量,而在其他情况下,它可以帧的数量(例如五个帧)等来度量。如果放置对象模块3132确定在没有释放对象的情况下已经过去了预定时间量,则在操作3508处,放置对象模块3132可释放对象。然而,如果尚未经过预定时间量,则放置对象模块3132可在操作3516处继续确定当前速度是否大于先前的速度(例如,在紧接的下一帧处测量)。如果是这样,则在操作3518处,放置对象模块3132可确定当前速度是否大于当前峰值速度。如果是这样,则该过程可前进到操作3512,该操作可存储新的峰值并且可计算新的结束值。但是,如果当前速度不大于峰值,则该过程可返回到操作3202。
然而,如果放置对象模块3132在操作3516处确定当前速度不大于先前的速度,则在操作3520处,放置对象模块3132可确定当前速度是否小于底部速度。如果是这样,则放置对象模块3132可在操作3508处释放对象。如果不是,则放置对象模块3132可确定终点速度是否小于当前终点速度以及它是否在预定时间量保持低于终点速度。如果是这样,则放置对象模块3132可前进到在操作3508处释放对象。然而,如果不是,则放置对象模块3132可前进到操作3510,该操作表示返回到操作3202。
图36示出了放置对象模块3132可以进行的不同计算3602,这些计算用于确定如何呈现虚拟对象3006的释放,诸如虚拟对象的速度、轨迹、降落位置和/或发射位置。
继续根据上文的所示示例,虚拟手3004可握住虚拟对象3006,然后释放虚拟对象3006。该图示还示出了虚拟对象可与每个显示帧(F)的速度(V)和位置(P)相关联。如上所述,这些速度和位置可基于从一个或多个手持控制器接收的传感器数据。
在图36的所示示例中,放置发起模块3130、放置对象模块3132和/或其他软件和/或硬件已确定对象将在第一帧(F1)被释放。在一些示例中,放置对象模块3132可使用过程3500或类似过程来进行该确定。无论虚拟对象3006的释放的触发因素如何,在确定将释放对象时,放置对象模块都可确定释放虚拟对象3006的位置、释放虚拟对象3006的速度、虚拟对象3006将沿循的轨迹、虚拟对象3006的降落位置等。
为作出这些确定,放置对象模块3132可分析在放置对象模块3132确定释放将要发生的时间(在这种情况下,F1)之前的预定时间范围内从手持控制器接收的传感器数据。例如,放置对象模块3132可分析传感器数据以获得帧的在前数量,例如在释放对象之前十五帧。放置对象模块3132然后可识别与该时间段期间的最高速度(即,峰值速度)相关联的帧,并且在一些情况下,可存储表明与该最高速度相关联的帧对应于用户打算释放虚拟对象3006的帧的指示。然后,放置对象模块3132可使用与该帧相关联的信息来确定如何在显示器上呈现该虚拟对象的释放(例如,速率、方向、轨迹等)。
在一个实例中,放置对象模块3132可呈现虚拟手3004以峰值速度释放虚拟对象3006,而在其他实例中,放置对象模块3132可基于峰值速度、虚拟对象3006在峰值速度帧之前的第一数量帧的速度和虚拟对象3006在峰值速度之后的第二数量帧的速度的平均值来计算平均速度。例如,放置对象模块3132可计算峰值速度、虚拟对象3006在紧接在峰值速度帧之前的帧的速度和虚拟对象3006在紧接在峰值速度帧之后的帧的速度的平均速度。
例如,图36示出了放置对象模块3132已经将帧FN识别为在F1之前的预定时间量内的具有峰值速度VN的帧。因此,在该示例中,放置对象模块3132可识别虚拟对象3006在紧接在FN之前的帧FN-1的速度VN-1,和虚拟对象3006在紧接在FN之后的帧FN+1帧的速度VN+1。然后,放置对象模块3132可计算这三个帧的平均速度,并且可根据该平均速度来呈现虚拟对象3006从虚拟手3004释放。
在一些情况下,放置对象模块3132可根据在虚拟对象3006的当前位置的平均速度来呈现虚拟对象3006被释放。下面描述的图37A示出了这样的一个示例。在其他情况下,与此同时,放置对象模块3132可呈现虚拟对象3006以先前位置的平均速度被释放。例如,放置对象模块3132可呈现虚拟手3004以平均速度或以另一速度从与放置对象模块3132确定的对象将被释放的时间相关联的位置P1释放虚拟对象3006。同样在下面描述的图37B示出了这样的一个示例。在其他情况下,与此同时,放置对象模块3132可呈现虚拟对象3006在与P1相关联的帧之前或之后的任何帧处被释放,诸如从虚拟对象3006在FN的位置PN或从任何其他位置(例如FN-1、FN+1等)。
在其他情况下,放置对象模块3132可计算呈现虚拟对象行进的轨迹和/或虚拟对象的降落位置。例如,放置对象模块3132可计算在虚拟对象3006已经以峰值速度并且在峰值速度的位置PN被释放的情况下虚拟对象3006的轨迹。然后,放置对象模块3132可在显示器上呈现虚拟对象3006沿着该计算轨迹行进,要么从与峰值速度相关联的点(PN)开始,要么从虚拟对象3006的当前位置(例如P1)开始。在后一种情况下,放置对象模块3132可将计算轨迹从位置PN有效地平移到该对象的当前位置P1。下面描述的图37C示出了这样的一个示例。
在其他情况下,放置对象模块3132可计算在虚拟对象3006已经在FN被释放的情况下虚拟对象3006的降落位置(LL)。然后,放置对象模块3132可计算虚拟对象从其当前位置(例如,P1)到该降落位置的轨迹。然后,放置对象模块3132可呈现虚拟对象3006沿着该轨迹行进。在这些情况下,虚拟对象3006将因此落在如果在FN处已经准确识别了对象释放的情况下将要落到的位置,同时仍避免呈现该对象从其当前位置诸如P1移动到恰好在该对象被释放之前的先前位置诸如PN。下面描述的图37D示出了这样的一个示例。
此外,应当理解,上述不同类型的纠正措施可立即引入,或者可在确定采取所选措施之后引入。例如,如果放置对象模块3132确定以上述平均速度释放对象,则放置对象模块3132可使对象随时间推移从对象的当前速度朝向平均速度加速或减速(视情况而定),而不是立即从当前速度跳变到平均速度。类似地,如果放置对象模块3132确定实现与对象的当前轨迹不同的轨迹,则模块3132可随着时间实现不同的轨迹,以避免对象的出现从显示器上的一个位置立即跳到另一个位置。
图37A示出了一个示例,其中放置对象模块3132计算虚拟对象3006在被释放时的速度,所计算的速度至少部分地基于在确定用户释放虚拟对象3006的意图之前在预定时间范围内出现的峰值速度。例如,放置对象模块3132可基于峰值速度VN与在峰值速度帧的任一侧上的帧相关联的速度(VN-1和VN+1)之间的平均值来计算该平均速度(Vavg)。应当理解,这些速度可代表速度的量值和方向。此外,不管使用哪些速度来计算Vavg,放置对象模块3132都可至少部分地基于Vavg在显示器上呈现虚拟对象3006从虚拟对象的当前位置诸如P1被释放。如上所述,这可包括使当前速度朝着Vavg加速或减慢(视情况而定),可能直到它达到Vavg为止。
图37B示出了一个示例,其中放置对象模块3132确定在用户打算释放对象3006时虚拟对象3006的位置,以及放置对象模块呈现虚拟对象3006从该位置被释放。例如,并且如上所述,放置对象模块3132可存储虚拟对象的预期释放点出现的位置的指示,该位置是与在当前时间的预定时间量(例如,F1之前的十五帧)内具有峰值速度VN的帧FN相关联的位置PN。然后,放置对象模块3132可使显示器呈现该对象以或以其他方式基于特定速度(诸如,上面参照图37A讨论的峰值速度、平均速度)或任何其他速度从该位置(PN)被释放。如上所述,这可包括使当前速度朝着所选择的速度加速或减速(视情况而定),可能直到它达到所选择的速度为止。
图37C示出了一个示例,其中放置对象模块3132计算在当用户打算释放虚拟对象3006时虚拟对象3006已经被释放的情况下虚拟对象3006的轨迹,并且呈现虚拟对象3006沿着该轨迹行进,不过是从虚拟对象3006在显示器上的当前位置开始。换句话说,在该示例中,放置对象模块3132可使用峰值速度VN来确定在虚拟对象3006已经被呈现为在位置PN被释放的情况下将发生的轨迹TN。然后,放置对象模块3132可呈现虚拟对象3006沿循基于该轨迹的轨迹(诸如从显示器上虚拟对象3006的当前位置诸如位置P1开始但朝着轨迹TN转变的轨迹)行进。在该示例中,显示的轨迹可能与实际轨迹相同,不过考虑到对象释放的起始位置始于P1而非PN,降落位置可能有所不同。
图37D示出了一个示例,其中放置对象模块3132基于在当用户打算释放虚拟对象3006时该对象已经被释放的情况下虚拟对象的轨迹来计算虚拟对象3006的降落位置。在该示例中,放置对象模块3132使用峰值速度VN和虚拟对象3006在峰值速度时的位置PN来计算轨迹TN。然后使用此轨迹以及有关虚拟对象3006的环境的信息来确定降落位置LLN。该降落位置代表在虚拟对象3006已经被呈现为在FN被释放的情况下虚拟对象3006在该环境中将要降落的位置。
利用该信息,放置对象模块3132然后可计算虚拟对象的当前位置(例如,P1)和降落位置LLN之间的新轨迹。尽管该解决办法改变了虚拟对象的计算轨迹,但它允许显示虚拟对象3006降落在当该对象已经在FN被释放的情况下将降落的位置,而不呈现虚拟对象3006在与前一帧相关联的位置(例如PN)开始其释放。
图38示出了一个示例性过程3800,该过程在第一时间确定虚拟手将释放虚拟对象,并且至少部分地基于虚拟对象在第一时间之前的预定时间范围内的峰值速度或虚拟对象的与峰值速度相关联的位置来在显示器上呈现虚拟手释放该虚拟对象。在一些情况下,放置对象模块3132可执行过程3800中的一些或全部。
在操作3802处,放置对象模块3132可当显示器呈现虚拟手握住虚拟对象时接收来自手持控制器的一个或多个传感器的传感器数据。如上所述,该传感器数据可包括力数据、电容数据、速度数据等。在操作3804处,放置对象模块3132可在第一时间并且至少部分地基于传感器数据来确定虚拟手将释放虚拟对象。在一些情况下,放置对象模块3132可使用过程3200(3)进行该确定,而在其他情况下,该放置对象模块可使用不同的过程。
在操作3806处,放置对象模块3132可至少部分地响应于确定虚拟手将释放虚拟对象来确定手持控制器在第一时间之前的预定时间范围内的峰值速度。在一些情况下,第一时间可与第一帧相关联,并且该确定可包括确定手持控制器的在紧接在第一帧之前的预定数量的帧(诸如前面十五个帧)内的峰值速度。
在操作3808处,放置对象模块3132可确定在预定时间范围内的峰值速度发生在第一时间之前的第二时间,诸如在第一时间之前的特定帧处。在操作3810处,放置对象模块可至少部分地基于手持控制器在第二时间的速率、手持控制器在第二时间的方向、或手持控制器在第二时间的位置中的至少一者和/或基于虚拟对象在第二时间的旋转速度来在显示器上呈现虚拟手释放虚拟对象。
在一些情况下,例如,放置对象模块3132可确定手持控制器在第二时间之前的第三时间的速度或手持控制器在第二时间之后的第四时间的速度,并且可使用这些速度来计算平均速度(例如,速率和方向)。然后,放置对象模块3132可根据或基于该平均速度来呈现虚拟手释放虚拟对象。在其他情况下,放置对象模块3132可附加地或另选地确定虚拟对象在第二时间的位置,并且可从该第二位置或基于该第二位置来呈现虚拟手释放虚拟对象。
在其他情况下,放置对象模块3132可从峰值速度确定手持控制器在第二时间的方向。在这些情况下,虚拟对象可被呈现为根据手持控制器在第二时间的方向或以其他方式基于该方向而被释放。在一些情况下,放置对象模块3132可附加地或另选地使用虚拟对象在第二时间的峰值速度和/或位置来计算虚拟对象的轨迹和/或降落位置。然后,放置对象模块可根据该轨迹或根据在降落位置处终止的轨迹来呈现虚拟手释放虚拟对象。
在其他情况下,放置对象模块可至少部分地基于虚拟对象的旋转速度来呈现虚拟对象被释放。为了确定旋转速度,放置对象模块可初始地确定手持控制器在与手持控制器的峰值速度相对应或接近的时间的旋转变化率。另外,放置对象模块或另一个模块可确定手持控制器(例如,手持控制器的质量中心)与虚拟对象的质量中心之间的长度。该长度可与手持控制器的旋转变化率一起用于计算虚拟对象在手持控制器的峰值速度时或附近时间的旋转速度。然后,放置对象模块可至少部分地基于该旋转速度来呈现虚拟对象被释放。例如,对象的旋转量可基于该值。为了提供示例,如果用户正握住虚拟锤子,则放置对象模块可确定该虚拟锤子在对象被释放时的旋转速率,并且可使用该信息来确定如何呈现该虚拟锤子的释放。
图39示出了一个示例性过程3900,该过程在第一时间确定虚拟对象将被释放,并且至少部分地基于虚拟对象在第一时间之前的预定时间范围内的峰值速度或虚拟对象的与峰值速度相关联的位置来在显示器上呈现虚拟对象被释放。在一些情况下,放置对象模块3132可执行过程3900中的一些或全部。
在操作3902处,放置对象模块3132可在第一时间确定在显示器上呈现的虚拟对象将被释放。在操作3904处,放置对象模块3132可至少部分地响应于确定虚拟对象将被释放来确定手持控制器在第一时间之前的预定时间范围内的峰值速度。在操作3906处,放置对象模块3132可确定在预定时间范围内的峰值速度发生在第一时间之前的第二时间。在操作3908处,放置对象模块3132可至少部分地基于手持控制器在第二时间的速率、手持控制器在第二时间的方向、或手持控制器在第二时间的位置中的至少一者和/或基于虚拟对象在第二时间的旋转速度来在显示器上呈现虚拟对象被释放。
例如,放置对象模块可至少部分地基于虚拟对象的旋转速度来呈现虚拟对象被释放。为了确定旋转速度,放置对象模块可初始地确定手持控制器在与手持控制器的峰值速度相对应或接近的时间的旋转变化率。另外,放置对象模块或另一个模块可确定手持控制器(例如,手持控制器的质量中心)与虚拟对象的质量中心之间的长度。该长度可与手持控制器的旋转变化率一起用于计算虚拟对象在手持控制器的峰值速度时或附近时间的旋转速度。然后,放置对象模块可至少部分地基于该旋转速度来呈现虚拟对象被释放。例如,对象的旋转量可基于该值。为了提供示例,如果用户正握住虚拟锤子,则放置对象模块可确定该虚拟锤子在对象被释放时的旋转速率,并且可使用该信息来确定如何呈现该虚拟锤子的释放。
尽管已经用特定于结构特征的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不必限于所描述的具体特征。相反,具体特征被公开为实现权利要求的例示性形式。
参考本文的具体示例性实施方案描述了本公开,但是本领域的技术人员将认识到,本公开不限于那些示例性实施方案。可以设想,本公开的各种特征和方面可单独地或联合地使用并且由可能在不同的环境或应用中使用。例如,参考右手控制器示出的特征也可在左手控制器中实现,反之亦然。因此,说明书和附图应被认为是例示性和示例性的而不是限制性的。例如,词语“优选地”和短语“优选地但不一定”在本文中被同义地使用,以一致地包括“不是必须地”或“任选地”的含义。“包括”、“包含”和“具有”旨在作为开放式术语。

Claims (26)

1.一种方法,包括:
从手持控制器的一个或多个传感器接收第一数据,所述第一数据指示握住所述手持控制器的用户的手的至少一部分在第一时间的力或接近度中的至少一者;
至少部分地基于所述第一数据,存储表明在显示器上呈现的虚拟对象已经由所述用户拾取的第一指示;
在所述显示器上并且至少部分地基于所述第一指示来呈现所述用户的虚拟手握住所述虚拟对象;
从所述一个或多个传感器接收第二数据,所述第二数据指示所述手的至少一部分在第二时间的力或接近度中的至少一者;
至少部分地基于所述第二数据,存储表明所述虚拟手将在从所述第二时间起的预定时间量内释放所述虚拟对象的第二指示;
从所述一个或多个传感器接收第三数据,所述第三数据指示所述手持控制器在第三时间的速度;以及
在所述预定时间量到期之前或之后在所述显示器上呈现所述虚拟手释放所述虚拟对象。
2.根据权利要求1所述的方法,其中所述第一数据指示所述手的至少一部分在所述第一时间的力,并且所述方法还包括:
确定在所述第一时间的所述力大于力阈值;
并且其中存储所述第一指示包括:至少部分地基于确定在所述第一时间的所述力大于所述力阈值,来存储表明在所述显示器上呈现的所述虚拟对象已经由所述用户拾取的所述第一指示。
3.根据权利要求1所述的方法,其中所述第一数据包括由所述一个或多个传感器测量的第一电容值,并且所述方法还包括:
确定所述第一电容值或至少部分地基于所述第一电容值的第二电容值中的至少一者大于电容阈值;
并且其中存储所述第一指示包括:至少部分地基于确定所述第一电容值或所述第二电容值中的所述至少一者大于所述电容阈值,来存储表明在所述显示器上呈现的所述虚拟对象已经由所述用户拾取的所述第一指示。
4.根据权利要求1所述的方法,其中:
所述第一数据指示所述手的至少一部分在所述第一时间的力;
所述第二数据指示所述手的至少一部分在所述第二时间的力;并且
所述方法还包括:
确定在所述第一时间的所述力与在所述第二时间的所述力的差异;以及
确定所述差异大于差异阈值;
并且其中存储所述第二指示包括至少部分地基于确定所述差异大于所述差异阈值来存储表明所述手将释放所述虚拟对象的所述第二指示。
5.根据权利要求1所述的方法,其中所述第二数据还指示所述手持控制器在所述第二时间的速度,并且所述方法还包括:
确定所述手持控制器在所述第二时间的所述速度大于速度阈值;
并且其中存储所述第二指示包括至少部分地基于确定所述手持控制器在所述第二时间的所述速度大于所述速度阈值来存储表明所述手将释放所述虚拟对象的所述第二指示。
6.根据权利要求1所述的方法,其中所述第二数据包括由所述一个或多个传感器测量的第一电容值,并且所述方法还包括:
确定所述第一电容值或至少部分地基于所述第一电容值的第二电容值中的至少一者不大于电容阈值;
并且其中存储所述第二指示包括至少部分地基于确定所述第一电容值不大于所述电容阈值来存储表明所述手将释放所述虚拟对象的所述第二指示。
7.根据权利要求1所述的方法,其中所述第二数据包括所述手持控制器在所述第二时间的速度,并且所述方法还包括:
确定所述手持控制器在所述第三时间的所述速度不大于所述手持控制器在所述第二时间的所述速度;
并且其中所述呈现所述虚拟手释放所述对象包括:至少部分地基于确定所述手持控制器在所述第三时间的所述速度不大于所述手持控制器在所述第二时间的所述速度,在所述显示器上呈现所述虚拟手释放所述对象。
8.根据权利要求1所述的方法,还包括:
确定所述预定时间量已经到期而未呈现所述虚拟手释放所述虚拟对象;
并且其中所述呈现所述虚拟手释放所述对象包括:至少部分地基于确定所述预定时间量已经到期而未呈现所述虚拟手释放所述虚拟对象,在所述显示器上呈现所述虚拟手释放所述对象。
9.根据权利要求1所述的方法,其中所述第二数据包括所述手持控制器在所述第二时间的速度,并且所述方法还包括:
确定所述手持控制器在所述第三时间的所述速度大于所述手持控制器在所述第二时间的所述速度;
存储表明所述手持控制器在所述第三时间的所述速度对应于峰值速度的指示;
存储表明所述手持控制器在所述第二时间的所述速度对应于底部速度的指示;
至少部分地基于所述峰值速度和所述底部速度来计算终点速度;以及
存储所述终点速度的指示。
10.根据权利要求9所述的方法,还包括:
从所述一个或多个传感器接收第四数据,所述第四数据指示所述手持控制器在第四时间的速度;以及
确定所述手持控制器在所述第四时间的所述速度小于所述底部速度;
并且其中所述呈现所述虚拟手释放所述虚拟对象包括至少部分地基于确定所述手持控制器在所述第四时间的所述速度小于所述底部速度来呈现所述虚拟手释放所述虚拟对象。
11.根据权利要求9所述的方法,还包括:
从所述一个或多个传感器接收第四数据,所述第四数据指示所述手持控制器在第四时间的速度;
确定所述手持控制器在所述第四时间的所述速度不小于所述底部速度;
确定所述手持控制器在所述第四时间的所述速度小于所述终点速度;以及
确定所述手持控制器的速度在大于阈值时间量保持小于所述终点速度;
并且其中所述呈现所述虚拟手释放所述虚拟对象包括至少部分地基于确定所述手持控制器的所述速度在大于所述阈值时间量保持小于所述终点速度来呈现所述虚拟手释放所述虚拟对象。
12.一种系统,包括:
一个或多个处理器;和
存储计算机可执行指令的一个或多个计算机可读介质,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从手持控制器的一个或多个传感器接收第一数据,所述第一数据指示握住所述手持控制器的用户的手的至少一部分的力或接近度;
至少部分地基于所述第一数据,存储表明虚拟对象将被握住的指示;
从所述一个或多个传感器接收第二数据,所述第二数据包括所述手持控制器的速度;以及
至少部分地基于所述第二数据,存储表明所述虚拟对象将被释放的指示。
13.根据权利要求12所述的系统,其中所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
确定所述手持控制器的所述速度小于所述手持控制器的先前测量的速度;
并且其中存储表明所述虚拟对象将被释放的所述指示包括:至少部分地基于确定所述手持控制器的所述速度小于所述手持控制器的所述先前测量的速度,存储表明所述虚拟对象将被释放的所述指示。
14.根据权利要求12所述的系统,其中所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
确定从存储表明所述虚拟对象将被释放的所述指示以来已经过去了预定时间量;以及
至少部分地基于确定已经过去了所述预定时间量来使显示器呈现所述虚拟对象的释放。
15.根据权利要求12所述的系统,其中所述手持控制器的所述速度包括所述手持控制器在第一时间的速度,并且所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第三数据,所述第三数据包括所述手持控制器在所述第一时间之后的第二时间的速度;
确定所述手持控制器在所述第二时间的所述速度不大于所述手持控制器在所述第一时间的所述速度;以及
至少部分地基于确定所述手持控制器在所述第二时间的所述速度不大于所述手持控制器在所述第一时间的所述速度,使显示器呈现所述虚拟对象的释放。
16.根据权利要求12所述的系统,其中所述手持控制器的所述速度包括所述手持控制器在第一时间的速度,并且所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第三数据,所述第三数据包括所述手持控制器在所述第一时间之后的第二时间的速度;
确定所述手持控制器在所述第二时间的所述速度大于所述手持控制器在所述第一时间的所述速度;
存储表明所述手持控制器在所述第二时间的所述速度对应于峰值速度的指示;
存储表明所述手持控制器在所述第一时间的所述速度对应于底部速度的指示;
至少部分地基于所述峰值速度和所述底部速度中的至少一者来计算终点速度;以及
存储所述终点速度的指示。
17.根据权利要求16所述的系统,其中所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第四数据,所述第四数据指示所述手持控制器在第三时间的速度;
确定所述手持控制器在所述第三时间的所述速度小于所述底部速度;以及
至少部分地基于确定所述手持控制器在所述第三时间的所述速度小于所述底部速度,使显示器呈现所述虚拟对象的释放。
18.根据权利要求16所述的系统,其中所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第四数据,所述第四数据指示所述手持控制器在第三时间的速度;
确定所述手持控制器在所述第三时间的所述速度不小于所述底部速度;
确定所述手持控制器在所述第三时间的所述速度小于所述终点速度;
确定所述手持控制器的速度在大于阈值时间量保持小于所述终点速度;以及
至少部分地基于确定所述手持控制器的所述速度在大于所述阈值时间量保持小于所述终点速度,使显示器呈现所述虚拟对象的释放。
19.一种手持控制器,包括:
控制器主体;
耦接到所述控制器主体的一个或多个传感器;
一个或多个处理器;和
存储计算机可执行指令的一个或多个计算机可读介质,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第一数据,所述第一数据指示握住所述手持控制器的用户的手的至少一部分的力或接近度;
至少部分地基于所述第一数据,存储表明虚拟对象将被握住的指示;
从所述一个或多个传感器接收第二数据,所述第二数据包括所述手持控制器的速度;以及
至少部分地基于所述第二数据,存储表明所述虚拟对象将被释放的指示。
20.根据权利要求19所述的手持控制器,其中所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
确定所述手持控制器的所述速度小于所述手持控制器的先前测量的速度;
并且其中存储表明所述虚拟对象将被释放的所述指示包括:至少部分地基于确定所述手持控制器的所述速度小于所述手持控制器的所述先前测量的速度,存储表明所述虚拟对象将被释放的所述指示。
21.根据权利要求19所述的手持控制器,其中所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
确定从存储表明所述虚拟对象将被释放的所述指示以来已经过去了预定时间量;以及
至少部分地基于确定已经过去了所述预定时间量来使显示器呈现所述虚拟对象的释放。
22.根据权利要求19所述的手持控制器,其中所述手持控制器的所述速度包括所述手持控制器在第一时间的速度,并且所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第三数据,所述第三数据包括所述手持控制器在所述第一时间之后的第二时间的速度;
确定所述手持控制器在所述第二时间的所述速度不大于所述手持控制器在所述第一时间的所述速度;以及
至少部分地基于确定所述手持控制器在所述第二时间的所述速度不大于所述手持控制器在所述第一时间的所述速度,使显示器呈现所述虚拟对象的释放。
23.根据权利要求19所述的手持控制器,其中所述手持控制器的所述速度包括所述手持控制器在第一时间的速度,并且所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第三数据,所述第三数据包括所述手持控制器在所述第一时间之后的第二时间的速度;
确定所述手持控制器在所述第二时间的所述速度大于所述手持控制器在所述第一时间的所述速度;
存储表明所述手持控制器在所述第二时间的所述速度对应于峰值速度的指示;
存储表明所述手持控制器在所述第一时间的所述速度对应于底部速度的指示;
至少部分地基于所述峰值速度和所述底部速度来计算终点速度;以及
存储所述终点速度的指示。
24.根据权利要求23所述的手持控制器,其中所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第四数据,所述第四数据指示所述手持控制器在第三时间的速度;
确定所述手持控制器在所述第三时间的所述速度小于所述底部速度;以及
至少部分地基于确定所述手持控制器在所述第三时间的所述速度小于所述底部速度,使显示器呈现所述虚拟对象的释放。
25.根据权利要求23所述的手持控制器,其中所述一个或多个计算机可读介质还存储计算机可执行指令,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行动作,所述动作包括:
从所述一个或多个传感器接收第四数据,所述第四数据指示所述手持控制器在第三时间的速度;
确定所述手持控制器在所述第三时间的所述速度不大于所述手持控制器在所述第二时间的所述速度;
确定所述手持控制器在所述第三时间的所述速度不小于所述底部速度;
确定所述手持控制器在所述第三时间的所述速度小于所述终点速度;
确定所述手持控制器的速度在大于阈值时间量保持小于所述终点速度;以及
至少部分地基于确定所述手持控制器的所述速度在大于所述阈值时间量保持小于所述终点速度,使显示器呈现所述虚拟对象的释放。
26.根据权利要求19所述的手持控制器,其中所述一个或多个传感器包括:
加速度计,所述加速度计被配置为确定所述手持控制器的所述速度;
力感测电阻器(FSR),所述FSR被配置为生成指示所述用户的所述手的至少一部分在所述手持控制器上的力的数据;和
接近度传感器,所述接近度传感器被配置为生成指示所述用户的所述手的至少一部分在所述手持控制器上的接近度的数据。
CN201980041062.8A 2018-06-20 2019-06-18 握住和释放虚拟对象 Pending CN112512648A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862687774P 2018-06-20 2018-06-20
US62/687,774 2018-06-20
US201862687806P 2018-06-21 2018-06-21
US62/687,806 2018-06-21
US16/389,499 2019-04-19
US16/389,499 US11625898B2 (en) 2016-10-11 2019-04-19 Holding and releasing virtual objects
PCT/US2019/037794 WO2019246144A1 (en) 2018-06-20 2019-06-18 Holding and releasing virtual objects

Publications (1)

Publication Number Publication Date
CN112512648A true CN112512648A (zh) 2021-03-16

Family

ID=68984338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980041062.8A Pending CN112512648A (zh) 2018-06-20 2019-06-18 握住和释放虚拟对象

Country Status (5)

Country Link
EP (1) EP3806968A4 (zh)
JP (1) JP7358408B2 (zh)
KR (1) KR20210023864A (zh)
CN (1) CN112512648A (zh)
WO (1) WO2019246144A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115268638A (zh) * 2022-07-11 2022-11-01 江西泰豪动漫职业学院 基于虚拟场景的工具操作方法、系统、存储介质及设备
TWI801177B (zh) * 2021-09-16 2023-05-01 宏達國際電子股份有限公司 手持控制器及操控方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107233732A (zh) * 2016-03-28 2017-10-10 株式会社万代南梦宫娱乐 模拟控制装置
US20170348592A1 (en) * 2016-06-06 2017-12-07 Nintendo Co., Ltd. Gaming device, gaming system, non-transitory storage medium having stored therein gaming program, and swing input determination method
US20180099219A1 (en) * 2016-10-11 2018-04-12 Valve Corporation Electronic controller with finger sensing and an adjustable hand retainer

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4202366B2 (ja) * 2006-03-08 2008-12-24 任天堂株式会社 動き判別装置および動き判別プログラム
JP4151982B2 (ja) * 2006-03-10 2008-09-17 任天堂株式会社 動き判別装置および動き判別プログラム
JP4410284B2 (ja) * 2008-02-19 2010-02-03 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP5289031B2 (ja) * 2008-12-22 2013-09-11 任天堂株式会社 ゲーム装置およびゲームプログラム
JP5430246B2 (ja) * 2009-06-23 2014-02-26 任天堂株式会社 ゲーム装置およびゲームプログラム
US8929612B2 (en) * 2011-06-06 2015-01-06 Microsoft Corporation System for recognizing an open or closed hand
US9001082B1 (en) * 2013-09-27 2015-04-07 Sensel, Inc. Touch sensor detector system and method
JP2016024707A (ja) * 2014-07-23 2016-02-08 国立大学法人東京工業大学 触覚提示装置及び力触覚提示システム
US9898091B2 (en) * 2015-06-03 2018-02-20 Oculus Vr, Llc Virtual reality system with head-mounted display, camera and hand-held controllers
WO2017019991A1 (en) * 2015-07-29 2017-02-02 Sensel Inc. Systems and methods for manipulating a virtual environment
US10101803B2 (en) * 2015-08-26 2018-10-16 Google Llc Dynamic switching and merging of head, gesture and touch input in virtual reality
US9804693B2 (en) * 2015-12-18 2017-10-31 Oculus Vr, Llc Handheld controller with activation sensors
US10198855B2 (en) * 2016-07-20 2019-02-05 Colopl, Inc. Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods
WO2018016107A1 (ja) * 2016-07-21 2018-01-25 株式会社ソニー・インタラクティブエンタテインメント 操作デバイス、及び制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107233732A (zh) * 2016-03-28 2017-10-10 株式会社万代南梦宫娱乐 模拟控制装置
US20170348592A1 (en) * 2016-06-06 2017-12-07 Nintendo Co., Ltd. Gaming device, gaming system, non-transitory storage medium having stored therein gaming program, and swing input determination method
US20180099219A1 (en) * 2016-10-11 2018-04-12 Valve Corporation Electronic controller with finger sensing and an adjustable hand retainer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI801177B (zh) * 2021-09-16 2023-05-01 宏達國際電子股份有限公司 手持控制器及操控方法
US11681370B2 (en) 2021-09-16 2023-06-20 Htc Corporation Handheld controller and control method
CN115268638A (zh) * 2022-07-11 2022-11-01 江西泰豪动漫职业学院 基于虚拟场景的工具操作方法、系统、存储介质及设备
CN115268638B (zh) * 2022-07-11 2024-04-19 江西泰豪动漫职业学院 基于虚拟场景的工具操作方法、系统、存储介质及设备

Also Published As

Publication number Publication date
JP7358408B2 (ja) 2023-10-10
KR20210023864A (ko) 2021-03-04
JP2021528759A (ja) 2021-10-21
EP3806968A4 (en) 2022-03-16
EP3806968A1 (en) 2021-04-21
WO2019246144A1 (en) 2019-12-26

Similar Documents

Publication Publication Date Title
US11625898B2 (en) Holding and releasing virtual objects
US11294485B2 (en) Sensor fusion algorithms for a handheld controller that includes a force sensing resistor (FSR)
US11465041B2 (en) Force sensing resistor (FSR) with polyimide substrate, systems, and methods thereof
US20220040566A1 (en) Holding and Releasing Virtual Objects
US10649583B1 (en) Sensor fusion algorithms for a handheld controller that includes a force sensing resistor (FSR)
JP7358408B2 (ja) 仮想物体の保持および解放
CN112437909A (zh) 虚拟现实手势生成
CN112219246B (zh) 具有聚酰亚胺衬底的力感测电阻器(fsr)、系统和其方法
JP7383647B2 (ja) 仮想物体の保持および解放
CN113474748B (zh) 用于包括力感测电阻器(fsr)的手持式控制器的传感器融合算法
JP7361725B2 (ja) 力検知抵抗器(fsr)を含むハンドヘルドコントローラのセンサ融合アルゴリズム
US11992751B2 (en) Virtual reality hand gesture generation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination