CN111356968B - 基于检测到的手输入渲染虚拟手姿势 - Google Patents
基于检测到的手输入渲染虚拟手姿势 Download PDFInfo
- Publication number
- CN111356968B CN111356968B CN201880073431.7A CN201880073431A CN111356968B CN 111356968 B CN111356968 B CN 111356968B CN 201880073431 A CN201880073431 A CN 201880073431A CN 111356968 B CN111356968 B CN 111356968B
- Authority
- CN
- China
- Prior art keywords
- hand
- pose
- virtual
- user
- finger
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 55
- 230000008859 change Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 29
- 230000007704 transition Effects 0.000 claims description 14
- 210000003811 finger Anatomy 0.000 description 221
- 230000033001 locomotion Effects 0.000 description 45
- 230000000875 corresponding effect Effects 0.000 description 33
- 210000003813 thumb Anatomy 0.000 description 29
- 230000007423 decrease Effects 0.000 description 24
- 210000004932 little finger Anatomy 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 230000002452 interceptive effect Effects 0.000 description 17
- 230000003993 interaction Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 11
- 210000004247 hand Anatomy 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 210000000707 wrist Anatomy 0.000 description 8
- 230000000994 depressogenic effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000881 depressing effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 210000000245 forearm Anatomy 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 3
- 210000004935 right thumb Anatomy 0.000 description 3
- 230000001953 sensory effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 239000004575 stone Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004898 kneading Methods 0.000 description 1
- 210000004934 left little finger Anatomy 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 210000000811 metacarpophalangeal joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011306 natural pitch Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000011295 pitch Substances 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 210000004933 right little finger Anatomy 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Software Systems (AREA)
- Position Input By Displaying (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Geometry (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
Abstract
在一些实施方案中,提供了一种方法,所述方法包括以下操作:从控制器装置接收识别用户的手的姿势的控制器输入;确定所述控制器输入与预定义目标输入的相似性程度;在虚拟空间中渲染与所述控制器装置相对应的虚拟手,其中当所述相似性程度超过预定义阈值时,渲染所述虚拟手使得所述虚拟手的姿势与预定义手姿势一致,并且其中当所述相似性程度未超过所述预定义阈值时,渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化。
Description
1.技术领域
本公开涉及基于检测到的手输入渲染虚拟手姿势。
背景技术
2.相关技术说明
视频游戏产业多年以来已发生了许多变化。随着计算能力的扩展,视频游戏的开发者同样创建了利用这些计算能力提高的游戏软件。为此,视频游戏开发者一直在编码结合了复杂操作和数学运算的游戏,以产生非常详细且吸引人的游戏体验。
示例性游戏平台包括SonySony/>(PS2)、Sony(PS3)和Sony/>(PS4),它们各自以游戏机的形式出售。众所周知,游戏机被设计为连接到显示器(通常是电视机)并通过手持控制器实现用户交互。游戏机被设计有专用处理硬件,包括CPU、用于处理密集图形操作的图形合成器、用于执行几何变换的矢量单元以及其他胶合硬件、固件和软件。游戏机还被设计具有光盘读取器以用于接收通过游戏机本地播放的游戏光盘。还可以进行在线游戏,其中用户可以通过因特网与其他用户以交互方式进行游戏对抗或一起玩游戏。随着游戏的复杂性持续激发玩家的兴趣,游戏和硬件制造商持续进行革新以启用附加的交互和计算机程序。
计算机游戏产业中的增长趋势是开发增加用户与游戏系统之间的交互的游戏。实现更丰富的交互式体验的一种方式是使用无线游戏控制器,所述无线游戏控制器的移动由游戏系统跟踪以便跟踪玩家的移动并将这些移动用作游戏的输入。一般而言,手势输入是指使诸如计算系统、视频游戏机、智能家电等电子装置对由玩家做出并由电子装置捕获的一些手势做出反应。
实现更身临其境的交互式体验的另一种方式是使用头戴式显示器(HMD)。头戴式显示器由用户佩戴并且可以被配置为呈现各种图形,诸如虚拟空间的视图。在头戴式显示器上呈现的图形可以覆盖用户的大部分或甚至全部视野。因此,当HMD以响应于用户移动的方式渲染虚拟环境的三维实时视图时,头戴式显示器可以向用户提供视觉上身临其境的虚拟现实体验。佩戴HMD的用户提供所有方向上的移动自由度,因此可以经由HMD被提供虚拟环境在所有方向上的视图。
在这种情况下,出现了本公开的实施方案。
发明内容
本公开的各实施方案包括与基于检测到的手输入渲染虚拟手姿势有关的装置、方法和系统。
在一些实施方案中,提供了一种方法,所述方法包括:从控制器装置接收识别用户的手的姿势的控制器输入;确定所述控制器输入与预定义目标输入的相似性程度;在虚拟空间中渲染与所述控制器装置相对应的虚拟手,其中当所述相似性程度超过预定义阈值时,渲染所述虚拟手使得所述虚拟手的姿势与预定义手姿势一致,并且其中当所述相似性程度未超过所述预定义阈值时,渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化。
在一些实施方案中,所述虚拟手的所述姿势由所述虚拟手的虚拟手指的姿态来定义,所述姿态独立于所述虚拟手在所述虚拟空间中的位置和定向,其中所述预定义手姿势定义用于所述虚拟手的所述虚拟手指的预定义姿态。
在一些实施方案中,所述虚拟手指的所述姿态由所述虚拟手指的屈曲、伸展、外展、内收和/或回旋中的一者或多者的量来定义。
在一些实施方案中,渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化包括:响应于所述控制器输入的变化而改变所述虚拟手的至少一个虚拟手指的所述姿态。
在一些实施方案中,当所述相似性程度继续超过所述预定义阈值时维持所述预定义手姿势的所述渲染持续一定时间,使得所述控制器输入中不会引起所述相似性程度未超过所述预定义阈值的变化不会导致所述虚拟手的所述姿势发生变化。
在一些实施方案中,所述用户的手的所述姿势由所述用户的手的手指的姿态来定义,所述姿态独立于所述用户的手在本地环境中的位置和定向,并且其中所述控制器输入识别所述用户的手的手指的姿态。
在一些实施方案中,所述用户的手的所述手指的所述姿态由所述用户的手的所述手指的屈曲、伸展、外展、内收和/或回旋中的一者或多者的量来定义。
在一些实施方案中,提供了一种在其上体现程序指令的非暂时性计算机可读介质,所述程序指令在由至少一个计算装置执行时使所述至少一个计算装置执行包括以下操作的方法:从控制器装置接收识别用户的手的姿势的控制器输入;确定所述控制器输入与预定义目标输入的相似性程度;在虚拟空间中渲染与所述控制器装置相对应的虚拟手,其中当所述相似性程度超过预定义阈值时,渲染所述虚拟手使得所述虚拟手的姿势与预定义手姿势一致,并且其中当所述相似性程度未超过所述预定义阈值时,渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化。
在一些实施方案中,提供了一种系统,所述系统包括:控制器装置,其生成识别用户的手的姿势的控制器输入;计算装置,其确定所述控制器输入与预定义目标输入的相似性程度并且在虚拟空间中渲染与所述控制器装置相对应的虚拟手,其中当所述相似性程度超过预定义阈值时,渲染所述虚拟手使得所述虚拟手的姿势与预定义手姿势一致,并且其中当所述相似性程度未超过所述预定义阈值时,渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化。
通过结合附图以示例方式示出本公开原理进行的以下详细描述,本公开的其他方面和优点将变得显而易见。
附图说明
通过参考结合附图进行的以下描述,可以更好地理解本公开,在附图中:
图1示出了根据本公开的实施方案的用于经由头戴式显示器(HMD)与虚拟环境交互的系统。
图2A、图2B、图2C和图2D示出了根据本公开的实施方案的用于与虚拟空间交互的控制器装置104。
图3A和图3B示出了根据本公开的实施方案的控制器装置,所述控制器装置被配置为使得每个手指的两个接近传感器用于检测用户的食指、中指、无名指和小指的屈曲/伸展。
图4A示出了根据本公开的实施方案的呈结合多个屈曲传感器的手套界面对象的形状因子的控制器装置。
图4B示出了根据本公开的实施方案的在其上限定屈曲传感器的手套界面对象的侧视图。
图4C示出了根据本公开的实施方案的手套界面对象,所述手套界面对象具有位于手套界面对象的关节区域处的多个屈曲传感器。
图5A和图5B示出了根据本公开的实施方案的控制器装置的仰视图和俯视图。
图5C示出了根据本公开的实施方案的控制器装置的示例。
图6A、图6B和图6C示出了根据本公开的实施方案的用户通过检测用户的手的姿势的控制器的操作与虚拟空间进行交互以及基于这种操作的虚拟手的视图。
图7A、图7B和图7C示出了根据本公开的实施方案的用户通过检测用户的手的姿势的控制器的操作与虚拟空间进行交互以及基于这种操作的虚拟手的视图。
图8示出了根据本公开的实施方案的各种可能手姿势。
图9A和图9B示出了根据本公开的实施方案的用户在通过HMD观看的虚拟空间中进行交互。
图10A、图10B、图10C和图10D示出了根据本公开的实施方案的虚拟空间中的角色。
图11A、图11B、图11C、图11D和图11E示出了根据本公开的实施方案的图形,所述图形示出了用户的手的不同手指随时间变化的伸展量。
图12是示出根据本公开的实施方案的用户的手姿势与目标手姿势随时间变化的相似性的图形。
图13A-1和图13A-2示出了根据本公开的实施方案的头戴式显示器(HMD)。
图13B示出了根据一个实施方案的HMD用户与客户端系统对接的一个示例,并且客户端系统向被称为第二屏幕的第二屏幕显示器提供内容。
图14概念性地示出了根据本公开的实施方案的HMD与正在执行的视频游戏相结合的功能。
图15示出了根据本公开的实施方案的头戴式显示器的部件。
图16是根据本公开的各种实施方案的游戏系统1600的框图。
具体实施方式
本公开的以下实施方案提供了与基于检测到的手输入渲染虚拟手姿势有关的装置、方法和系统。然而,对于所属领域的技术人员将显而易见的是,可以在没有当前描述的一些或全部具体细节的情况下实践本公开。在其他情况下,没有详细描述公知的过程操作以免不必要地使本公开模糊不清。
如本文中所使用的,手(无论是虚拟手还是用户的实际真实手)的“姿势”的术语是指手本身的配置,所述配置独立于手在空间(虚拟或真实空间)中的整体位置(例如,空间坐标位置)或整体定向(例如,滚转、俯仰或横摆的量)。手被定义为包括手掌和手指,所述手指包括拇指、食指、中指、无名指和小指/小拇指(也可以分别编号为一号至五号手指)。手的姿势由手指的姿态定义(给定手指的姿态也独立于手指在空间中的整体位置或整体定向)。手指的姿态可以通过屈曲、伸展、外展、内收和/或回旋的量来定义。
通过示例而非限制的方式,拳头是一种手姿势,其中手指通常表现出高度的屈曲和内收。应明白,拳头的手姿势是由手指的姿态定义的,并且此外独立于手整体在空间环境中的位置和定向。
广义地说,本公开的各实施方案提供了系统和方法,当来自用户的实际手的输入达到与目标输入集合的一致性阈值水平时,可以借助该等系统和方法渲染虚拟手以具有某一种预定义的虚拟手姿势,所述虚拟手的移动经由来自用户的实际手的输入来控制。例如,用户可以操作控制器装置(例如,手持控制器、手套界面装置等),所述控制器装置包括检测用户的手的手指的姿态的传感器。从此类传感器感测到的输入值指示用户的手的手指的姿态。
然而,控制器装置的感测能力可能在其检测用户的手指的姿态的能力方面受到限制。例如,传感器可以仅检测手指的特定种类的移动,诸如屈曲或伸展,并且可能仅在不能捕获用户的手指的这种动作的全部范围的有限范围内检测此类移动。此外,控制器装置本身的形状因子以及传感器在控制器装置上的定位实际上可能限制了可以操纵用户的手同时通过控制器装置提供可检测输入的方式。例如,传感器可以被特别地定位使得用户需要将他们的手指放置在某些位置以便传感器检测到移动。
考虑到控制器装置的这些固有局限性,显而易见的是,潜在的手姿势范围可能容易超出控制器装置的功能,即使是高度专用于检测手部移动的控制器装置也是如此。此外,即使控制器装置能够检测用户的手的期望手姿势,当用户佩戴HMD时,他们也无法看见自己的手,因此对于给定的上下文可能无法在虚拟环境中产生期望手姿势。在虚拟现实中提供高质量用户体验的重要部分是渲染与用户的实际手相对应的虚拟手,使得用户感觉好像渲染的虚拟手是他们自己的双手一样。这部分地通过允许虚拟手的虚拟手指对由用户的实际双手的移动产生的输入做出响应来实现。然而,在这样做时,如上所述,用户可能无法形成某些期望手姿势(并且由于控制器硬件局限性,甚至不能形成并且同时还能够准确地检测到某些期望手姿势)。
因此,根据本公开的实施方案,本公开的方法和系统提供了基于指示用户的手姿势的感测输入以及基于其他上下文因素(诸如环境上下文、要执行的特定任务、用户的手的位置和定向及其变化(移动)等)来渲染预定义虚拟手姿势。广义地说,当接收到的输入近似表示目标输入集合或以其他方式指示用户想要形成给定的预定义手姿势时,渲染预定义虚拟手姿势,而当输入未近似表示目标输入集合或未以其他方式指示用户想要形成给定的预定义手姿势时,通过输入动态地控制虚拟手指使得输入的变化作为虚拟手指的姿态的变化而实时渲染。
在各种实施方案中,方法、系统、图像捕获对象、传感器和相关联的界面对象(例如,手套、控制器、外围装置等)被配置为处理被配置为基本实时地渲染在显示器屏幕上的数据。广义地说,参考作为头戴式显示器(HMD)的显示器来描述实施方案。然而,在其他实施方案中,显示器可以是第二屏幕、便携式装置的显示器、计算机显示器、显示面板、一个或多个远程连接用户(例如,他们正在观看内容或在共享交互体验)的显示器。
图1示出了根据本公开的实施方案的用于经由头戴式显示器(HMD)与虚拟环境交互的系统。HMD也可以被称为虚拟现实(VR)头戴式耳机。如本文中所使用的,术语“虚拟现实”(VR)通常是指用户与虚拟空间/环境的交互,所述交互涉及通过HMD(或VR头戴式耳机)以对HMD的移动(由用户控制)做出实时响应的方式观看虚拟空间以向用户提供在虚拟空间中的感觉。例如,用户在面向给定方向时可以看到虚拟空间的三维(3D)视图,而当用户转向一侧并由此同样地转动HMD时,在HMD上渲染在虚拟空间中的这一侧的视图。在所示实施方案中,用户100被示为佩戴头戴式显示器(HMD)102。HMD 102以类似于眼镜、护目镜或头盔的方式佩戴,并且被配置为向用户100显示视频游戏或其他内容。HMD 102由于其紧邻用户的眼睛提供显示机制而向用户提供了非常身临其境的体验。因此,HMD 102可以向用户的每只眼睛提供占据用户的大部分或者甚至整个视野的显示区域,并且还可以提供具有三维深度和视角的观看。
在所示实施方案中,HMD 102无线地连接到计算机106。在其他实施方案中,HMD102通过有线连接而连接到计算机106。计算机106可以是所属领域已知的任何通用或专用计算机,包括但不限于游戏机、个人计算机、笔记本电脑、平板计算机、移动装置、蜂窝电话、平板电脑、瘦客户端、机顶盒、流媒体装置等。在一些实施方案中,计算机106可以被配置为执行视频游戏并从视频游戏输出视频和音频以供HMD 102渲染。在一些实施方案中,计算机106被配置为执行提供可以通过HMD观看的虚拟空间/环境的任何其他类型的交互式应用程序。收发器110被配置为(通过有线连接或无线连接)将视频游戏中的视频和音频传输到HMD102以在其上进行渲染。收发器110包括用于向HMD 102传输数据的传输器以及用于接收由HMD 102传输的数据的接收器。
在一些实施方案中,HMD 102还可以通过替代机制或信道(诸如经由网络112,HMD102和计算机106两者都连接到网络112)与计算机进行通信。
用户100可以操作界面对象104以提供用于视频游戏的输入。另外,相机108可以被配置为捕获用户100所处的交互式环境的图像。可以分析这些捕获的图像以确定用户100、HMD 102和界面对象104的位置和移动。在各种实施方案中,界面对象104包括可以被跟踪的灯和/或惯性传感器,以使得能够确定界面对象的位置和定向以及跟踪移动。
在一些实施方案中,提供了磁源116,所述磁源发出磁场以使得能够对HMD 102和界面对象104进行磁跟踪。HMD 102和界面对象104中的磁传感器可以被配置为检测磁场(例如,强度、定向),并且该信息可以用于确定和跟踪HMD 102和界面对象104的位置和/或定向。
在一些实施方案中,相对于HMD 102跟踪界面对象104。例如,HMD 102可以包括面向外部的相机,所述面向外部的相机捕获包括界面对象104的图像。可以分析捕获的图像以确定界面对象104相对于HMD 102的位置/定向,并使用HMD的已知位置/定向来确定界面对象104在本地环境中的位置/定向。
用户与在HMD 102中显示的虚拟现实场景进行交互的方式可以变化,并且除界面对象104之外还可以使用其他界面装置。例如,可以使用各种单手以及双手控制器。在一些实施方案中,可以通过跟踪控制器中所包括的灯或跟踪与控制器相关联的形状、传感器和惯性数据来跟踪控制器本身。使用这些各种类型的控制器或者甚至仅仅使用由一个或多个相机做出和捕获的手势,可以与在HMD 102上呈现的虚拟现实环境对接、控制它、操纵它、与它交互并参与它。
另外,HMD 102可以包括可以被跟踪以确定HMD 102的位置和定向的一个或多个灯。相机108可以包括一个或多个传声器以从交互式环境捕获声音。可以处理由传声器阵列捕获的声音以识别声源的位置。来自识别的位置的声音可以被选择性地利用或处理,以排除并非来自识别的位置的其他声音。此外,相机108可以被定义为包括多个图像捕获装置(例如,立体相机对)、IR相机、深度相机及其组合。
在一些实施方案中,计算机106在通过网络112与云游戏提供商114的通信中用作瘦客户端。在这样的实施方案中,一般而言,云游戏提供商114维护并执行用户102正在玩的视频游戏。计算机106将来自HMD 102、界面对象104和相机108的输入传输到云游戏提供商,所述云游戏提供商处理这些输入以影响正在执行的视频游戏的游戏状态。来自正在执行的视频游戏的输出(诸如视频数据、音频数据和触觉反馈数据)被传输到计算机106。计算机106可以在传输之前进一步处理数据,或者可以将数据直接传输到相关装置。例如,视频和音频流被提供给HMD 102,而触觉/振动反馈命令被提供给界面对象104。
在一些实施方案中,HMD 102、界面对象104和相机108本身可以是连接到网络112以例如与云游戏提供商114通信的联网装置。在一些实施方案中,计算机106可以是本地网络装置,诸如路由器,所述本地网络装置不以其他方式执行视频游戏处理,但是有助于网络流量的通过。HMD 102、界面对象104和相机108与网络的连接可以是有线的或无线的。
另外,尽管可以参考头戴式显示器来描述本公开中的实施方案,但是应明白,在其他实施方案中,可以替换为非头戴式显示器,包括但不限于便携式装置屏幕(例如,平板电脑、智能电话、笔记本电脑等)或可以被配置为根据本实施方案渲染视频和/或提供交互式场景或虚拟环境的显示的任何其他类型的显示器。
图2A、图2B、图2C和图2D示出了根据本公开的实施方案的用于与虚拟空间交互的控制器装置104。广义地说,控制器装置104被配置为手持式的和/或固定到用户的手200。在一些实施方案中,提供了用于将控制器装置104固定到用户的手200的条带(或带或其他附接机构)(未示出)。在一些实施方案中,这样的条带被配置为缠绕在用户的手200的手掌部分上,由此将控制器装置104固定在用户的手掌上。在一些实施方案中,这样的手掌条带被配置为在使用时基本环绕用户的手掌,其中条带的一部分/长度被固定/安装到控制器装置104的侧面,由此将控制器装置固定到用户的手。在一些实施方案中,条带机构包括锁定机构,所述锁定机构使得条带能够在将控制器固定在用户的手掌上的锁定配置与松开条带和/或使条带的一部分远离控制器主体移动的释放配置之间切换。因此,锁定机构可以使控制器装置牢固地贴合在用户的手上,或者部分地从用户的手上释放。
在一些实施方案中,控制器装置104包括腕带250以将控制器装置104固定到用户的手腕。
控制器装置104被配置为在设置有控制器装置104的本地环境的三维真实空间中是可跟踪的。为此,控制器装置104可以包括各种动作/定向/惯性传感器中的任一者,通过示例而非限制的方式包括一个或多个加速度计、磁力计和陀螺仪。此外,控制器装置104可以包括一个或多个磁传感器214,所述磁传感器被配置为检测由磁源216发出的磁场的强度和/或定向。在一些实施方案中,磁源216以外围装置的形状因子设置,所述外围装置可以连接到计算装置106和/或由计算装置控制。在一些实施方案中,磁源216可以设置在现有的外围装置(诸如图像捕获装置108)中。在一些实施方案中,磁源216可以设置在计算装置106中。来自动作/方向/惯性传感器和磁传感器的数据或信息可以被处理以确定和跟踪控制器装置104的位置和定向。这样的数据处理可以由控制器装置104和/或计算装置106执行。
在所示实施方案中,控制器装置104包括主壳体212,所述主壳体被配置为由用户的手200保持或握持。控制器装置104还包括拇指垫218,所述拇指垫被定位在当用户的手200的拇指202保持控制器装置104时将自然地落下的位置。在一些实施方案中,拇指垫是能够提供基于触摸的输入的触敏表面或触摸板。在一些实施方案中,拇指垫是有助于方向输入的方向垫。在一些实施方案中,类似于按钮,拇指垫是可点击的或能够被压下。
拇指垫218还包括接近传感器234,所述接近传感器被配置为检测拇指202与拇指垫218的接近度。在这样做时,接近传感器234可以指示用户的拇指202的屈曲或伸展的量。
触发器220被配置为由用户的手200的食指204操作,而当操作控制器装置104时触发器222被配置为由用户的手200的中指204操作。触发器220和222还分别包括接近传感器236和238(在图2B中示出),所述接近传感器被配置为分别检测用户的食指204和中指206与触发器220和222的接近度。因此,接近传感器236和238分别指示食指和中指的屈曲或伸展量。即,当用户的食指204的屈曲增大(伸展减小)时,其与接近传感器236的接近度增大;而当用户的食指204的屈曲减小(伸展增大)时,其与接近传感器236的接近度减小。类似地,当用户的中指206的屈曲增大(伸展减小)时,其与接近传感器238的接近度增大;而当用户的中指206的屈曲减小(伸展增大)时,其与接近传感器238的接近度减小。
另外,控制器装置104包括接近传感器240和242(在图2C中示出),所述接近传感器位于沿着壳体212的下部的位置处以便分别检测用户的无名指208和小指210的接近度。因此,接近传感器240和242分别指示无名指和小指的屈曲或伸展量。即,当用户的无名指208的屈曲增大(伸展减小)时,其与接近传感器240的接近度增大;而当用户的无名指208的屈曲减小(伸展增大)时,其与接近传感器240的接近度减小。类似地,当用户的小指210的屈曲增大(伸展减小)时,其与接近传感器242的接近度增大;而当用户的小指210的屈曲减小(伸展增大)时,其与接近传感器242的接近度减小。
控制器装置104还包括带224,所述带具有接近传感器226、228、230和232。这些接近传感器通过带224的结构定位成当这些手指伸展时分别靠近食指、中指、无名指和小指的指尖。换句话说,当用户的食指204的伸展增大(屈曲减小)时,其与接近传感器226的接近度增大;而当用户的食指204的伸展减小(屈曲增大)时,其与接近传感器226的接近度减小。当用户的中指206的伸展增大(屈曲减小)时,其与接近传感器228的接近度增大;而当用户的中指206的伸展减小(屈曲增大)时,其与接近传感器228的接近度减小。当用户的无名指208的伸展增大(屈曲减小)时,其与接近传感器230的接近度增大;而当用户的无名指208的伸展减小(屈曲增大)时,其与接近传感器230的接近度减小。当用户的小指210的伸展增大(屈曲减小)时,其与接近传感器232的接近度增大;而当用户的小指210的伸展减小(屈曲增大)时,其与接近传感器232的接近度减小。
鉴于前述内容并且参考图3A和图3B,控制器装置104被配置为使得每个手指的两个接近传感器用于检测用户的食指、中指、无名指和小指的屈曲/伸展。因此,每个手指具有对应的接近传感器对,其中传感器基本上沿着针对被分配了传感器的给定手指的屈曲/伸展平面对准,但是在手指的动作范围的相对端。例如,被配置为检测用户的食指204的传感器226和236基本上沿着用户的食指204的屈曲/伸展平面对准。此外,传感器226被定位成在食指204伸展时靠近食指的远端(或可能接触所述远端),而传感器236被定位成在食指204伸展时靠近食指的近端。应明白,用于其他手指的传感器对的类似布置和定位也是适用的。
因此,在一些实施方案中,基于传感器相对于用户的手指在伸展时的远端和近端的相应定位,传感器226、228、230和232被视为远端传感器,而传感器236、238、240和242被视为近端传感器。给定手指的这对近端和远端传感器一起用于确定给定手指的姿态。应明白,给定手指的远端传感器和近端传感器的接近感测范围可以彼此重叠。因此,在一些实施方案中,当手指的姿态从最大屈曲姿态变为最大伸展姿态时(例如,由控制器装置104的结构/形式所允许的那样),手指可能最初只能被近端传感器检测到(因为手指不在远端传感器的检测范围内),然后当手指进入远端传感器的检测范围同时仍然在近端传感器的检测范围内时,手指能被近端传感器和远端传感器两者检测到,并且最后当手指离开近端传感器的检测范围时,手指只能被远端传感器检测到。
图3B示出了根据本公开的实施方案的具有四个按钮/触发器的控制器装置104。控制器装置104类似于上述实施方案,但是还包括触发器/按钮300和302,所述触发器/按钮被配置为分别被用户的无名指和小指压下。在所示实施方案中,接近传感器240和242分别包括在触发器/按钮300和302中。触发器/按钮220、222、300和302中的每一者可以被配置为提供触觉反馈,诸如力反馈、振动反馈等。此外,在一些实施方案中,控制器装置104的主体212可以被配置为提供振动反馈。
尽管未具体示出,但是在一些实施方案中,控制器装置104可以包括一个或多个灯或被照亮对象,所述灯或被照亮对象可以在本地环境的捕获图像中被识别并被跟踪以实现对控制器装置104的位置和定向的跟踪。通过示例而非限制的方式,一个或多个灯可以沿着带224和/或沿着控制器装置104的壳体212定位。
图4A示出了根据本公开的实施方案的呈结合多个屈曲传感器的手套界面对象400的形状因子的控制器装置104。图4A另外示意性地示出了根据本公开的实施方案的屈曲传感器的电路。如所示,手套界面对象400包括屈曲传感器,所述屈曲传感器沿着手套界面对象400的每个手指的顶表面限定。例如,食指402包括从食指402的基部(食指的指关节所存在的位置)延伸到食指402的尖端的屈曲传感器404。在所示实施方案中,屈曲传感器沿着手套界面对象的每个手指的顶表面定位,所述顶表面与用户的手指的顶侧(即,用户的手的背面(与用户的手的手掌侧相对))相关。然而,应明白,在其他实施方案中,屈曲传感器可以位于手套界面对象的手指部分周围的其他位置,诸如沿着手指的侧面或沿着手指的底部(即,面向手指的侧面的手掌)的位置。
每个屈曲传感器被配置为检测用户的手的一部分(诸如用户的手指)的屈曲。在一些实施方案中,屈曲传感器被定义为包括屈曲敏感电阻器,所述屈曲敏感电阻器的电阻基于电阻器的屈曲量而变化。屈曲传感器的示例在所属领域中是已知的,并且包括由SpectraSymbol等制造和/或出售的屈曲传感器。在一些实施方案中,随着屈曲敏感电阻器的屈曲增大,电阻器的电阻增大。继续参考图4A,每个屈曲传感器连接到单个模拟输入(A0至A5),从而产生总共五个模拟输入。应明白,能够检测和/或量化屈曲的任何类型的屈曲传感器可以用于检测手套界面对象的屈曲的目的。
图4B示出了根据本公开的实施方案的在其上限定屈曲传感器的手套界面对象的侧视图。在所示实施方案中,手套界面对象400的食指402具有沿着食指402的侧面限定的屈曲传感器410。沿着手套界面对象的手指的侧面定位屈曲传感器可能是有利的,因为沿着给定的手指的侧面的距离变化不会像手指屈曲时手指顶部或底部的距离那样大。一般而言,随着手指屈曲(即,握紧),沿着手指的顶表面的长度增大,而沿着手指的底表面的长度减小。因此,当屈曲传感器沿着手指的顶表面定位时,如果它们基本上是非弹性的,则屈曲传感器可能倾向于在手指上向后拉以抵抗手指的屈曲。
图4B另外示出了沿着手套界面对象400的拇指部分定位的屈曲传感器416。而且,屈曲传感器412沿着手套界面对象的在食指与拇指之间的部分定位,以便检测食指与拇指之间的外展/内收。
图4C示出了根据本公开的实施方案的手套界面对象,所述手套界面对象具有位于手套界面对象的关节区域处的多个屈曲传感器。在所示实施方案中,例如,手套界面对象的食指部分402包括:屈曲传感器420,其被定位成检测用户的食指的远端指间关节的屈曲;屈曲传感器422,其被定位成检测用户的食指的近端指间关节的屈曲;以及屈曲传感器424,其被定位成检测用户的食指的指关节(掌指关节)的屈曲。手套界面对象400的其他手指部分包括类似定位的屈曲传感器以检测用户的手的手指的各个关节的屈曲。
另外,屈曲传感器位于手套界面对象400的手指部分之间,诸如屈曲传感器426,其被定位成检测食指与中指之间的屈曲或伸展。在所示实施方案中,其他屈曲传感器类似地定位在相邻手指之间以检测相邻手指之间的伸展。
此外,屈曲传感器428沿着手套界面对象400的顶部腕部定位以便检测用户的手腕的屈曲。在一些实施方案中,屈曲传感器沿着手套界面对象的底部腕部定位。在一些实施方案中,附加的屈曲传感器可以沿着手腕的侧面定位以检测手腕的侧向屈曲。
在一些实施方案中,提供了用于校准手套界面对象的屈曲传感器的校准程序。例如,校准过程可能需要让用户操作手套界面对象,使得屈曲传感器定位在它们的最小屈曲位置和/或它们的最大屈曲位置。可以在这些位置处读取屈曲传感器数据以定义每个屈曲传感器的屈曲传感器数据的上限/下限和/或范围。
图5A示出了根据本公开的实施方案的控制器装置的仰视图。在所示实施方案中,控制器装置104为手持动作控制器的形式。如所示,控制器装置104包括壳体500,所述壳体被配置为被用户的手握持/保持。控制器装置104还包括被照亮对象502,所述被照亮对象在使用期间被照亮以有助于对控制器装置104的基于图像的跟踪。即,分析例如由相机108捕获的本地交互式环境的捕获图像,以确定并跟踪被照亮对象的位置,由此有助于跟踪控制器装置104。
为了将控制器装置104固定到用户的手上并防止控制器装置104意外掉落,控制器装置104还包括被配置为缠绕在用户的手掌上的手带504,由此即使用户的手完全张开(手指伸展),控制器装置104也能与用户的手掌维持接触。控制器装置104还包括腕带506,所述腕带被配置为将控制器装置104固定到用户的手腕。控制器装置104还包括触发器508,所述触发器被配置为在用户的手的食指保持控制器装置104时由食指进行操作。
为了检测用户的手的手指的姿态,控制器装置104包括多个接近传感器,所述多个接近传感器被配置为当用户正保持/操作/使用控制器装置104时检测与接近传感器接近的用户的手指的部分的存在与否和/或距用户的手指的所述部分的距离。这些接近传感器包括接近传感器510a、510b、512、514a至514c、516a至516c和518a至518c。
各种接近传感器可以根据哪只手正保持控制器装置104和用户的手的大小来检测用户的手指的不同部分的存在/不存在/距离。广义地说,对于平均大小的手,当控制器装置104如所示的那样被用户的右手保持时,接近传感器510a被配置为检测右拇指的接近度,而接近传感器510b和512被配置为检测右食指的部分的接近度。应明白,接近传感器512与触发器508集成在一起,由此同时提供触发器功能性和接近度感测两者。继续参考被用户的右手保持的控制器装置104,然后接近传感器514a、514b和514c被配置为检测用户的右中指的各个部分的接近度;接近传感器516a、516b和516c被配置为检测用户的右无名指的各个部分的接近度;而接近传感器518a、518b和518c被配置为检测用户的右小指的各个部分的接近度。
应明白,可以基于从接近传感器感测到的输入来确定或推断用户的手的手指的姿态。例如,可以处理从接近传感器感测到的输入以确定用户的手的各个手指的屈曲或伸展的量。
此外,应明白,尽管已经参考被用户的右手保持的控制器装置104进行了前述描述,但是控制器装置104也可以由用户的左手操作,在这种情况下,从各种接近传感器感测到的输入将会指示用户的左手的手指的姿态。例如,在所示实施方案中,接近传感器510b将感测用户的左手的拇指的姿态,而接近传感器510a和512将感测用户的左食指的姿态。接近传感器514a、514b和514c将感测用户的左中指的姿态;接近传感器516a、516b和516c将感测用户的左无名指的姿态;而接近传感器518a、518b和518c将感测用户的左小指的姿态。
图5B示出了根据本公开的实施方案的控制器装置104的俯视图。如所示,控制器装置104包括各种按钮520a、520b、520c、520d、522和524。应明白,在其他实施方案中,控制器装置104可以包括各种其他类型的输入装置中的任一者,诸如操纵杆、触摸板、方向盘等。
如所示实施方案中所示,存在附加的接近传感器510c和510d。当用户正用他们的右手保持/操作控制器装置104时,接近传感器510c可以检测到用户的右拇指的存在,因此可以指示用户的右拇指的屈曲或伸展。类似地,接近传感器510d可以指示用户的右食指的存在。当控制器装置104由用户的左手操作时,将适用相反的情况。
图5C示出了根据本公开的实施方案的控制器装置104的示例。在所示实施方案中,控制器装置104包括由用户的手保持的主体530以及包括各种发射器(诸如发射器534a、534b和534c)的带532。在一些实施方案中,发射器可以是发出可见光的灯,而在其他实施方案中,发射器可以发出不可见波长,诸如红外辐射。发射器被配置为在包括控制器装置104的本地环境的捕获图像中被识别。此外,可以处理捕获图像中的发射器的配置(包括它们的位置和定向)以确定并跟踪控制器装置104在本地交互式环境中的位置和/或定向。
尽管未具体示出,但是控制器装置104还可以包括用于将控制器装置104固定到用户的手和/或手腕上的一个或多个条带或其他机构。
在所示实施方案中,控制器装置104包括被配置为检测用户的手的姿势的多个触发器。触发器包括用于检测用户的拇指的姿态的触发器536、用于检测用户的食指的姿态的触发器538、用于检测用户的中指的姿态的触发器540、用于检测用户的无名指的姿态的触发器542和用于检测用户的小指/小拇指的姿态的触发器544。
广义地说,压下给定的触发器指示对应手指屈曲,而释放给定的触发器指示对应手指伸展。例如,压下触发器536指示拇指屈曲,而释放触发器536指示拇指伸展。压下触发器538指示用户的食指屈曲,而释放触发器538指示用户的食指伸展。对于中指、无名指和小指,类似的操作分别适用于触发器540、542和544。
应明白,触发器被配置为感测触发器被压下或释放的量的范围。即,触发器不仅能够检测被压下或释放的二进制状态,而且还能够检测到它们被压下或释放的量。从给定的触发器感测到的输入可以指示触发器在其潜在行进范围内的位置,由此指示给定的触发器被压下的量或给定的触发器被释放的量。因此,感测到的输入可以指示由给定的触发器感测到的手指的屈曲或伸展量。
另外,在一些实施方案中,触发器可以被配置为向用户提供触觉反馈。例如,触发器可以被配置为响应于虚拟空间中的交互(诸如由控制器装置104控制的虚拟手触摸虚拟对象)而提供阻力、振动或其他触觉。
控制器装置104可以包括各种动作传感器和/或惯性传感器中的任一者,诸如一个或多个加速度计、磁力计或陀螺仪。
此外,控制器装置104可以包括一个或多个磁传感器,所述磁传感器被配置为检测由位于设置有控制器装置104的本地环境中的磁发射器发出的磁场。例如,磁发射器可以被包括在外围装置(诸如图像捕获装置108)、计算装置(诸如计算装置106)或本地环境中的其他装置中。磁传感器可以感测磁场,并输出指示由磁传感器感测的磁场强度(指示距磁发射器的距离)以及磁传感器相对于磁场的定向的数据。该数据可以用于确定控制器装置104在本地环境中的位置和定向。
图6A示出了根据本公开的实施方案的用户通过检测用户的手的姿势的控制器的操作与虚拟空间进行交互。如所示,用户100通过HMD 102观看虚拟空间,并且分别通过用户的左手和右手来操作控制器装置104a和104b。控制器装置104a和104b能够至少部分地检测用户的手的手指的姿态。控制器装置104a和104b可以采用接近传感器、触发器、屈曲传感器或其他机构以使得能够检测用户的手的手指的姿态。
在所示实施方案中,放大图600示出了用户的左手602保持控制器装置104a。如所示,用户的左手602围绕控制器装置104a握紧,手指在控制器装置104a的相应位置(诸如触发器或接近传感器所处的位置)中表现出屈曲并接触控制器装置104a,所述相应位置被配置为检测手指的各个姿态。在一些实施方案中,控制器装置104a提供传感器输入,所述传感器输入指示用户的左手手指的屈曲或伸展的量。
为了向用户100提供逼真的体验,可以在虚拟中以动态地响应于从控制器装置104感测到的输入的变化的方式实时地渲染与用户的手相对应的虚拟手(例如,在虚拟空间中与用户100相对应的角色的手)的手指。即,通过示例而非限制的方式,通过从控制器装置104a感测到的输入(由用户的左手指的屈曲/伸展导致的)检测到的屈曲/伸展的量可以控制对应的虚拟左手在虚拟空间中的屈曲/伸展的量。提供对虚拟手的这种响应性动态控制会给用户100施加真实感,使得用户感觉好像虚拟手是他们自己的手一样,其中用户的实际手的手指的移动被立即实时映射到并渲染为对应的虚拟手的移动。在一些实施方案中,这定义了系统的第一操作模式。
提供虚拟手的上述实时响应渲染提供了逼真的虚拟现实体验。然而,由于控制器装置104a的配置,用户100可能无法形成某些期望手姿势,诸如握紧拳头。由于用户的左手602中存在控制器装置104a,因此这样的手姿势可能是不可能的。因此,在如上所述用控制器装置104a以逼真的方式提供虚拟手的动态响应渲染时,这也可能意味着某些手姿势可能由于控制器装置104a的硬件配置的局限性而无法通过其渲染结构而实现。
因此,在一些实施方案中,提供第二操作模式,其中当根据从控制器装置104a感测到的输入确定用户的手姿势被确定为充分近似表示拳头的期望手姿势时,对应的虚拟手的姿势被配置为形成拳头的期望手姿势作为预定义手姿势。通过这种方式,当用户的手姿势在预定义程度上近似表示预定义手姿势时,虚拟手的渲染姿势“贴合”到预定义手姿势(在这种情况下为拳头)。在一些方案中,这是基于用户的手姿势达到与预定义手姿势的相似性阈值水平来定义的。在一些实施方案中,这是通过感测到的输入集合实现与目标输入集合的一致性或达到与目标输入集合的相似性阈值水平(例如,感测到的输入集合落入目标输入集合的指定范围内)而定义的。
注意,即使将特定的感测输入集合映射到握紧拳头的渲染,用户100仍可能不会以必要方式使他们的手围绕控制器104a,以便在所有期望情况中产生特定的感测输入集合,这可能部分是由于佩戴HMD102的用户100无法看到自己的双手。因此,在一些实施方案中,期望使得一系列可能姿势或输入能够与期望手姿势或目标输入集合充分相似,使得不需要用户使他们的手形成非常特定的姿势以便实现以期望手姿势渲染虚拟手。
继续参考所示实施方案,图6B示出了根据本公开的实施方案的与用户的左手602相对应的虚拟手604的视图。如所示,根据上述第一操作模式来渲染虚拟手604,其中用户的左手602的手指的移动被实时渲染为虚拟手604的手指的移动。根据一些实施方案,所示虚拟手604被示为处于如下配置:由从控制器装置104a感测到的输入定义并且被配置为基于感测到的输入来准确地模仿用户的左手602的实际姿势,包括基于感测到的输入来渲染用户的左手602的各个手指的姿态。例如,感测到的输入可以指示用户的左手602的手指的屈曲/伸展的量,并且这可以被准确地关联到并被渲染为虚拟手604的手指的屈曲/伸展的量。因此,根据感测到的输入确定的用户的左手602的手指的屈曲/伸展的变化被反映为虚拟手604的对应手指的屈曲/伸展的变化。
然而,如上所述,由于控制器装置104a的存在(和/或用户自己正使用的手部操纵),用户可能无法形成紧握拳头手姿势,或者实际上不能这样做。因此,在一些实施方案中,当从控制器装置104a感测到的输入指示用户的手姿势充分类似于握紧拳头时,将虚拟手604渲染为具有握紧拳头手姿势,如参考图6C所示。即,当确定从控制器装置104a感测到的输入超过与目标输入的相似性程度阈值时,将虚拟手604在虚拟空间渲染为具有紧握拳头手姿势。通过这种方式,只要感测到的输入与目标输入的相似性程度不超过阈值水平,虚拟手604就可以响应于控制器装置104a感测到的用户的手指的移动而表现出手指的移动自由度。而只要感测到的输入超过与目标输入的相似性程度阈值,不管感测到的输入的变化如何,虚拟手604都将被渲染为握紧拳头。即,只要感测到的输入继续超过与目标输入的相似性程度阈值,感测到的输入的变化(例如,由于用户的手指的姿态的变化导致的)就将不会改变虚拟手604的姿势,因为它继续以紧握拳头手姿势进行渲染。
尽管在本实施方案中,当感测到的输入超过与目标输入的相似性程度阈值时,虚拟手604被描述为“贴合”到握紧拳头的预定义手姿势,但是应明白,虚拟手604到握紧拳头手姿势的过渡可以被动画化为平滑过渡。这可以包括使虚拟手604的各个手指从其当前姿态(例如,如图6B中所示的姿态)过渡到其由预定义握紧拳头手姿势(例如,图6C中所示的手姿势)所定义的姿态进行动画化。实际上,将对虚拟手604进行渲染以便表现出动画过渡,所述动画过渡逐渐将虚拟手604握紧为拳头。这可以提供到拳头手姿势的更自然过渡。实际上,过渡动画需要通过基于每个手指的传感器值在当前手姿势与目标预定义拳头手姿势之间进行混合来产生过渡姿势。在一些实施方案中,可以将混合量概念化为所使用的预定义手姿势的标准化分数的余数。例如,过渡动画等于1.0减去预定义姿势总分数。
应明白,可以在相反情况下提供动画过渡,其中感测到的输入与目标输入的相似性程度从超过阈值变为未超过阈值。例如,继续参考当前描述的实施方案,可以对虚拟手604进行动画化以使其从图6C中所示的握紧拳头手姿势平稳过渡到图6B中所示的手姿势(由从控制器装置104a感测到的输入来定义并响应于所述输入而改变的手姿势)。效果是虚拟手604逐渐张开,然后虚拟手604的手指基于用户输入进行响应性关节连接。
尽管已经具体地参考拳头手姿势描述了前述实施方案,但是应明白,所描述的概念可以应用于任何手姿势,以及感测用户的手姿势(包括感测用户的手指的姿态)的任何类型的控制器装置。
图7A示出了根据本公开的实施方案的用户与通过HMD观看的虚拟空间进行交互。用户100被示为分别用其左手和右手操作控制器装置104a和104b。控制器装置被配置为检测用户的手的姿势,并且可以基于用户的手的姿势来渲染虚拟空间中的对应虚拟手(例如,以模仿用户的手的姿势的方式)。如上所述,控制器装置104a/b可以检测用户100的手的各个手指的姿态,并且可以通过相似或相同的方式来渲染对应虚拟手的对应手指的姿态。这部分地由于对虚拟手的手指的姿态的实时控制而向虚拟现实体验施加真实感。
在示出用户的右手702操作控制器装置104b的放大图700中,可以看到用户的右手702的拇指和食指围绕控制器装置104b屈曲/卷曲,而中指、无名指和小指伸展。可以如图7B中所示渲染该手姿势,使得对应的角色虚拟手姿势704准确地模仿用户的右手702的姿势。
然而,在一些实施方案中,期望以不同方式渲染虚拟手704的姿势。例如,如图7A中所示的用户的手姿势可以指示用户意图捏合虚拟空间中的虚拟对象。因此,虚拟手704反而可以根据如图7C中所示的预定义手姿势以渲染美学上令人愉悦的捏合手姿势的方式来渲染。应明白,尽管用户的右手702的实际拇指和食指没有在指尖处触摸,但是在图7C中所示的渲染的捏合手姿势中,虚拟手704的拇指和食指的指尖正触摸或非常接近触摸。此外,尽管用户的右手702的实际中指、无名指和小指笔直伸展,但是在图7C中所示的渲染的捏合手姿势中,这些手指以在美学上令人愉悦的渐进方式如所示略微卷曲和展开/呈扇形。
在一些实施方案中,虚拟手704的渲染可以被配置为使得当确定从控制器装置104b感测到的输入与目标输入充分相似时(例如,当感测到的输入与目标输入之间的相似性程度超过预定义阈值时)形成如图7C中所示的预定义捏合手姿势。通过示例而非限制的方式,感测到的输入可以由从控制器装置104b的传感器感测到的数据值来定义,所述传感器诸如接近传感器、触发器、屈曲传感器等,或者可以感测和量化用户的右手702的手指的姿态的一方面的任何其他传感器。在一些实施方案中,传感器检测用户的右手702的手指的屈曲/伸展。在一些实施方案中,感测到的输入包括从传感器感测到的数据值集合,所述数据值对应于用户的右手702的每个手指。目标输入由每个感测到的数据值的对应目标值定义的集合来定义。
例如,通过示例方式考虑诸如食指之类的一个手指,控制器装置104b可以包括检测食指的屈曲的食指传感器,因此感测到的输入包括从食指传感器感测到的数据值,所述数据值指示用户的右手食指的屈曲量。类似地,控制器装置104b可以包括用于每个其他手指的对应传感器,所述传感器指示其他手指的屈曲量。因此,感测到的输入包括从这些传感器中的每一者感测到的数据值,由此指示用户的右手702的每个手指的屈曲量。
目标输入由每个传感器的目标数据值组成,因此定义了用户的右手702的目标手姿势。当从传感器感测到的数据值被共同确定为与目标数据值相似超过相似性阈值水平时,虚拟手704可以被渲染为具有预定义捏合手姿势,如实施方案中所示。应明白,只要继续超过感测到的数据值与目标数据值之间的相似性阈值水平,感测到的数据值的变化(例如,由至少一个手指的姿态变化引起的)就将不会影响为虚拟手704渲染的手姿势。维持预定义捏合手姿势,直到相似性程度不再超过阈值水平为止。
尽管已经参考预定义捏合手姿势描述了前述内容,但是应明白,原理可以不受限制地应用于任何其他手姿势。另外,尽管已经参考了每个手指具有一个传感器的控制器装置104b,但是应明白,每个手指可以存在多个传感器,因此每个手指具有多个感测到的数据值和对应的目标数据值。如上所述,可以利用多个传感器来检测给定手指的姿态。
在一些实施方案中,可以如下确定感测到的输入集与目标输入集合的相似性。
W1+W2+W3+W4+W5=P
M=f(E)
E是感测到的控制器输入集合与目标输入集合的整体偏差。E的值与所述偏差呈正相关,使得E值增大指示感测到的控制器输入与目标输入集合的偏差更大。
感测到的控制器输入集合由从控制器传感器感测到的输入值组成,所述控制器传感器对应于与用户的手的每个手指,其中Sx是手指x的感测到的输入值。
目标输入集合由与用户的手的每个手指相对应的目标输入值组成,其中Tx是手指x的目标输入值。
Rx是用于缩放给定的感测到的输入值与其对应的目标输入值之间的原始差(Sx-Tx)的任选缩放因子。例如,在一些实施方案中,Rx等于Sx与Tx的最大可能偏差,这会将差值缩放为1。
Wx是应用于给定的感测到的输入值与其对应目标输入值之间的平方差的加权因子。加权因子可以被配置/调整为使得感测到的输入值中的某些输入值相对于其他感测的输入值能够发挥更大或更小的影响。
在一些实施方案中,加权因子之和为预定义值P,以便对偏差函数进行标准化/缩放。例如,如上文所讨论的,当Rx等于Sx与Tx的最大可能偏差时,在一些实施方案中,P=1,这将E的值缩放为1。
M是相似性指示符,所述相似性指示符指示根据E确定的感测到的控制器输入与目标输入集合的相似性程度程度或相似量,其中M与E成反比。换句话说,随着偏差E减小,相似性M增大。例如,在一些实施方案中,M表达如下:
其中Emax是E的最大可能值。在其中Emax已被标准化为1的实施方案中,M=1-E
如已经描述的,当相似性M超过阈值水平时,虚拟手被渲染为具有预定义手姿势。
应明白,在一些实施方案中,根据偏差小于阈值水平来定义感测到的控制器输入与目标输入的相似性。换句话说,当感测到的控制器输入与目标输入的偏差小于阈值量时,虚拟手被渲染为具有预定义手姿势。
前述内容是用于确定控制器输入值与目标输入值的相似性的方法的一个示例,并且通过示例而非限制的方式提供。在其他实施方案中,可以应用用于确定值集合的相似性的各种其他方法中的任一者。此外,尽管已经描述了针对手的每个手指的单个感测到的控制器输入值,但是应明白,针对手的每个手指可以存在任意数量的感测到的控制器输入值,并且这些控制器输入值可以具有对应的目标值。
尽管通常已经参考虚拟手可以“贴合”到的单个预定义手姿势描述了前述内容,但是应明白,在各种实施方案中,可以存在当用户的手姿势充分近似表示虚拟手时(例如,由感测到的输入与目标输入的相似性超过阈值水平所定义的)可以将虚拟手渲染到的任何数量的预定义手姿势。
图8示出了根据本公开的实施方案的各种可能手姿势。在手姿势800中,拇指伸展,而其余手指屈曲/握紧。在一些实施方案中,手姿势800可以被使用或解释为竖起大拇指或搭便车的姿势。手姿势802是手张开,其中所有手指都伸展,但是食指、中指、无名指和小指彼此相邻内收。通过示例而非限制的方式,手姿势802可以用于拍手。手姿势804是另一种张开的手姿势,但是手指外展以便展开。通过示例而非限制的方式,手姿势804可以用于抓握对象、抓住对象或玩剪刀石头布。
手姿势806是握紧拳头,其通过示例而非限制的方式可以用于在虚拟空间中捏合。手姿势808使食指伸展,其余的手指通常屈曲/握紧。手姿势808可以用于指向,指示第一、触摸虚拟空间中的虚拟对象等。
手姿势810是两个手指伸展的姿势,并且可以指示第二、和平标志、幸福等。手姿势812是三个手指伸展的姿势。手姿势814是四个手指伸展并且拇指向内折叠的姿势。
手姿势816是拇指和粉红色伸展而其余手指卷曲的姿势。手姿势818是食指和小指伸展并且其他手指卷曲的姿势。
手姿势820是拇指和食指捏合的姿势。手姿势822是手部分握紧,其中所有手指都卷曲,但不像拳头那样握紧。
已经通过示例而非限制的方式示出和描述了这些姿势。应明白,可以存在可以根据其渲染虚拟手的任何数量的附加的可能的预定义手姿势。
在一些实施方案中,手姿势包括手语手姿势,所述手语手姿势可以用于在虚拟现实环境中有助于手语形成。
在各种实施方案中,采用本文描述的预定义手姿势的系统可以被配置为根据虚拟空间中用户交互的上下文(包括诸如交互(诸如在视频游戏中)的水平或阶段或环境上下文、要在虚拟空间中执行的任务、用户的手的位置、用户的手的定向、用户的手的动作(包括速度、轨迹、定向变化等)、由用户的手做出的识别手势等语境因素)来激活预定义手姿势中的一者。应明白,可以将任何此类因素彼此组合应用以便确定何时激活给定的预定义手姿势以进行渲染。
图9A示出了根据本公开的实施方案的用户在通过HMD观看的虚拟空间中交互。用户100如所示实施方案中所示用其右手702操作控制器装置104,并且如在通过HMD 102渲染的虚拟空间的所示视图900所示,在虚拟空间中渲染对应的虚拟手902。在所示实施方案中,交互的上下文使得门904在用户100角色的前面。因此,基于该上下文,可以激活用于抓握门904的门把手的预定义手姿势,使得当从控制器装置104接收到的用户定义的控制器输入与目标输入匹配到足够程度时,虚拟手902被渲染为具有预定义抓握手姿势。
在另一个实施方案中,基于根据从控制器装置104接收的控制器输入确定的用户的右手702的动作来激活预定义抓握手姿势。例如,所述系统可以被配置为使得当用户的手702的移动低于某个速度时,抓握手姿势被激活。
在另一个实施方案中,不是基于上文针对所示实施方案叙述的因素激活预定义抓握手姿势,而是没有激活预定义手姿势。即,例如,基于位置上下文(用户(头像)在门前面的位置)或用户的手的动作(例如,小于阈值速度),没有预定义手姿势被激活。
图9B示出了用户100操作控制器装置104并通过HMD 102但在不同的上下文中观看虚拟空间。如在HMD 102上渲染的虚拟空间的视图910所示,交互的上下文诸如包括拳击袋914。因此,基于交互的这种上下文,可以激活拳头手姿势以供使用,使得当从控制器装置104感测到的控制器输入与目标输入充分匹配时,对应的虚拟手912被渲染为拳头,如所示实施方案中所示。
在一些实施方案中,基于用户的手702的动作来激活拳头手姿势。例如,可以检测到用户已经举起他们的手并将其拉回,就好像准备要挥拳一样。对该移动的识别可以提供激活拳头手姿势的基础,使得如前所述基于控制器输入将虚拟手912渲染为拳头。应明白,还可以响应于用户的手在挥拳时的识别移动(例如,通过用户的手的向前动作所识别的)并且可能以超过预定义阈值的速度来激活预定义拳头姿势。
应明白,包括视频游戏的交互式应用程序可以被配置为调用不同的预定义手姿势,并且在不同的阶段或其他交互性上下文中调用不同的预定义手姿势。因此,被激活的特定手姿势可以响应于上下文变化并且响应于用户发起的活动(诸如用户的手、手臂和角色的移动)而随时间改变。
例如,当用户参与剪刀石头布的游戏时,如上面参考图8所述,张开手姿势804、拳头手姿势806和两个手指伸展手姿势810可以被选择并激活以供使用。
在一些实施方案中,当用户试图抓握虚拟空间中的虚拟对象时,张开手姿势804被激活,而如果检测到用户正在尝试另一种活动(诸如执行拍击动作或拍手动作),则张开手姿势802被激活。在该示例中,根据交互性的上下文,由用户通过控制器装置提供的相同感测输入导致不同的虚拟手渲染。
图10A示出了根据本公开的实施方案的虚拟空间中的角色。在所示实施方案中,角色1000具有虚拟手,所述虚拟手由从控制器感测到的输入来控制。角色1000站在画板1002的前面,用虚拟手的手指在所述画板上画画或涂鸦。在一些实施方案中,为了控制可用于画画/涂鸦的颜色,当前臂1004后旋并且手1006被定向为手掌向上时,在手1006的手掌中渲染颜色指示球1008。在一些实施方案中,通过用手1006的手指触摸球1008,可以调整/改变/控制可用于画画的颜色。例如,用食指、中指、无名指或小指触摸颜色指示球1008可以增加诸如红色、绿色或蓝色之类的颜色的相对量,而用拇指触摸颜色指示球1008可能导致颜色强度降低。
在图10B中,前臂1004相对于图10A中所示的位置略有前旋,从而使虚拟手1006的手掌向垂直方向旋转。在图10C中,前臂1004已经继续前旋,使得虚拟手1006的手掌已经旋转超出垂直方向并且超出发生两个事件的阈值。首先,不再渲染颜色指示球。其次,为虚拟手1006调用预定义手姿势,所述预定义手姿势将虚拟手1006的拇指向内朝向虚拟手1006的手掌卷起/折叠/屈曲。该预定义手姿势被配置为使得能够用虚拟手1006的食指、中指、无名指和小指来涂鸦,而拇指保持不干预。这在图10D上更清楚地示出,其中前臂1004进一步前旋,并且手1006的食指、中指、无名指和小指朝外定位并准备用手指在画板1002上画画。
图11A至图11E示出了根据本公开的实施方案的图形,所述图形示出了用户的手的不同手指随时间变化的伸展量。如上所述,可以从控制器装置104上的传感器确定所示伸展量。每个手指的伸展在0至10的范围内,出于解释本公开原理的目的而任意选择。广义地说,零值指示给定手指的最小伸展,而值为10指示最大伸展。
如图11A中所示,拇指的伸展从时间T0处的值6变为时间T1处的零值。如图11B中所示,食指的伸展从时间T0处的值3变为时间T1处的值9。如图11C中所示,中指的伸展从时间T0处的值6变为时间T1处的值1.5。如图11D中所示,无名指的伸展从时间T0处的值5变为时间T1处的值1.75。如图11E中所示,小指的伸展从时间T0处的值4变为时间T1处的值1。
在时间T1之前,对应的虚拟手的手指可以响应于用户的手指的伸展的变化(例如,由控制器装置104的传感器检测到的)而自由操纵。然而,在时间T1,虚拟手的渲染可以与预定义手姿势“贴合”或一致。通过示例而非限制的方式,在所示实施方案中,预定义手姿势可以是图8中所示的手姿势808,其中食指完全伸展,而其余手指屈曲(可能出于指向目的),指示第一、触摸虚拟对象或虚拟空间中的其他渲染项目等。
由于用户的手的姿势达到与预定义手姿势的某种水平的一致性,因此在时间T1处可能发生到预定义手姿势的变换。在一些实施方案中,这可能需要使每个手指的伸展值同时落入相应的预定义范围内。在一些实施方案中,这可能需要手指的伸展值达到与伸展值的目标集合的相似性阈值水平。应明白,在本实施方案中,伸展值的使用是用户的手指的姿态的量度的一个示例。概括所述概念,在本公开的实施方案中,到预定义手姿势的变换可以由用户的手指的测量姿态触发,例如,由传感器数据值或从传感器数据处理的值定义,落入预定义范围内或达到与预定义目标值的相似性阈值水平。
图12是示出根据本公开的实施方案的用户的手姿势与目标手姿势随时间变化的相似性的图形。在所示实施方案中,姿势相似性随时间变化。当姿势相似性达到阈值水平时,将虚拟空间中的对应虚拟手的姿势渲染为具有预定义手姿势,实际上“贴合”到预定义手姿势。这些时间段被标示为时间段P1、P2和P3。而在姿势相似性未超过阈值的时间段(指示为时间段F1、F2和F3)期间,虚拟手的渲染与预定义手姿势不一致,反而根据用户的手的手指的姿态响应地实时渲染。在时间段P1、P2和P3期间,由于相似性水平保持在阈值以上,因此即使用户的手指的姿态变化也不会引起虚拟手的姿势的变化。然而,在时间段F1、F2和F3期间,由于虚拟空间中的虚拟手的对应手指的姿态变化,因此用户的手指的姿态的任何改变都立即被实时地渲染。
图13A-1和图13A-2示出了根据本公开的实施方案的头戴式显示器(HMD)。具体地,图13A-1示出了VR头戴式耳机,所述头戴式耳机是根据本公开的实施方案的HMD的一个示例。如所示,HMD 102包括多个灯1300A至1300H。这些灯中的每一者可以被配置为具有特定形状,并且可以被配置为具有相同或不同的颜色。灯1300A、1300B、1300C和1300D布置在HMD 102的前表面上。灯1300E和1300F布置在HMD 102的侧表面上。并且,灯1300G和1300H布置在HMD 102的拐角处,以便跨越HMD 102的前表面和侧表面。应明白,可以在用户使用HMD 102的交互式环境的捕获图像中识别灯。基于对灯的识别和跟踪,可以确定HMD 102在交互式环境中的位置和定向。还应明白,根据HMD 102相对于图像捕获装置的特定定向,一些灯可能可见或可能不可见。而且,根据HMD 102相对于图像捕获装置的定向,可以暴露灯的不同部分(例如,灯1300G和1300H)以进行图像捕获。
在一个实施方案中,灯可以被配置为向附近的其他人指示HMD的当前状态。例如,一些或所有的灯可以被配置为具有某种颜色布置、强度布置,被配置为闪烁,具有某种开/关配置,或者指示HMD 102的当前状态的其他布置。通过示例方式,灯可以被配置为在视频游戏的积极游戏(通常在积极的时间轴期间或在游戏场景内发生的游戏)相对于视频游戏的其他不积极游戏方面期间显示不同的配置,所述其他不积极游戏方面诸如导航菜单界面或配置游戏设置(在此期间游戏时间轴或场景可能处于不活动状态或暂停)。灯还可以被配置为指示游戏的相对强度水平。例如,当游戏强度增加时,灯的强度或闪烁速率可能会增加。通过这种方式,用户之外的人可以观看HMD 102上的灯并且理解用户正在积极地参与激烈的游戏,并且可能不希望在那一刻被打扰。
HMD 102可以另外包括一个或多个传声器。在所示实施方案中,HMD 102包括限定在HMD 102的前表面上的传声器1304A和1304B,以及限定在HMD 102的侧表面上的传声器1304C。通过利用传声器阵列,可以处理来自每个传声器的声音以确定声音源的位置。可以通过各种方式利用该信息,包括排除不需要的声源、将声源与视觉识别相关联等。
HMD 102还可以包括一个或多个图像捕获装置。在所示实施方案中,HMD 102被示为包括图像捕获装置1302A和1302B。通过利用图像捕获装置的立体对,可以从HMD 102的视角捕获环境的三维(3D)图像和视频。可以在佩戴HMD 102的同时将这种视频呈现给用户以向用户提供“视频透视”能力。即,尽管从严格意义上来说用户不能透视HMD 102,但是由图像捕获装置1302A和1302B(例如,或者设置在HMD 102的外部主体上的一个或多个面向外部(例如,朝前)相机)捕获的视频尽管如此仍可以提供相当于看到HMD 102外部环境的等效功能,就像通过HMD 102观看一样。这种视频可以用虚拟元素增强以提供增强的现实体验,或者可以通过其他方式与虚拟元素进行组合或混合。尽管在所示实施方案中,在HMD 102的前表面上示出了两个相机,但是应明白,在HMD 102上可以安装有沿任意方向定向的任意数量的面向外部的相机。例如,在另一个实施方案中,可以在HMD 102的侧面上安装相机以提供环境的附加全景图像捕获。另外,在一些实施方案中,此类面向外部的相机可以用于跟踪其他外围装置(例如,控制器等)。即,可以在从HMD上的此类面向外部的相机捕获的图像中识别并跟踪外围装置相对于HMD的位置/定向,并且使用HMD在本地环境中的已知位置/定向,可以确定外围装置的位置/定向。
图13B示出了HMD 102的用户100与客户端系统106对接的一个示例,并且客户端系统106向被称为第二屏幕1307的第二屏幕显示器提供内容。客户端系统106可以包括用于处理从HMD 102到第二屏幕1307的内容共享的集成电子装置。其他实施方案可以包括将在客户端系统与HMD 102和第二屏幕1307中的每一者之间进行对接的分离装置、模块、连接器。在该一般示例中,用户100佩戴HMD 102,并且正在使用控制器(也可以是界面对象104)玩视频游戏。用户100进行交互式玩游戏将产生视频游戏内容(VGC),所述视频游戏内容被交互式显示给HMD 102。
在一个实施方案中,将在HMD 102中显示的内容共享到第二屏幕1307。在一个示例中,观看第二屏幕1307的人可以观看用户100在HMD 102中交互地玩游戏的内容。在另一个实施方案中,另一个用户(例如,玩家2)可以与客户端系统106交互以产生第二屏幕内容(SSC)。通过玩家还与控制器104交互产生的第二屏幕内容(或任何类型的用户界面、手势、语音或输入)可以被产生为客户端系统106的SSC,所述SSC可以连同从HMD 102接收到的VGC一起显示在第二屏幕1307上。
因此,可以与HMD用户共同定位或远离HMD用户的其他用户的交互性可以是社交的、交互式的,并且对于HMD用户和可能正在第二屏幕1307上观看HMD用户玩游戏的内容的用户两者而言是更身临其境的。如所示,客户端系统106可以连接到因特网1310。因特网还可以提供对客户端系统106的访问以访问来自各种内容源1320的内容。内容源1320可以包括可通过因特网访问的任何类型的内容。
这样的内容可以无限制地包括视频内容、电影内容、流媒体内容、社交媒体内容、新闻内容、交友内容、广告内容等。在一个实施方案中,客户端系统106可以用于同时处理用于HMD用户的内容,使得为HMD提供了与游戏期间的交互性相关联的多媒体内容。然后,客户端系统106还可以将可能与视频游戏内容不相关的其他内容提供给第二屏幕。在一种实施方案中,客户端系统106可以从内容源1320中的一者或从本地用户或远程用户接收第二屏幕内容。
图14概念性地示出了根据本公开的实施方案的HMD 102与正在执行的视频游戏或其他应用程序结合的功能。正在执行的视频游戏/应用程序由游戏/应用程序引擎1420定义,所述游戏/应用程序引擎接收输入以更新视频游戏/应用程序的游戏/应用程序状态。可以至少部分地通过视频游戏的各种参数的值来定义视频游戏的游戏状态,所述参数定义当前游戏的各个方面,诸如对象的存在和位置、虚拟环境的条件、事件的触发、用户配置文件、视图视角等。
在所示实施方案中,游戏引擎通过示例方式接收控制器输入1414、音频输入1416和动作输入1418。可以从与HMD 102分开的游戏控制器(诸如手持游戏控制器(例如,Sony4无线控制器、Sony/>Move动作控制器)或方向界面对象104)的操作来定义控制器输入1414。通过示例方式,控制器输入1414可以包括方向输入、按钮压下、触发器激活、移动、手势或从游戏控制器的操作处理的其他种类的输入。在一些实施方案中,通过HMD 102的面向外部的相机1411跟踪游戏控制器的移动,所述相机提供游戏控制器相对于HMD 102的位置/定向。可以从HMD 102的传声器1402或从图像捕获装置1413中所包括的传声器或本地环境中的其他位置处理音频输入1416。可以从在HMD 102中所包括的动作传感器1400和/或在捕获HMD 102的图像时从图像捕获装置1413和/或从HMD 102的面向外部的相机1411来处理动作输入1418。游戏引擎1420接收根据游戏引擎的配置处理的输入以更新视频游戏的游戏状态。游戏引擎1420将游戏状态数据输出到各种渲染模块,所述渲染模块处理游戏状态数据以定义将呈现给用户的内容。
在所示实施方案中,视频渲染模块1422被定义为渲染视频流以呈现在HMD 102上。视频流可以由显示器/投影仪机构1410呈现,并由用户的眼睛1406通过光学器件1408观看。音频渲染模块1404被配置为渲染音频流以供用户收听。在一个实施方案中,音频流通过与HMD 102相关联的扬声器1404输出。应明白,扬声器1404可以采取露天扬声器、头戴式耳机或能够呈现音频的任何其他种类的扬声器的形式。
在一个实施方案中,视线跟踪相机1412被包括在HMD 102中以使得能够跟踪用户的视线。视线跟踪相机捕获用户眼睛的图像,所述图像被分析以确定用户的视线方向。在一个实施方案中,关于用户的视线方向的信息可以用于影响视频渲染。例如,如果确定用户的眼睛正观看特定方向,则可以诸如通过在用户正观看的区域中提供更多细节或更快更新来优先考虑或强调针对该方向的视频渲染。应明白,可以相对于头戴式显示器、相对于用户所处的真实世界环境和/或相对于头戴式显示器上渲染的虚拟环境来定义用户的视线方向。
广义地说,对由视线跟踪相机1412捕获的图像的分析在单独考虑时提供了用户相对于HMD 102的视线方向。然而,当与跟踪的HMD 102的位置和定向结合考虑时,可以确定用户的真实世界视线方向,因为HMD 102的位置和定向与用户头部的位置和定向同义。即,可以通过跟踪用户的眼睛的位置移动以及跟踪HMD 102的位置和定向来确定用户的真实世界视线方向。当在HMD 102上渲染虚拟环境的视图时,可以应用用户的真实世界视线方向以确定虚拟环境中用户的虚拟世界视线方向。
另外,触觉反馈模块1426被配置为向包括在HMD 102或由用户操作的另一个装置(诸如界面对象104)中的触觉反馈硬件提供信号。触觉反馈可以采取各种触觉的形式,诸如振动反馈、温度反馈、压力反馈等。界面对象104可以包括用于渲染此类形式的触觉反馈的对应硬件。
参考图15,示出了根据本公开的实施方案的头戴式显示器102的部件的图。头戴式显示器102包括用于执行程序指令的处理器1500。存储器1502被提供用于存储目的,并且可以包括易失性和非易失性存储器。包括显示器1504,所述显示器提供用户可以观看的视觉界面。电池1506被提供作为头戴式显示器102的电源。动作检测模块1508可以包括各种动作敏感硬件中的任一者,诸如磁力计1510、加速度计1512和陀螺仪1514。
加速度计是用于测量加速度和重力感应反作用力的装置。单轴和多轴模型可用于检测加速度在不同方向上的大小和方向。加速度计用于感测倾斜度、振动和冲击。在一个实施方案中,使用三个加速度计1512来提供重力方向,所述重力方向给出两个角度(自然空间俯仰和自然空间滚转)的绝对基准。
磁力计测量头戴式显示器附近磁场的强度和方向。在一个实施方案中,在头戴式显示器内使用三个磁力计1510,以确保自然空间横摆角的绝对基准。在一个实施方案中,磁力计被设计为跨越±80微特斯拉的地球磁场。磁力计受金属影响,并且提供随实际横摆单调变化的横摆测量结果。磁场可能会由于环境中的金属而发生翘曲,从而导致横摆测量结果发生翘曲。如有必要,可以使用来自诸如陀螺仪或相机之类的其他传感器的信息来校准这种翘曲。在一个实施方案中,加速度计1512与磁力计1510一起使用以获得头戴式显示器102的倾斜度和方位角。
在一些实施方案中,头戴式显示器的磁力计被配置为在其他附近装置中的电磁体处于不活动状态时进行读取。
陀螺仪是用于基于角动量原理来测量或维持定向的装置。在一个实施方案中,三个陀螺仪1514基于惯性感测提供关于跨相应的轴(x、y和z)的移动的信息。陀螺仪有助于检测快速旋转。然而,陀螺仪可以在没有绝对基准的情况下随时间漂移。这需要周期性地重置陀螺仪,这可以使用其他可用信息来完成,诸如基于对象的视觉跟踪、加速度计、磁力计等进行的位置/定向确定。
提供相机1516以用于捕获真实环境的图像和图像流。头戴式显示器102中可以包括一个以上的相机,包括朝后的相机(当用户正在观看头戴式显示器102的显示器时远离用户指向的相机),以及朝前的相机(当用户正在观看头戴式显示器102的显示器时指向用户的相机)。另外,深度相机1518可以被包括在头戴式显示器102中以用于感测真实环境中的对象的深度信息。
头戴式显示器102包括用于提供音频输出的扬声器1520。而且,可以包括传声器1522以用于捕获来自真实环境的音频,包括来自周围环境的声音、用户发出的语音等。头戴式显示器102包括用于向用户提供触觉反馈的触觉反馈模块1524。在一个实施方案中,触觉反馈模块1524能够引起头戴式显示器102的移动和/或振动,以便向用户提供触觉反馈。
提供LED 1526作为头戴式显示器102的状态的视觉指示器。例如,LED可以指示电池电量、通电等。提供读卡器1528以使得头戴式显示器102能够从存储卡读取信息和向存储卡写入信息。USB接口1530被包括作为用于实现外围装置的连接或与诸如其他便携式装置、计算机等其他装置的连接的接口的一个示例。在头戴式显示器102的各种实施方案中,可以包括各种接口中的任一者以实现头戴式显示器102的更大连接性。
包括WiFi模块1532以使得能够经由无线联网技术连接到因特网或局域网。而且,头戴式显示器102包括用于实现与其他装置的无线连接的蓝牙模块1534。还可以包括通信链路1536以用于连接到其他装置。在一个实施方案中,通信链路1536利用红外传输进行无线通信。在其他实施方案中,通信链路1536可以利用各种无线或有线传输协议中的任一者来与其他装置进行通信。
包括输入按钮/传感器1538以为用户提供输入接口。可以包括各种输入接口中的任一者,诸如按钮、触摸板、操纵杆、轨迹球等。超声波通信模块1540可以被包括在头戴式显示器102中以有助于经由超声波技术与其他装置进行通信。
包括生物传感器1542以使得能够检测来自用户的生理数据。在一个实施方案中,生物传感器1542包括一个或多个干电极以用于通过用户的皮肤检测用户的生物电信号。
视频输入1544被配置为从主要处理计算机(例如,主游戏机)接收视频信号以在HMD上渲染。在一些实施方案中,视频输入是HDMI输入。
头戴式显示器102的前述部件仅被描述为可以包括在头戴式显示器102中的示例性部件。在本公开的各种实施方案中,头戴式显示器102可以包括或可以不包括各种上述部件中的一些部件。头戴式显示器102的实施方案可以另外包括当前未描述但所属领域已知的其他部件,以有助于如本文所述的本公开的各方面的目的。
图16是根据本公开的各种实施方案的游戏系统1600的框图。游戏系统1600被配置为经由网络1615向一个或多个客户端1610提供视频流。游戏系统1600通常包括视频服务器系统1620和任选的游戏服务器1625。视频服务器系统1620被配置为以最低服务质量向一个或多个客户端1610提供视频流。例如,视频服务器系统1620可以接收改变视频游戏内的状态或视角的游戏命令,并以最小滞后时间向客户端1610提供反映这种状态变化的更新后的视频流。视频服务器系统1620可以被配置为以包括尚未定义的格式的多种替代的视频格式提供视频流。此外,视频流可以包括被配置为以各种各样的帧速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧和每秒120帧。尽管更高或更低的帧速率包括在本公开的替代实施方案中。
客户端1610(在本文中分别被称为1610A、1610B等)可以包括头戴式显示器、终端、个人计算机、游戏机、平板计算机、电话、机顶盒、自助服务终端、无线装置、数字键盘、独立装置、手持式游戏机等。通常,客户端1610被配置为接收编码的视频流、对视频流进行解码,并将所得视频呈现给用户,例如游戏玩家。接收编码的视频流和/或对视频流进行解码的过程通常包括将各个视频帧存储在客户端的接收缓冲器中。视频流可以在与客户端1610成一体的显示器上或在诸如监视器或电视机之类的单独装置上呈现给用户。客户端1610任选地被配置为支持一个以上的游戏玩家。例如,游戏机可以被配置为支持两个、三个、四个或更多个同时玩家。这些玩家中的每一者可以接收单独的视频流,或者单个视频流可以包括专门为每个玩家生成的帧区域,例如基于每个玩家的视角生成的帧区域。客户端1610任选地在地理位置上分散。游戏系统1600中所包括的客户端的数量可以在从一或两个至数千、成千上万或更多的范围内大幅变化。如本文中所使用的,术语“游戏玩家”用于指代玩游戏的人,并且术语“游戏装置”用于指代用于玩游戏的装置。在一些实施方案中,游戏装置可以指代协作以将游戏体验传递给用户的多个计算装置。例如,游戏机和HMD可以与视频服务器系统1620协作以传递通过HMD观看的游戏。在一个实施方案中,游戏机从视频服务器系统1620接收视频流,并且游戏机将视频流或对视频流的更新转发到HMD以进行渲染。
客户端1610被配置为经由网络1615接收视频流。网络1615可以是任何类型的通信网络,包括电话网络、因特网、无线网络、电力线网络、局域网、广域网、专用网络等。在典型的实施方案中,视频流经由诸如TCP/IP或UDP/IP之类的标准协议进行传送。替代地,视频流经由专有标准进行传送。
客户端1610的典型示例是包括处理器、非易失性存储器、显示器、解码逻辑、网络通信能力和输入装置的个人计算机。解码逻辑可以包括存储在计算机可读介质上的硬件、固件和/或软件。用于对视频流进行解码(和编码)的系统在所属领域中是公知的,并且根据所使用的特定编码方案而变化。
客户端1610可以但不必须进一步包括被配置用于修改接收到的视频的系统。例如,客户端可以被配置为执行进一步的渲染,将一个视频图像叠加在另一个视频图像上,裁剪视频图像等。例如,客户端1610可以被配置为接收各种类型的视频帧,诸如I帧、P帧和B帧,并且将这些帧处理为图像以显示给用户。在一些实施方案中,客户端1610的成员被配置为对视频流执行进一步的渲染、阴影(shading)、3-D转换或类似操作。客户端1610的成员任选地被配置为接收一个以上的音频或视频流。客户端1610的输入装置可以包括例如单手游戏控制器、双手游戏控制器、手势识别系统、视线识别系统、语音识别系统、键盘、操纵杆、指向装置、力反馈装置、动作和/或位置感测装置、鼠标、触摸屏、神经接口、相机、尚待开发的输入装置等。
由客户端1610接收到的视频流(以及任选的音频流)由视频服务器系统1620生成并提供。如本文其他地方进一步描述的,该视频流包括视频帧(而音频流包括音频帧)。视频帧被配置为(例如,它们在适当的数据结构中包括像素信息)有意义地有助于向用户显示图像。如本文中所使用的,术语“视频帧”用于指代主要包括被配置为有助于例如实现向用户示出图像的信息的帧。本文中关于“视频帧”的大多数教导也可以应用于“音频帧”。
客户端1610通常被配置为从用户接收输入。这些输入可以包括被配置为改变视频游戏的状态或以其他方式影响游戏的游戏命令。游戏命令可以使用输入装置来接收和/或可以通过在客户端1610上执行的计算指令而自动生成。接收到的游戏命令从客户端1610经由网络1615被传送到视频服务器系统1620和/或游戏服务器1625。例如,在一些实施方案中,游戏命令经由视频服务器系统1620被传送到游戏服务器1625。在一些实施方案中,游戏命令的单独副本从客户端1610传送到游戏服务器1625和视频服务器系统1620。游戏命令的传送任选地取决于命令的标识。任选地,通过用于向客户端1610A提供音频或视频流的不同路由或通信信道,从客户端1610A传送游戏命令。
游戏服务器1625任选地由与视频服务器系统1620不同的实体来操作。例如,游戏服务器1625可以由多玩家游戏的发行者来操作。在该示例中,视频服务器系统1620任选地被游戏服务器1625视为客户端,并且任选地被配置为从游戏服务器1625的视角看来是执行现有技术游戏引擎的现有技术客户端。视频服务器系统1620与游戏服务器1625之间的通信任选地经由网络1615进行。因此,游戏服务器1625可以是将游戏状态信息发送到多个客户端的现有技术多玩家游戏服务器,其中的一个客户端是游戏服务器系统1620。视频服务器系统1620可以被配置为同时与游戏服务器1625的多个实例进行通信。例如,视频服务器系统1620可以被配置为向不同的用户提供多个不同的视频游戏。这些不同的视频游戏中的每一者可以由不同的游戏服务器1625支持和/或由不同实体发布。在一些实施方案中,视频服务器系统1620的几个地理上分散的实例被配置为向多个不同的用户提供游戏视频。视频服务器系统1620的这些实例中的每一者可以与游戏服务器1625的相同实例进行通信。视频服务器系统1620与一个或多个游戏服务器1625之间的通信任选地经由专用通信信道而发生。例如,视频服务器系统1620可以经由高带宽信道连接到游戏服务器1625,所述高带宽信道专用于这两个系统之间的通信。
视频服务器系统1620至少包括视频源1630、I/O装置1645、处理器1650和非临时性存储装置1655。视频服务器系统1620可以包括一个计算装置或分布在多个计算装置之间。这些计算装置任选地经由诸如局域网之类的通信系统连接。
视频源1630被配置为提供视频流,例如流视频或形成动态图片的一系列视频帧。在一些实施方案中,视频源1630包括视频游戏引擎和渲染逻辑。视频游戏引擎被配置为从玩家接收游戏命令,并基于接收到的命令来维护视频游戏状态的副本。该游戏状态包括对象在游戏环境中的位置,以及通常包括视角。游戏状态还可以包括对象的属性、图像、颜色和/或纹理。通常基于游戏规则以及诸如移动、转身、攻击、设置焦点、交互、使用等游戏命令来维护游戏状态。游戏引擎的一部分任选地设置在游戏服务器1625中。游戏服务器1625可以基于使用地理位置分散的客户端从多个玩家接收到的游戏命令来维护游戏状态的副本。在这些情况下,游戏状态由游戏服务器1625提供给视频源1630,其中存储游戏状态的副本并执行渲染。游戏服务器1625可以经由网络1615直接从客户端1610接收游戏命令,和/或可以经由视频服务器系统1620接收游戏命令。
视频源1630通常包括渲染逻辑,例如存储在诸如存储装置1655之类的计算机可读介质上的硬件、固件和/或软件。该渲染逻辑被配置为基于游戏状态创建视频流的视频帧。全部或部分渲染逻辑任选地设置在图形处理单元(GPU)中。渲染逻辑通常包括处理阶段,所述处理阶段被配置为基于游戏状态和视角来确定对象之间的三维空间关系和/或应用适当的纹理等。渲染逻辑产生原始视频,然后通常在所述原始视频传送给客户端1610之前对其进行编码。例如,原始视频可以根据以下各项进行编码:Adobe标准、.wav、H.264、H.263、On2、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x.Xvid.FFmpeg、x264、VP6-8、realvideo、mp3等。编码过程产生视频流,所述视频流任选地被封装以传递到远程装置上的解码器。视频流的特征在于帧大小和帧速率。尽管可以使用任何其他帧大小,但是典型的帧大小包括800x 600、1280x 720(例如,720p)、1024x 768。帧速率是每秒的视频帧数。视频流可以包括不同类型的视频帧。例如,H.264标准包括“P”帧和“I”帧。I帧包括用于刷新显示装置上的所有宏块/像素的信息,而P帧包括用于刷新其子集的信息。P帧的数据大小通常比I帧小。如本文中所使用的,术语“帧大小”是指帧内的像素的数量。术语“帧数据大小”用于指代存储帧所需的字节数。
在替代的实施方案中,视频源1630包括视频记录装置,诸如相机。该相机可以用于生成延迟或实时视频,所述视频可以被包括在计算机游戏的视频流中。所得视频流任选地包括渲染的图像和使用静态相机或视频相机记录的图像两者。视频源1630还可以包括存储装置,所述存储装置被配置为存储要包括在视频流中的先前记录的视频。视频源1630还可以包括被配置为检测对象(例如,人)的动作或位置的动作或定位感测装置,以及被配置为基于检测到的动作和/或位置来确定游戏状态或产生视频的逻辑。
视频源1630任选地被配置为提供被配置为放置在其他视频上的叠加。例如,这些叠加可以包括命令界面、登录说明、给游戏玩家的消息、其他游戏玩家的图像、其他游戏玩家的视频馈送(例如,网络摄像头视频)。在包括触摸屏界面或视线检测界面的客户端1610A的实施方案中,所述叠加可以包括虚拟键盘、操纵杆、触摸板等。在叠加的一个示例中,玩家的语音被叠加在音频流上。视频源1630任选地还包括一个或多个音频源。
在其中视频服务器系统1620被配置为基于来自一个以上玩家的输入来维护游戏状态的实施方案中,每个玩家可以具有包括观看位置和方向的不同视角。视频源1630任选地被配置为基于每个玩家的视角为每个玩家提供单独的视频流。此外,视频源1630可以被配置为向客户端1610中的每一者提供不同的帧大小、帧数据大小和/或编码。视频源1630任选地被配置为提供3-D视频。
I/O装置1645被配置为用于使视频服务器系统1620发送和/或接收信息,诸如视频、命令、信息请求、游戏状态、视线信息、装置动作、装置位置、用户动作、客户端标识、玩家标识、游戏命令、安全性信息、音频等。I/O装置1645通常包括通信硬件,诸如网卡或调制解调器。I/O装置1645被配置为与游戏服务器1625、网络1615和/或客户端1610进行通信。
处理器1650被配置为执行包括在本文讨论的视频服务器系统1620的各个部件内的逻辑,例如软件。例如,处理器1650可以用软件指令编程,以便执行视频源1630、游戏服务器1625和/或客户端限定符1660的功能。视频服务器系统1620任选地包括处理器1650的一个以上的实例。处理器1650也可以用软件指令编程,以便执行由视频服务器系统1620接收的命令,或协调本文讨论的游戏系统1600的各个元件的操作。处理器1650可以包括一个或多个硬件装置。处理器1650是电子处理器。
存储装置1655包括非暂时性模拟和/或数字存储装置。例如,存储装置1655可以包括被配置为存储视频帧的模拟存储装置。存储装置1655可以包括计算机可读数字存储装置,例如,硬盘驱动器、光盘驱动器或固态存储装置。存储装置1615被配置为(例如,通过适当的数据结构或文件系统)存储视频帧、人工帧、包括视频帧和人工帧两者的视频流、音频帧、音频流等。存储装置1655任选地分布在多个装置之间。在一些实施方案中,存储装置1655被配置为存储本文中其他位置讨论的视频源1630的软件部件。这些部件可以按在需要时准备提供的格式存储。
视频服务器系统1620任选地还包括客户端限定符1660。客户端限定符1660被配置为远程地确定诸如客户端1610A或1610B之类的客户端的功能。这些功能可以包括客户端1610A本身的功能以及客户端1610A与视频服务器系统1620之间的一个或多个通信信道的功能。例如,客户端限定符1660可以被配置为通过网络1615测试通信信道。
客户端限定符1660可以手动或自动确定(例如,发现)客户端1610A的功能。手动确定包括与客户端1610A的用户通信并要求用户提供功能。例如,在一些实施方案中,客户端限定符1660被配置为在客户端1610A的浏览器内显示图像、文本等。在一个实施方案中,客户端1610A是包括浏览器的HMD。在另一个实施方案中,客户端1610A是具有浏览器的游戏机,所述浏览器可以显示在HMD上。显示的对象请求用户输入诸如客户端1610A的操作系统、处理器、视频解码器类型、网络连接类型、显示分辨率等信息。用户输入的信息被传送回到客户限定符1660。
自动确定可以例如通过在客户端1610A上执行代理和/或通过将测试视频发送到客户端1610A而发生。所述代理可以包括嵌入在网页中或作为附件安装的计算指令,诸如java脚本。客户端限定符1660任选地提供代理。在各种实施方案中,代理可以发现客户端1610A的处理能力、客户端1610A的解码和显示功能、客户端1610A与视频服务器系统1620之间的通信信道的滞后时间可靠性和带宽、客户端1610A的显示类型、客户端1610A上存在的防火墙、客户端1610A的硬件、在客户端1610A上执行的软件、客户端1610A内的注册表项等。
客户端限定符1660包括存储在计算机可读介质上的硬件、固件和/或软件。客户端限定符1660任选地设置在与视频服务器系统1620的一个或多个其他元件分离的计算装置上。例如,在一些实施方案中,客户端限定符1660被配置为确定客户端1610与视频服务器系统1620的一个以上实例之间的通信信道的特性。在这些实施方案中,由客户端限定符发现的信息可以用于确定视频服务器系统1620的哪个实例最适合将流视频传递到客户端1610中的一者。
可以利用包括手持式装置、微处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机、大型计算机等的各种计算机系统配置来实践本公开的各实施方案。还可以在分布式计算环境中实践本公开,在所述分布式计算环境中,通过基于有线或无线网络链接的远程处理装置执行任务。
考虑到以上实施方案,应理解,本公开可以采用涉及存储在计算机系统中的数据的各种计算机实施的操作。这些操作是需要物理地操纵物理量的那些操作。形成本公开的一部分的本文描述的任何操作都是有用的机器操作。本公开还涉及用于执行这些操作的装置或设备。可以针对所需目的专门构造所述设备,或者所述设备可以是由存储在计算机中的计算机程序选择性地激活或配置的通用计算机。具体地,各种通用机器可以与根据本文的教导编写的计算机程序一起使用,或者构造更专门的设备来执行所需的操作可能更方便。
本公开也可以被体现为计算机可读介质上的计算机可读代码。所述计算机可读介质是可以存储数据的任何数据存储装置,所述数据随后可以被计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附加存储装置(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其他光学和非光学数据存储装置。所述计算机可读介质可以包括分布在网络耦合的计算机系统上的计算机可读有形介质,使得以分布式方式存储和执行计算机可读代码。
尽管以特定顺序描述了方法操作,但是应理解,其他内部管理操作可以在操作之间执行,或者操作可以被调整使得它们发生在稍有不同的时间,或者可以分布在只要以期望方式执行叠加操作的处理就允许在与处理相关联的各个时间间隔发生处理操作的系统中。
尽管为了清楚理解的目的已经详细地描述了前述公开,但是将显而易见的是,可以在所附权利要求的范围内进行某些改变和修改。因此,本实施方案应被认为是说明性的而不是限制性的,并且本公开不限于本文给出的细节,而是可以在本公开的范围和等效物内进行修改。
Claims (21)
1.一种方法,其包括:
从控制器装置接收识别用户的手的姿势的控制器输入;
确定所述控制器输入与预定义目标输入的相似性程度;
在虚拟空间中渲染与所述控制器装置相对应的虚拟手,
其中当所述相似性程度超过预定义阈值时,作为响应,对所述虚拟手进行动画化,使得所述虚拟手的姿势过渡到预定义手姿势,使得所述虚拟手的手指姿态过渡到所述预定义手姿势的预定义的手指姿态,并且
其中当所述相似性程度未超过所述预定义阈值时,渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化。
2.如权利要求1所述的方法,其中所述虚拟手的所述姿势由所述虚拟手的虚拟手指的姿态来定义,所述姿态独立于所述虚拟手在所述虚拟空间中的位置和定向,其中所述预定义手姿势定义用于所述虚拟手的所述虚拟手指的预定义姿态。
3.如权利要求2所述的方法,其中所述虚拟手指的所述姿态由所述虚拟手指的屈曲、伸展、外展、内收和/或回旋中的一者或多者的量来定义。
4.如权利要求1所述的方法,其中渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化包括:响应于所述控制器输入的变化而改变所述虚拟手的至少一个虚拟手指的所述姿态。
5.如权利要求1所述的方法,其中当所述相似性程度继续超过所述预定义阈值时维持所述预定义手姿势的所述渲染持续一定时间,使得所述控制器输入中不会引起所述相似性程度未超过所述预定义阈值的变化不会导致所述虚拟手的所述姿势发生变化。
6.如权利要求1所述的方法,其中所述用户的手的所述姿势由所述用户的手的手指的姿态来定义,所述姿态独立于所述用户的手在本地环境中的位置和定向,并且其中所述控制器输入识别所述用户的手的手指的姿态。
7.如权利要求6所述的方法,其中所述用户的手的所述手指的所述姿态由所述用户的手的所述手指的屈曲、伸展、外展、内收和/或回旋中的一者或多者的量来定义。
8.一种在其上体现程序指令的非暂时性计算机可读介质,所述程序指令在由至少一个计算装置执行时使所述至少一个计算装置执行包括以下操作的方法:
从控制器装置接收识别用户的手的姿势的控制器输入;
确定所述控制器输入与预定义目标输入的相似性程度;
在虚拟空间中渲染与所述控制器装置相对应的虚拟手,
其中当所述相似性程度超过预定义阈值时,作为响应,对所述虚拟手进行动画化,使得所述虚拟手的姿势过渡到预定义手姿势,使得所述虚拟手的手指姿态过渡到所述预定义手姿势的预定义的手指姿态,并且
其中当所述相似性程度未超过所述预定义阈值时,渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化。
9.如权利要求8所述的非暂时性计算机可读介质,其中所述虚拟手的所述姿势由所述虚拟手的虚拟手指的姿态来定义,所述姿态独立于所述虚拟手在所述虚拟空间中的位置和定向,其中所述预定义手姿势定义用于所述虚拟手的所述虚拟手指的预定义姿态。
10.如权利要求9所述的非暂时性计算机可读介质,其中所述虚拟手指的所述姿态由所述虚拟手指的屈曲、伸展、外展、内收和/或回旋中的一者或多者的量来定义。
11.如权利要求8所述的非暂时性计算机可读介质,其中渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化包括:响应于所述控制器输入的变化而改变所述虚拟手的至少一个虚拟手指的所述姿态。
12.如权利要求8所述的非暂时性计算机可读介质,其中当所述相似性程度继续超过所述预定义阈值时维持所述预定义手姿势的所述渲染持续一定时间,使得所述控制器输入中不会引起所述相似性程度未超过所述预定义阈值的变化不会导致所述虚拟手的所述姿势发生变化。
13.如权利要求8所述的方法,其中所述用户的手的所述姿势由所述用户的手的手指的姿态来定义,所述姿态独立于所述用户的手在本地环境中的位置和定向,并且其中所述控制器输入识别所述用户的手的手指的姿态。
14.如权利要求13所述的方法,其中所述用户的手的所述手指的所述姿态由所述用户的手的所述手指的屈曲、伸展、外展、内收和/或回旋中的一者或多者的量来定义。
15.一种系统,其包括:
控制器装置,其生成识别用户的手的姿势的控制器输入;
计算装置,其确定所述控制器输入与预定义目标输入的相似性程度并且在虚拟空间中渲染与所述控制器装置相对应的虚拟手,
其中当所述相似性程度超过预定义阈值时,作为响应,对所述虚拟手进行动画化,使得所述虚拟手的姿势过渡到预定义手姿势,使得所述虚拟手的手指姿态过渡到所述预定义手姿势的预定义的手指姿态,并且
其中当所述相似性程度未超过所述预定义阈值时,渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化。
16.如权利要求15所述的系统,其中所述虚拟手的所述姿势由所述虚拟手的虚拟手指的姿态来定义,所述姿态独立于所述虚拟手在所述虚拟空间中的位置和定向,其中所述预定义手姿势定义用于所述虚拟手的所述虚拟手指的预定义姿态。
17.如权利要求16所述的系统,其中所述虚拟手指的所述姿态由所述虚拟手指的屈曲、伸展、外展、内收和/或回旋中的一者或多者的量来定义。
18.如权利要求15所述的系统,其中渲染所述虚拟手使得所述虚拟手的所述姿势响应于所述控制器输入的变化而动态地变化包括:响应于所述控制器输入的变化而改变所述虚拟手的至少一个虚拟手指的所述姿态。
19.如权利要求15所述的系统,其中当所述相似性程度继续超过所述预定义阈值时维持所述预定义手姿势的所述渲染持续一定时间,使得所述控制器输入中不会引起所述相似性程度未超过所述预定义阈值的变化不会导致所述虚拟手的所述姿势发生变化。
20.如权利要求15所述的系统,其中所述用户的手的所述姿势由所述用户的手的手指的姿态来定义,所述姿态独立于所述用户的手在本地环境中的位置和定向,并且其中所述控制器输入识别所述用户的手的手指的姿态。
21.如权利要求20所述的系统,其中所述用户的手的所述手指的所述姿态由所述用户的手的所述手指的屈曲、伸展、外展、内收和/或回旋中的一者或多者的量来定义。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/721,651 | 2017-09-29 | ||
US15/721,651 US10521947B2 (en) | 2017-09-29 | 2017-09-29 | Rendering of virtual hand pose based on detected hand input |
PCT/US2018/052060 WO2019067309A1 (en) | 2017-09-29 | 2018-09-20 | RENDERING A VIRTUAL HAND PLACEMENT BASED ON HAND ENTRY DETECTED |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111356968A CN111356968A (zh) | 2020-06-30 |
CN111356968B true CN111356968B (zh) | 2023-11-24 |
Family
ID=64500437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880073431.7A Active CN111356968B (zh) | 2017-09-29 | 2018-09-20 | 基于检测到的手输入渲染虚拟手姿势 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10521947B2 (zh) |
EP (1) | EP3688563B1 (zh) |
JP (3) | JP6912661B2 (zh) |
CN (1) | CN111356968B (zh) |
WO (1) | WO2019067309A1 (zh) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180082482A1 (en) * | 2016-09-22 | 2018-03-22 | Apple Inc. | Display system having world and user sensors |
US10391400B1 (en) | 2016-10-11 | 2019-08-27 | Valve Corporation | Electronic controller with hand retainer and finger motion sensing |
US10691233B2 (en) * | 2016-10-11 | 2020-06-23 | Valve Corporation | Sensor fusion algorithms for a handheld controller that includes a force sensing resistor (FSR) |
US10888773B2 (en) | 2016-10-11 | 2021-01-12 | Valve Corporation | Force sensing resistor (FSR) with polyimide substrate, systems, and methods thereof |
US10987573B2 (en) * | 2016-10-11 | 2021-04-27 | Valve Corporation | Virtual reality hand gesture generation |
US10898797B2 (en) | 2016-10-11 | 2021-01-26 | Valve Corporation | Electronic controller with finger sensing and an adjustable hand retainer |
US10307669B2 (en) | 2016-10-11 | 2019-06-04 | Valve Corporation | Electronic controller with finger sensing and an adjustable hand retainer |
US11625898B2 (en) | 2016-10-11 | 2023-04-11 | Valve Corporation | Holding and releasing virtual objects |
US11185763B2 (en) | 2016-10-11 | 2021-11-30 | Valve Corporation | Holding and releasing virtual objects |
US11036295B2 (en) | 2016-11-23 | 2021-06-15 | Microsoft Technology Licensing, Llc | Electrostatic slide clutch |
WO2018232375A1 (en) | 2017-06-16 | 2018-12-20 | Valve Corporation | Electronic controller with finger motion sensing |
IT201700114495A1 (it) * | 2017-10-11 | 2019-04-11 | General Medical Merate S P A | Sistema per il controllo di almeno un movimento di un componente motorizzato di un’apparecchiatura radiologica e apparecchiatura radiologica che lo utilizza |
EP3751422A4 (en) * | 2018-02-07 | 2021-04-21 | Sony Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM |
US11023047B2 (en) | 2018-05-01 | 2021-06-01 | Microsoft Technology Licensing, Llc | Electrostatic slide clutch with bidirectional drive circuit |
WO2020033468A1 (en) | 2018-08-07 | 2020-02-13 | The Research Foundation For The State University Of New York | Feedback input apparatus and method for use thereof |
US10852825B2 (en) * | 2018-09-06 | 2020-12-01 | Microsoft Technology Licensing, Llc | Selective restriction of skeletal joint motion |
US11294463B2 (en) | 2018-12-03 | 2022-04-05 | Microsoft Technology Licensing, Llc | Augmenting the functionality of user input devices using a digital glove |
US11314409B2 (en) | 2018-12-03 | 2022-04-26 | Microsoft Technology Licensing, Llc | Modeless augmentations to a virtual trackpad on a multiple screen computing device |
US11137905B2 (en) | 2018-12-03 | 2021-10-05 | Microsoft Technology Licensing, Llc | Modeless augmentations to a virtual trackpad on a multiple screen computing device |
US11199901B2 (en) | 2018-12-03 | 2021-12-14 | Microsoft Technology Licensing, Llc | Augmenting the functionality of non-digital objects using a digital glove |
US10564719B1 (en) * | 2018-12-03 | 2020-02-18 | Microsoft Technology Licensing, Llc | Augmenting the functionality of user input devices using a digital glove |
US10866658B2 (en) * | 2018-12-20 | 2020-12-15 | Industrial Technology Research Institute | Indicator device, mixed reality device and operation method thereof |
EP3677997B1 (en) * | 2019-01-03 | 2021-10-13 | HTC Corporation | Electronic system and controller |
US11320911B2 (en) * | 2019-01-11 | 2022-05-03 | Microsoft Technology Licensing, Llc | Hand motion and orientation-aware buttons and grabbable objects in mixed reality |
CN109785445B (zh) * | 2019-01-22 | 2024-03-08 | 京东方科技集团股份有限公司 | 交互方法、装置、系统及计算机可读存储介质 |
US11886650B2 (en) * | 2019-04-19 | 2024-01-30 | Apple Inc. | Stylus-based input system for a head-mounted device |
EP3938062A4 (en) * | 2019-04-23 | 2022-11-23 | Valve Corporation | ELECTRONIC CONTROL DEVICE WITH FINGER DETECTION AND ADJUSTABLE HAND RESTRAINT |
US10860102B2 (en) | 2019-05-08 | 2020-12-08 | Microsoft Technology Licensing, Llc | Guide for supporting flexible articulating structure |
US11061476B2 (en) | 2019-05-24 | 2021-07-13 | Microsoft Technology Licensing, Llc | Haptic feedback apparatus |
US11054905B2 (en) | 2019-05-24 | 2021-07-06 | Microsoft Technology Licensing, Llc | Motion-restricting apparatus with common base electrode |
US11275453B1 (en) | 2019-09-30 | 2022-03-15 | Snap Inc. | Smart ring for manipulating virtual objects displayed by a wearable device |
CN112835445B (zh) * | 2019-11-25 | 2024-04-26 | 华为技术有限公司 | 虚拟现实场景中的交互方法、装置及系统 |
US11798429B1 (en) | 2020-05-04 | 2023-10-24 | Snap Inc. | Virtual tutorials for musical instruments with finger tracking in augmented reality |
US11520399B2 (en) | 2020-05-26 | 2022-12-06 | Snap Inc. | Interactive augmented reality experiences using positional tracking |
US11989965B2 (en) * | 2020-06-24 | 2024-05-21 | AR & NS Investment, LLC | Cross-correlation system and method for spatial detection using a network of RF repeaters |
US11283510B2 (en) | 2020-06-24 | 2022-03-22 | AR & NS Investment, LLC | Phase noise removal in a network of radio frequency (RF) repeaters |
CN115715405A (zh) * | 2020-06-25 | 2023-02-24 | Oppo广东移动通信有限公司 | 手部姿态估计方法、移动设备、头戴式显示器及系统 |
US11320896B2 (en) * | 2020-08-03 | 2022-05-03 | Facebook Technologies, Llc. | Systems and methods for object tracking using fused data |
US11696704B1 (en) | 2020-08-31 | 2023-07-11 | Barron Associates, Inc. | System, device and method for tracking the human hand for upper extremity therapy |
US11651625B2 (en) | 2020-09-17 | 2023-05-16 | Meta Platforms Technologies, Llc | Systems and methods for predicting elbow joint poses |
US11507179B2 (en) * | 2020-09-17 | 2022-11-22 | Meta Platforms Technologies, Llc | Systems and methods for predicting lower body poses |
US11925863B2 (en) * | 2020-09-18 | 2024-03-12 | Snap Inc. | Tracking hand gestures for interactive game control in augmented reality |
US11546505B2 (en) | 2020-09-28 | 2023-01-03 | Snap Inc. | Touchless photo capture in response to detected hand gestures |
US11448884B2 (en) * | 2020-11-25 | 2022-09-20 | Sony Interactive Entertainment Inc. | Image based finger tracking plus controller tracking |
US11740313B2 (en) | 2020-12-30 | 2023-08-29 | Snap Inc. | Augmented reality precision tracking and display |
CN114911401B (zh) * | 2021-02-08 | 2024-06-25 | 华为技术有限公司 | 电子设备及其触摸操作的分析方法和可读介质 |
US12013985B1 (en) | 2021-02-25 | 2024-06-18 | Snap Inc. | Single-handed gestures for reviewing virtual content |
US11531402B1 (en) | 2021-02-25 | 2022-12-20 | Snap Inc. | Bimanual gestures for controlling virtual and graphical elements |
US11861070B2 (en) | 2021-04-19 | 2024-01-02 | Snap Inc. | Hand gestures for animating and controlling virtual and graphical elements |
US20230041294A1 (en) * | 2021-08-03 | 2023-02-09 | Sony Interactive Entertainment Inc. | Augmented reality (ar) pen/hand tracking |
WO2023176420A1 (ja) * | 2022-03-18 | 2023-09-21 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法 |
US20240001223A1 (en) * | 2022-07-01 | 2024-01-04 | Sony Interactive Entertainment Inc. | Virtual reality/augmented reality systems configurable with multiple types of controllers |
EP4342551A3 (en) * | 2022-09-21 | 2024-07-10 | National Cheng Kung University | Hand training method with force feedback and hand training device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106575159A (zh) * | 2014-08-22 | 2017-04-19 | 索尼互动娱乐股份有限公司 | 手套接口对象 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4462594A (en) * | 1982-09-29 | 1984-07-31 | Coleco, Industries, Inc. | Video game with control of rate of movement of game objects |
US6512511B2 (en) * | 1998-07-20 | 2003-01-28 | Alphagrip, Inc. | Hand grippable combined keyboard and game controller system |
JP2012098988A (ja) * | 2010-11-04 | 2012-05-24 | Sony Corp | 画像処理装置および方法、並びにプログラム |
US20120113223A1 (en) * | 2010-11-05 | 2012-05-10 | Microsoft Corporation | User Interaction in Augmented Reality |
US20120326966A1 (en) * | 2011-06-21 | 2012-12-27 | Qualcomm Incorporated | Gesture-controlled technique to expand interaction radius in computer vision applications |
US20130025016A1 (en) * | 2011-07-30 | 2013-01-31 | Printsguard Corporation | Fingertip cover and method of dispensing same |
US9477303B2 (en) * | 2012-04-09 | 2016-10-25 | Intel Corporation | System and method for combining three-dimensional tracking with a three-dimensional display for a user interface |
JP6227563B2 (ja) * | 2013-06-26 | 2017-11-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ユーザインタフェース装置及び表示オブジェクト操作方法 |
RU2013148582A (ru) * | 2013-10-30 | 2015-05-10 | ЭлЭсАй Корпорейшн | Процессор обработки изображений, содержащий систему распознавания жестов с вычислительно-эффективным распознаванием неподвижной позы руки |
US20150187143A1 (en) * | 2013-12-26 | 2015-07-02 | Shadi Mere | Rendering a virtual representation of a hand |
US10415975B2 (en) * | 2014-01-09 | 2019-09-17 | Xsens Holding B.V. | Motion tracking with reduced on-body sensors set |
WO2016003365A1 (en) * | 2014-07-04 | 2016-01-07 | Loke Kar Kit Bernard | A wearable input device |
US9804693B2 (en) * | 2015-12-18 | 2017-10-31 | Oculus Vr, Llc | Handheld controller with activation sensors |
US9734435B2 (en) * | 2015-12-31 | 2017-08-15 | Microsoft Technology Licensing, Llc | Recognition of hand poses by classification using discrete values |
US10534432B2 (en) * | 2016-03-04 | 2020-01-14 | Sony Interactive Entertainment Inc. | Control apparatus |
US10987573B2 (en) * | 2016-10-11 | 2021-04-27 | Valve Corporation | Virtual reality hand gesture generation |
US10579151B2 (en) * | 2017-01-04 | 2020-03-03 | Htc Corporation | Controller for finger gesture recognition and method for recognizing finger gesture |
-
2017
- 2017-09-29 US US15/721,651 patent/US10521947B2/en active Active
-
2018
- 2018-09-20 JP JP2020518471A patent/JP6912661B2/ja active Active
- 2018-09-20 WO PCT/US2018/052060 patent/WO2019067309A1/en unknown
- 2018-09-20 CN CN201880073431.7A patent/CN111356968B/zh active Active
- 2018-09-20 EP EP18811093.6A patent/EP3688563B1/en active Active
-
2019
- 2019-12-31 US US16/731,855 patent/US10872453B2/en active Active
-
2020
- 2020-12-21 US US17/129,658 patent/US11842432B2/en active Active
-
2021
- 2021-07-08 JP JP2021113293A patent/JP6982215B2/ja active Active
- 2021-11-18 JP JP2021187719A patent/JP7277545B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106575159A (zh) * | 2014-08-22 | 2017-04-19 | 索尼互动娱乐股份有限公司 | 手套接口对象 |
Also Published As
Publication number | Publication date |
---|---|
US10872453B2 (en) | 2020-12-22 |
US10521947B2 (en) | 2019-12-31 |
WO2019067309A1 (en) | 2019-04-04 |
EP3688563B1 (en) | 2022-02-16 |
JP2020535560A (ja) | 2020-12-03 |
US20190102927A1 (en) | 2019-04-04 |
JP2022024100A (ja) | 2022-02-08 |
JP6982215B2 (ja) | 2021-12-17 |
CN111356968A (zh) | 2020-06-30 |
JP6912661B2 (ja) | 2021-08-04 |
JP7277545B2 (ja) | 2023-05-19 |
US11842432B2 (en) | 2023-12-12 |
EP3688563A1 (en) | 2020-08-05 |
US20210110591A1 (en) | 2021-04-15 |
US20200134899A1 (en) | 2020-04-30 |
JP2021168176A (ja) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111356968B (zh) | 基于检测到的手输入渲染虚拟手姿势 | |
US10120445B2 (en) | Glove interface object with flex sensing and wrist tracking for virtual interaction | |
CN107533369B (zh) | 带有外围装置的手套指尖的磁性跟踪 | |
US10254833B2 (en) | Magnetic tracking of glove interface object | |
US10317997B2 (en) | Selection of optimally positioned sensors in a glove interface object | |
US20170354864A1 (en) | Directional Interface Object |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |