组合陀螺鼠输入和触摸输入以在增强和/或虚拟现实环境中导航的制作方法

文档序号:15575245发布日期:2018-09-29 05:23阅读:285来源:国知局

本申请是于2016年12月15日提交的美国申请no.15/379,770的继续申请并且要求其优先权,该申请要求于2016年5月11日提交的美国临时申请no.62/334,786的优先权,其公开内容通过引用的方式并入本文。

本申请是于2016年5月11日提交的美国临时申请no.62/334,786的非临时申请并且要求其优先权,该申请通过引用的方式全部并入本文。



背景技术:

本文大体上涉及处理增强现实和/或虚拟现实环境中的输入。

背景技术

增强现实(ar)和/或虚拟现实(vr)系统可以生成三维(3d)沉浸式环境。用户可以通过与各种电子设备的交互来体验增强和/或虚拟环境,诸如,例如头盔或者其它头戴式设备,包括:显示器、用户在查看显示设备时透过其来看的眼镜或者护目镜、设置有传感器的手套、包括传感器的外部手持设备、以及其它这样的电子设备。一旦沉浸在增强和/或虚拟环境中,用户就会以不同的方式在虚拟环境中进行交互以供选择和/或操纵虚拟对象以及进行在虚拟环境中的其它这样的交互。例如,用户可以通过操纵外部电子设备、眼睛注视、物理移动和/或手势等来提供输入以与虚拟环境进行交互,将虚拟环境个性化,以及控制虚拟环境。



技术实现要素:

在一个方面中,一种方法可以包括:在周围环境中操作的头戴式显示设备中生成虚拟环境;响应于从可操作地耦合至头戴式显示设备的控制器接收到的选择输入而在虚拟环境中显示的虚拟对象的虚拟显示中设置锚点;从控制器接收实现第一输入模式的第一输入;响应于该第一输入而调整与虚拟对象的虚拟显示相关联的多个虚拟特征的布置,虚拟显示的虚拟显示区域小于同时显示多个虚拟特征中的所有虚拟特征所需的显示区域;从控制器接收实现第二输入模式的第二输入,第二输入模式与第一输入模式不同;以及基于一组先前定义的规则来确定是忽略第二输入还是响应于第二输入而在虚拟环境中执行动作。

在另一方面中,一种计算设备可以包括:存储器,该存储器存储可执行指令;以及处理器,该处理器被配置为执行指令。所述指令可以使得计算设备:在由用户穿戴并且在周围环境中操作的头戴式电子设备的显示器上显示虚拟环境;响应于检测到从可操作地耦合至头戴式电子设备的控制器接收到的选择输入而在显示在虚拟环境中的虚拟对象的虚拟显示中设置锚点;从控制器接收实现第一输入模式的第一输入;响应于该第一输入而调整与虚拟对象的虚拟显示相关联的多个虚拟特征的布置,虚拟显示的虚拟显示区域小于同时显示多个虚拟特征中的所有虚拟特征所需的显示区域;从控制器接收实现第二输入模式的第二输入,第二输入模式与第一输入模式不同;以及基于一组先前定义的规则来确定是忽略第二输入还是响应于第二输入而执行动作。

在附图和下面的描述中阐述了一种或者多种实施方式的细节。其它特征将通过描述和附图以及权利要求书而变得显而易见。

附图说明

图1是根据如本文描述的实施方式的包括头戴式显示器和手持电子设备的虚拟现实系统的示例实施方式。

图2a至图2c、图3a至图3c、图4a至图4c、图5a至5h和图6a至图6d图示了根据本文描述的实施方式的,在增强现实和/或虚拟现实环境中使用与触摸表面输入组合的陀螺鼠(gyromouse)控制器的示例实施方式。

图7a和图7b是根据如本文描述的实施方式的示例头戴式显示器的透视图。

图8是根据如本文描述的实施方式的虚拟现实系统的框图。

图9是根据如本文描述的实施方式的方法的流程图。

图10示出了可以用于实施本文描述的技术的计算机设备和移动计算机设备的示例。

具体实施方式

穿戴着例如头戴式显示器(hmd)设备沉浸在虚拟环境中的用户可以探索虚拟环境并且通过各种不同类型的输入来与虚拟环境进行交互,所述输入包括:例如,操纵与hmd分开的电子设备和/或操纵hmd本身,和/或者眼睛和/或头部定向注视,和/或头部移动和/或手/手臂姿态等。用户可以连同hmd一起操纵手持电子设备或者控制器以在虚拟环境中引起期望的动作。具体地,在一些情形下,用户可以按照各种不同的方式来操纵控制器,诸如,例如对控制器的触摸表面的触摸输入、操纵控制器上的输入按钮和/或开关、控制器本身的物理移动等,以提供待在虚拟环境中实现的输入。这种能力可以在提供用户输入时提供灵活性和便利性,并且可以增强用户的虚拟体验,尤其是在待显示给虚拟环境中的用户的内容的视觉大小超过用户可以查看的区域的实例中。在一些实例中,当用户例如在控制器的触摸表面上输入触摸输入时不经意地利用控制器移动或者做出手势、经由控制器的物理移动或者手势进行输入的同时不经意地移动了在触摸表面上的触摸等时,使用同一控制器(例如,陀螺鼠)而可用的这些多个输入模式会产生一些歧义和/或生成非意图的用户输入。

在根据本文描述的实施方式的系统和方法中,可以将一组预定义规则或者算法应用于经由控制器接收到的输入。这些预定义规则或者算法可以允许更准确地确定用户的意图的输入,并且系统可以准确地实现用户在虚拟环境中的意图的交互。根据本文描述的实施方式的系统和方法还可以允许通过例如使用例如具有触摸输入表面并且还具有提供控制器相对于虚拟显示的位置和取向信息的能力的控制器滚动、放大和缩小等来在虚拟对象、特征、选项等超出可用虚拟显示区域或者落在可用虚拟显示区域之外时对虚拟对象、特征、选项等的虚拟显示的用户操纵。

在图1中示出的示例实施方式中,穿戴hmd100的用户正抓持便携式手持电子设备102。该便携式手持电子设备102可以是:例如,陀螺鼠、智能电话、或者其它类型的控制器,其可以与hmd100配对并且与hmd100通信以供在由hmd100生成的沉浸式虚拟体验中交互。在一些实施方式中,可以基于包括在设备102中的各种传感器(诸如,例如包括例如如按照该方式适配的陀螺鼠或者智能电话中的加速度计、陀螺仪、磁力计等的惯性测量单元)来追踪手持电子设备102的六自由度(6dof)位置和取向。在一些实施方式中,可以基于由系统中的其它传感器(诸如,例如包括在hmd100上的图像传感器)连同包括在设备102中的取向传感器一起检测到的设备102的位置来追踪手持电子设备102的6dof位置和取向。手持电子设备102可以经由例如有线连接或者无线连接(诸如,例如,wifi或者蓝牙连接)与hmd100可操作地耦合或者配对以提供设备102与hmd100之间的数据交换和通信,从而允许手持电子设备102用作控制器。即,可以将对手持电子设备102的操纵(诸如,例如在手持电子设备102的触摸表面上接收到的输入,或者手持电子设备102的物理移动,或者由用户引导的从手持电子设备102虚拟发射的虚拟光线或者光束)转换成虚拟环境中的对应交互或者移动。在下文中,仅仅为了便于讨论,将手持电子设备称为控制器102。

如上面提到的,在一些实施方式中,控制器102可以是陀螺鼠,该陀螺鼠可以在自由空间中操作以例如选择、操纵虚拟环境中的对象以及以其它方式与虚拟环境中的对象进行交互。使用包括陀螺鼠能力的控制器102实质上可以允许将移动设备的触摸屏输入能力相对准确地投射到三维(3d)空间中。

例如,陀螺鼠可以包括生成指示陀螺鼠的角运动的信号的陀螺仪,该角运动可以被转换成虚拟环境中的定向移动。在一些实施方式中,陀螺鼠还可以包括加速度计,其生成指示陀螺鼠的加速度(例如,在与由陀螺仪生成的定向信号相对应的方向上的加速度)的信号。在一些实施方式中,陀螺鼠还可以包括磁力计,其基于检测到的磁场的强度和/或方向来生成指示陀螺鼠在真实世界空间中的相对位置的信号。陀螺鼠在真实世界空间中的检测到的三维位置,连同由陀螺仪和/或加速度计和/或磁力计提供的与陀螺鼠有关的取向信息一起,可以提供对陀螺鼠的6dof追踪,使得可以将对陀螺鼠的用户操纵转换成虚拟环境中的意图的交互和/或引导至虚拟环境中的意图的虚拟目标。在一些实施方式中,控制器102可以是另一类型的便携式电子设备——诸如,例如配备有这些类型的传感器的智能电话或者其它便携式手持设备,使得可以追踪控制器102的位置和取向,并且可以将对控制器102的用户操纵转换成虚拟环境中的意图的交互和/或引导至虚拟环境中的意图的虚拟目标。

在一些实施方式中,控制器102(即,配备有传感器的陀螺鼠、智能电话、其它类型的便携式电子设备等)可以包括配置为接收各种不同类型的用户输入的操纵设备。例如,控制器102可以包括配置为接收例如触摸输入、触摸拖动输入、捏放缩放输入等的触摸表面108。控制器102还可以包括配置为接收用户输入的其它操纵设备106,诸如,例如一个或者多个按钮、一个或者多个切换开关、一个或者多个操纵杆等。

按照这种方式配备的控制器102可以按照各种不同的输入模式来接收待转换成虚拟环境中的对应交互的用户输入。这些用户输入模式可以包括:例如,由包括在控制器102中的传感器检测的控制器102的物理移动或者手势、由控制器102的触摸表面检测的触摸输入(包括触摸拖动、捏放缩放等)、在控制器102的操纵设备106中的一个处接收的选择、以及其它这样的输入。在一些实施方式中,控制器102可以接收包括组合这些模式或者顺序地应用这些模式的用户命令。

在图2中示出了用于使用包括例如陀螺鼠能力的控制器102来组合增强现实和/或虚拟现实环境中的移动输入和触摸输入的系统的示例实施方式。图2a是用户在物理空间中穿戴着hmd100并且抓持控制器102,同时观看由hmd100生成的虚拟显示420的第三人称视角,该虚拟显示420显示多个虚拟对象a、b、c、d、e和f。用户可以在hmd100中(例如,在hmd100中的显示器上)查看虚拟显示420。然而,仅仅为了便于讨论和说明,在下面的示例实施方式中,将虚拟显示420图示为在hmd100的外部。用户可以按照许多不同的方式来选择虚拟对象a至f中的一个虚拟对象以供交互和/或操作等的,所述方式诸如:例如,将控制器102引导至要选择的虚拟对象——由用于提供控制器102的方向的视觉指示的、从控制器102引导至要选择的虚拟对象的虚拟光束或者光线450所图示,将头部注视和/或眼睛注视引导至要选择的虚拟对象,使用控制器102的触摸表面108来将虚拟光标导航至要选择的虚拟对象等。

在图2b中示出的示例中(该图2b也是用户在物理空间中体验由hmd100生成的虚拟环境400的第三人称视角,其中为了便于解释虚拟显示420被图示为在hmd100的外部),用户通过例如操纵控制器102的触摸表面108和/或另一操纵设备106来将虚拟光线450从控制器102引导至虚拟对象a。在该示例中,控制器102可以配备有如上面讨论的陀螺鼠类型能力,和/或可以按照其它方式配备为使得可以检测并且追踪控制器102的6dof位置和取向。由于该6dof追踪可以允许系统检测并且追踪控制器102的位置和取向,因此,系统可以处理检测到的位置和取向以基于控制器102的方向来确定虚拟光线450与要选择的虚拟对象的交点。由于在一些情形下,虚拟光线450可能实际上对用户不可见,因此,在一些实施方式中,可以在实际选择虚拟对象之前向用户显示虚拟指示符455(诸如,虚拟光标455或者其它类型的视觉指示符)以向用户提供控制器102的定向光线与对应的虚拟对象的交点的视觉指示符。然后,用户可以通过操纵控制器102(诸如,例如,从触摸表面108释放触摸,释放对操纵设备106中的一个的按下等)来选择例如虚拟对象a。

多个不同的虚拟对象、特征、选项等可以以与虚拟对象a至f相关联的方式可用。例如,n个不同的虚拟对象、特征等可以以与虚拟对象a相关联的方式可用。然而,由于例如虚拟显示区域的大小、虚拟特征a1至an的大小、以及其它这样的因素,有可能无法在用户可见的虚拟显示420的区域内同时查看全部虚拟对象、特征等,例如特征a1至an。如在图2c中示出的,响应于对虚拟对象a的选择,系统可以在虚拟显示420中放大并且显示与虚拟对象a有关的附加特征a1、a2、a3、和a4、以及内容等以供与用户进行交互和/或由用户操纵。由于除了显示给用户的特征a1至a4之外的一些特征以及内容等可能超出可用于供用户进行查看的区域,因此用户可以选择滚动、导航或者以其它方式来移览(movethrough)特征,例如,以对期望的特征进行定位,查看可用于进行选择的特征等。

在一些实施方式中,如在图3a至图3c中示出的,用户可以通过以下操作来致使以与选择的虚拟对象a相关联的方式可用的特征a1至an的移动:例如,指向虚拟显示420处来在显示区域的特定部分中选择和/或设置锚点,并且然后,实现控制器102的物理移动——例如,用于使得特征的显示向下滚动的向下移动或者用于使得特征的显示向上滚动的向上移动等。图3a至图3c提供了用户(具体地,抓持控制器102的用户的手)在物理空间中与显示在由hmd100生成的虚拟环境中的虚拟内容进行交互的第三人称视角。

如在图3a中示出的,用户可以将虚拟光束450引导至选择的虚拟对象a的虚拟显示420的一部分——例如,虚拟对象a的显示的底部部分。该选择输入实质上可以通过例如施加于控制器108的触摸表面的触摸、对其它操纵设备106中的一个的操纵(诸如,按下操纵设备106)等来在虚拟显示器420的虚拟光束450与特定虚拟对象相交处的一部分中设置锚点。仅仅为了便于讨论和说明,在下文中,将该虚拟光束450与虚拟显示420的特定部分的交点称为虚拟光束450的端点455。该锚点可以限定一个点,通过该点用户可以例如虚拟地抓住并且保持虚拟显示420的对应部分以供进行移动、操纵、选择等。如在图3b中示出的,用户然后可以对控制器102执行物理向上移动以使得与选择的虚拟对象a相关联的特征a1至an的列表向上滚动。如在图3c中示出的,可以维持该向上移动,直到例如物理移动被终止或者改变方向、在触摸表面108上的触摸或者对操纵设备106的按下被释放等为止。可以通过以下操作来实现与选择的虚拟对象a相关联的特征a1至an的向下移动:例如,将虚拟光束450引导至显示区域的上部,如上面描述的那样设置锚点,并且按照类似的方式向下移动控制器。可以按照类似的方式在各个其它方向上(诸如,在左方向、右方向、对角线方向上等)实现其它移动——包括滚动。

在一些实例中,用户可能例如在有意地在控制器102的触摸表面108上输入触摸输入的同时不经意地或者无意地移动控制器102。同样,在一些实例中,用户可能例如在有意地实现控制器102的物理移动的同时不经意地或者无意地沿着控制器102的触摸表面108进行了移动或者拖动。为了确保系统对有意的用户输入作出反应并且不对无意的用户输入作出反应,在一些实施方式中,系统可以实现用于响应各种不同类型的输入的一组预定义规则以促进基于检测到的输入和操作的一组规则来准确选择特定虚拟对象或者虚拟特征和/或待在虚拟环境中采取的动作。在一些实施方式中,可以将操作的规则和对检测到的输入的响应应用于任何检测到的输入。在一些实施方式中,可以在激活主输入的同时检测到辅助输入时应用操作的规则和对检测到的输入的响应。操作的规则和对检测到的输入的响应可以基于:例如,用户偏好、使用中的控制器的类型、特定虚拟环境和相关联的场境(context)、当前可用于供用户操纵的虚拟对象以及特征等的特定集合等。操作的规则可以允许系统对检测到的用户输入是有意的可能性或者概率进行评估,并且相应地处理输入。换言之,将规则应用于检测到的用户输入允许系统对输入进行分类。下文中可以将输入分类为例如意图的输入,和非意图的输入。基于该分类,可以过滤掉非意图输入,即忽略非意图输入,使得可以将系统进行响应的输入的数目减少到意图的输入。按照该方式,可以过滤掉用户的输入的不精确性,从而提高用户与系统的交互的准确性,例如就以下意义而言:只处理与当前输入模式有关的和/或和与虚拟环境中的特定虚拟目标的交互有关的输入,而过滤掉其它输入。

在图3a至图3c中示出的示例中,选择输入响应于在控制器102的触摸表面108上的触摸输入来在虚拟显示区域中将锚点设置在虚拟光线450的端点455处,并且系统响应于控制器102的物理移动而实现特征a1至an的滚动。如果在图3b中示出的控制器102的物理移动期间,用户不经意地在控制器102的触摸表面108上施加非意图的触摸/拖动,则系统可以基于针对该组输入建立的一组规则来忽略在触摸表面108上的检测到的触摸/拖动。例如,在一些实施方式中,如果在触摸表面108上的检测到的触摸/拖动如在图6a中示出的保持在触摸表面108的预定义区域108a内,如果该触摸/拖动输入的幅度小于预定义阈值等,从而指示该触摸/拖动输入是非意图的,则系统可以忽略该触摸/拖动。在一些实施方式中,如果系统检测到触摸/拖动已经移动到触摸表面108的在预定义区域108a之外的区域108b中,则系统可以确定触摸/拖动输入是有意的。在一些实施方式中,在触摸表面108上的预定义区域108a可以基于例如围绕触摸表面108上的与输入相关联的初始触摸点108p的设置区域。即,如果触摸表面108上的初始触摸点108p的位置如图6b所示,而不是如图6a所示,则预定义区域108a可以基于初始触摸点108p的位置。

在一些实施方式中,如在图4a至图4c中示出的,用户可以通过以下操作来致使以与选择的虚拟对象a相关联的方式可用的特征a1至an的移动:例如,通过指向显示区域420来输入选择输入以设置锚点,并且然后在控制器102的触摸表面108上实现触摸拖动输入——例如,用于使得特征的显示向上滚动的在触摸表面108上的向上拖动、用于使得特征的显示向下滚动的在触摸表面108上的向下拖动等。图4a至图4c提供了用户(具体地,抓持控制器102的用户的手)在物理空间中与由hmd100生成的虚拟环境中的虚拟内容进行交互的第三人称视角。

如在图4a中示出的,用户可以将虚拟光束450引导至选择的虚拟对象a的虚拟显示420的一部分——例如,虚拟对象a的显示的底部部分。这实质上可以通过例如施加于控制器108的触摸表面的触摸、对其它操纵设备106中的一个的操纵等来在显示的虚拟光束450与虚拟显示420的一部分相交处的一部分处设置锚点。如上面提到的,在该示例中,在图4a至图4c中示出的虚拟光束450的端点455图示了虚拟光束450与虚拟显示420相交。如在图4b中示出的,用户然后可以沿着控制器102的触摸表面108输入拖动移动,以使得与选择的虚拟对象a相关联的特征a1至an的列表向上滚动。如在图4c中示出的,可以维持该向上移动,直到例如拖动输入被终止或者改变方向、在触摸表面108上的触摸或者对操纵设备106的按下被释放等为止。可以通过以下操作来实现与选择的虚拟对象a相关联的特征a1至an的向下移动:例如,将虚拟光束450引导至虚拟显示420的上部,并且如上面描述的那样设置锚点,并且按照类似的方式在控制器102的触摸表面108上实现向下拖动输入。可以按照类似的方式在各个其它方向上(诸如,在左方向、右方向、对角线方向上等)实现其它移动——包括滚动。

如上面提到的,在一些实例中,用户可能例如在有意地在控制器102的触摸表面108上输入触摸输入的同时不经意地或者无意地移动控制器102。如果在图4b中示出的在控制器102的触摸表面108上输入触摸拖动输入期间,用户不经意地使得利用控制器102进行移动或者做出手势,则系统可以基于对各种类型的输入作出响应的一组预定义规则来忽略控制器102的检测到的物理移动,使得只有意图的用户输入引起虚拟环境中的对应动作。例如,在一些实施方式中,如在图6c中示出的,如果例如,检测到的控制器102从位置p1到位置p2的物理移动的幅度或者方向小于预定义阈值d1或者在预定义范围d1内,从而指示控制器102的物理移动是无意的,则系统可以忽略控制器102的检测到的物理移动。在一些实施方式中,如在图6d中示出的,如果系统检测到控制器102从位置p1到位置p2的物理移动的幅度超过预定义范围d1,则系统可以确定控制器102的该物理移动是有意的。

在一些实施方式中,如在图5a至图5g中示出的,用户可以通过以下操作来致使以与选择的虚拟对象a相关联的方式可用的特征a1至an的移动:例如,操纵显示在虚拟显示420的显示区域中的虚拟垂直滚动条460和/或虚拟水平滚动条470。图5a至图5f提供了用户(具体地,抓持控制器102的用户的手)在物理空间中与显示在由hmd100生成的虚拟环境中的虚拟内容进行交互的第三人称视角。

在一些实施方式中,用户可以通过指向并且选择虚拟向上箭头461、虚拟向下箭头462、虚拟向左箭头471、或者虚拟向右箭头472来输入选择输入以产生特征a1至an的对应移动。在图5a中示出的示例中,用户将虚拟光束450引导至选择的虚拟对象a的虚拟显示420的一部分(例如,垂直滚动条460中的向下箭头462),并且通过例如施加于控制器102的触摸表面108的触摸、对其它操纵设备106中的一个的操纵等来选择向下箭头462以供输入。如在图5b中示出的,用户然后可以通过例如施加于控制器102的触摸表面108的一个或者多个触摸输入、一次或者多次按下操纵设备106中的一个等来虚拟地选择(例如,虚拟点击)向下箭头462,以使得与选择的虚拟对象a相关联的特征a1至an的列表在对应的方向上滚动。可以通过以下操作来实现与选择的虚拟对象a相关联的特征a1至an的向下移动:例如,将虚拟光束450引导至显示区域的垂直滚动条460中的向上箭头461并且如上面描述的虚拟地选择(例如,虚拟点击)向上箭头461。可以通过以下操作来实现与选择的虚拟对象a相关联的特征a1至an在其他方向上(例如向左和向右)的移动:例如,将虚拟光束450引导至显示区域的水平滚动条470中的向左箭头471或者向右箭头472并且如上面描述来虚拟地选择(例如,虚拟点击)选择的箭头471/472以产生特征a1至an在对应的方向上的移动。可以将如上面关于图6a至图6d详细讨论的一组预定义规则应用于检测上面关于图5a至图5b描述的各个输入,使得系统响应于意图的输入而采取动作,并且不会响应于非意图输入而采取动作。

在一些实施方式中,可以通过虚拟地移动虚拟垂直滚动条460中的虚拟垂直指示符463和/或移动虚拟水平滚动条470中的虚拟水平指示符473来实现类似的移动以产生特征a1至an的对应移动。在该示例中,用户可以通过例如施加于控制器的触摸表面108的触摸、对其它操纵设备106中的一个的操纵等来在虚拟显示420的虚拟光束450的端点455所定位的一部分处(在该示例中,在垂直滚动条460中的垂直指示符463上)设置锚点。如在图5d中示出的,用户然后可以沿着控制器102的触摸表面108输入拖动移动,或者如上面描述执行控制器102的物理移动以使得与选择的虚拟对象a相关联的特征a1至an的列表滚动。可以维持该移动,直到例如检测到的拖动输入被终止或者改变方向、检测到的控制器102的物理移动被终止或者改变方向、检测到的在触摸表面108上的触摸或者对操纵设备106的按下被释放等为止。可以通过以下操作来实现与选择的虚拟对象a相关联的特征a1至an的向下移动:例如,将虚拟光束450引导至垂直滚动条460中的垂直指示符463并且在控制器102的触摸表面108上实现向下拖动输入,或者按照类似的方式实现控制器102的向下物理移动。可以通过以下操作来实现与选择的虚拟对象a相关联的特征a1至an在其它方向上(例如向左和向右)的移动:例如,将虚拟光束450引导至显示区域的水平移动条470中的水平指示符473并且在控制器102的触摸表面108上实现在左或者右方向上的拖动输入,或者按照类似的方式在左或者右方向上实现控制器102的物理移动,以产生特征a1至an在对应方向上的移动。可以将如上面关于图6a至图6d详细讨论的一组预定义规则应用于检测上面关于图5c至图5d描述的各个输入,使得系统响应于意图的用户输入而采取动作,并且不响应于非意图输入而采取动作。

在一些实施方式中,可以通过在虚拟垂直指示符463上方或者下方的区域464a/464b中施加的输入和/或在虚拟水平指示符473的右方或者左方的区域474a/474b中施加的输入来实现类似的移动以产生特征a1至an的对应移动。在图5e中示出的示例中,用户将虚拟光束450引导至选择的虚拟对象a的虚拟显示420的一部分(例如,垂直滚动条460中的区域464b),并且通过例如施加于控制器102的触摸表面108的触摸、对其它操纵设备106中的一个的操纵等来选择区域464b以供输入。如在图5f中示出的,用户然后可以通过例如施加于控制器102的触摸表面108的一个或者多个触摸输入、一次或者多次按下操纵设备106中的一个等来虚拟地选择(例如,虚拟地点击)区域464b以使得与选择的虚拟对象a相关联的特征a1至an的列表在对应的方向上滚动。可以通过例如将虚拟光束450引导至显示区域的垂直滚动条460中的区域464a并且如上面描述的虚拟地选择(例如,虚拟点击)区域464a来实现与选择的虚拟对象a相关联的特征a1至an的向下移动。可以通过以下操作来实现与选择的虚拟对象a相关联的特征a1至an在其他方向上(例如向左和向右)的移动:例如,将虚拟光束450引导至显示区域的水平滚动条470中的区域474a或者474b中的一个区域并且如上面描述来虚拟地选择(例如,虚拟点击)选择的区域474a或者474b以产生特征a1至an在对应的方向上的移动。可以将如上面关于图6a至图6d详细讨论的一组预定义规则应用于检测上面关于图5e至图5f描述的各个输入,使得系统响应于意图的用户输入而采取动作,并且不响应于非意图用户输入而采取动作。

在一些实施方式中,可以通过例如向前(或者向后)切转(skip)或者向前(或者向后)跳转(jump)而不是如上所述的滚动来调整或者改变显示在虚拟显示420的显示区域内的虚拟特征。例如,如在图5g中示出的,可以向用户显示虚拟内容指示符480。虚拟内容指示符480还可以向用户提供这样的视觉指示:除了显示在虚拟显示420上的虚拟特征a1至a4之外的虚拟特征以与选择的特定虚拟对象a相关联的方式对用户可用。在图5g中示出的示例中,示例虚拟内容指示符480包括多个虚拟内容按钮,每个虚拟内容按钮对应于以与选择的虚拟对象a相关联的方式可用的虚拟特征a1至an的列表中的特定点或者书签。在该示例中,显示虚拟特征a1至a4,并且突出显示第一虚拟内容按钮481,从而向用户提供显示的虚拟特征a1至an实质上处于以与选择的虚拟对象a相关联的方式可用的虚拟特征a1-an的列表的开头。

在图5g中示出的示例中,为了在虚拟特征a1至an的列表中向前移动、切转、或者跳转,用户可以将虚拟光束450引导至虚拟内容指示符480中的另一虚拟内容按钮,诸如,例如第三虚拟内容按钮483,并且可以例如,按照上面描述的方式来选择第三虚拟内容按钮483。如在图5h中示出的,这可以使得系统在虚拟特征a1-an的列表中向前移动、切转、或者跳转(而不是顺序地滚览(scrollthrough)虚拟特征a1至an的列表)到虚拟特征的列表中与第三虚拟内容按钮483相对应的位置。在该示例中,突出显示第三内容按钮483(并且不再突出显示第一内容按钮481)以向用户提供在与选择的虚拟对象a相关联的虚拟特征a1至an的列表内的位置的视觉指示,并且现在在虚拟显示420上将虚拟特征a9至a12显示给用户。用户可以按照类似的方式来在虚拟特征a1至an的列表中向后移动、或者切转、或者跳转。可以将如上面关于图6a至图6d详细讨论的一组预定义规则应用于检测上面关于图5g至图5h描述的各个输入,使得系统响应于意图的用户输入而采取动作,并且不响应于非意图用户输入而采取动作。

仅仅为了便于讨论和说明,上面已经针对移动和/或滚动在增强和/或虚拟现实环境中显示的虚拟列表、菜单等中所包括的各个虚拟项目和/或特征描述了示例系统和方法。然而,相似的原理可以应用于项目、特征等超出用于显示的可用空间的导航情形,并且还可以应用于缩放、放大和/或缩小、音量控制和其它这样的特征。

图7a和图7b是示例hmd(诸如,例如由图1中的用户穿戴的hmd100)的透视图。图8是包括与第二电子设备通信的第一电子设备的增强现实和/或虚拟现实系统的框图。第一电子设备300可以是例如生成增强和/或虚拟现实环境的hmd,并且第二电子设备302可以是例如包括如上面讨论的陀螺鼠的能力的控制器。

如在图7a和图7b中示出的,示例hmd可以包括耦合至框架120的壳体110,其中包括例如安装在耳机中的扬声器的音频输出设备130耦合至框架120。在图7b中,壳体110的前部110a旋转远离壳体110的基部110b,使得容纳在壳体110中的一些组件可见。显示器140可以安装在壳体110的前部110a的面向内部的一侧上。透镜150可以安装在壳体110中,在前部110a处于与壳体110的基部110b抵靠的关闭位置时介于用户的眼睛与显示器140之间。在一些实施方式中,hmd100可以包括感测系统160,该感测系统160包括各个传感器,诸如,例如音频传感器、图像/光传感器、位置传感器(例如,包括陀螺仪和加速度计的惯性测量单元)等。hmd100还可以包括控制系统170,该控制系统170包括处理器190和用于促进hmd100的操作的各个控制系统设备。

在一些实施方式中,hmd100可以包括用于捕获静止图像和移动图像的相机180。由相机180捕获的图像可以用于帮助追踪用户和/或控制器102的物理位置,和/或可以在透视(passthrough)模式下在显示器140上显示给用户。在一些实施方式中,hmd100可以包括注视追踪设备165,该注视追踪设备165包括用于检测并且追踪用户的眼睛注视的一个或者多个图像传感器165a。在一些实施方式中,hmd100可以被配置来使得将检测到的注视处理为用户输入以被转换成增强现实和/或虚拟现实环境中的对应交互。

如在图8中示出的,第一电子设备300可以包括感测系统370和控制系统380,该感测系统370和控制系统380可以分别与在图7a和图7b中示出的感测系统160和控制系统170相似。感测系统370可以包括:例如,光传感器、音频传感器、图像传感器、距离/接近度传感器、位置传感器、和/或其它传感器和/或传感器的不同组合,包括:例如,定位成检测并且追踪用户的眼睛注视的图像传感器。控制系统380可以包括:例如,电源/暂停控制设备、音频和视频控制设备、光学控制设备、转换控制设备、和/或其它这样的设备和/或设备的不同组合。感测系统370和/或控制系统380可以包括更多或者更少的设备,这取决于具体实施方式,并且可以具有示出的不同物理布置。第一电子设备300还可以包括:与感测系统370和控制系统380通信的处理器390、存储器385、和用于提供第一电子设备300与另一外部设备(诸如,例如,第二电子设备302)之间的通信的通信模块395。

第二电子设备302可以包括用于提供第二电子设备302与另一外部设备(诸如,例如,第一电子设备300)之间的通信的通信模块306。第二电子设备302可以包括感测系统304,该感测系统304包括:诸如包括在例如相机和麦克风中的图像传感器和音频传感器、惯性测量单元、诸如包括在控制器的触敏表面中的触摸传感器、或者智能电话、以及其它这样的传感器和/或传感器的不同组合。处理器309可以与第二电子设备302的感测系统304和控制单元305通信,控制单元305能够访问存储器308并且能够控制第二电子设备302的整体操作。

在图9中示出了根据本文描述的实施方式的,组合增强现实环境和/或虚拟现实环境中的陀螺鼠输入和触摸输入的方法900。

在发起虚拟和/或增强现实体验(框910)之后,可以响应于接收到的指示选择的起始点的用户输入来设置起始点(框920、930)。这可以是例如在图3a、图4a、图5a、图5c、图5e和图5g中所示,系统检测虚拟光束被引导至虚拟显示的特定部分。然后,可以响应于检测到的用户调整输入而移动、滚动、缩放等选择的特征、项目等(框940、950),并且响应于检测到的用户调整输入的终止而将其显示给虚拟环境中的用户(框960、970)。例如,可以如上面关于图3b、图4b、图5b、图5d、图5f和图5h详细讨论的来进行该调整或者移动或者缩放等。该过程可以继续,直到虚拟体验终止(框980)。

图10示出了可以与本文描述的技术一起使用的计算设备1000和移动计算机设备1050的示例。计算设备1000包括:处理器1002、存储器1004、存储设备1006、连接至存储器1004和高速扩展接口1010的高速接口1008、和连接至低速总线1014和存储设备1006的低速接口1012。组件1002、1004、1006、1008、1010、和1012中的每一个利用不同的总线互相连接,并且可以安装在公共主板上或者根据需要以其它的方式安装。处理器1002可以对在计算设备1000内执行的指令进行处理,该指令包括存储在存储器1004中或者存储设备1006上以在外部输入/输出设备(诸如,耦合至高速接口1008的显示器1016)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多种存储器一起使用。同样,可以连接多个计算设备1000,其中每个设备提供必要的操作的部分(例如,作为服务器群、刀片式服务器群组、或者多处理器系统)。

存储器1004储存在计算设备1000内的信息。在一种实施方式中,存储器1004是一个或者多个易失性存储器单元。在另一实施方式中,存储器1004是一个或者多个非易失性存储器单元。存储器1004还可以是另一种形式的计算机可读介质,诸如,磁盘或者光盘。

存储设备1006能够为计算设备1000提供大容量存储。在一种实施方式中,存储设备1006可以是或者可以包含计算机可读介质,诸如,软盘设备、硬盘设备、光盘设备、或者磁带设备、闪速存储器或者其它类似的固态存储器设备、或者设备的阵列(包括存储区域网络或者其它配置的设备)。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,该指令在被执行时执行一个或者多个方法,诸如,上文描述的那些方法。信息载体是计算机或者机器可读介质,诸如,存储器1004、存储设备1006、或者在处理器1002上的存储器。

高速控制器1008管理计算设备1000的带宽密集型操作,而低速控制器1012管理较低的带宽密集型操作。这样的功能分配仅仅是示例性的。在一种实施方式中,高速控制器1008耦合至存储器1004、显示器1016(例如,通过图形处理器或者加速器)和高速扩展端口1010,该高速扩展端口1010可以接受各种扩展卡(未示出)。在实施方式中,低速控制器1012耦合至存储设备1006和低速扩展端口1014。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合至一个或者多个输入/输出设备——诸如,键盘、指示设备、扫描仪、或者例如通过网络适配器耦合至联网设备(诸如,交换机或者路由器)。

如图所示,可以利用多种不同的形式来实现计算设备1000。例如,可以将计算设备1000实现为标准服务器1020、或者多次实现在这样的服务器群组中。还可以将计算设备1000实现为机架服务器系统1024的一部分。另外,计算设备1000可以实现在个人计算机(诸如,膝上型计算机1022)中。替选地,来自计算设备1000的组件可以与移动设备(未示出)(诸如,设备1050)中的其它组件结合。这样的设备中的每一个可以包含计算设备1000和1050中的一个或者多个,并且整个系统可以由彼此通信的多个计算设备1000和1050组成。

除了其它组件之外,计算设备1050包括处理器1052、存储器1064、诸如显示器1054的输入/输出设备、通信接口1066、和收发器1068。设备1050还可以设置有用于提供附加存储的存储设备,诸如,微型驱动器或者其它设备。组件1050、1052、1064、1054、1066、和1068中的每一个都通过使用各种总线互连,并且所述组件中的多个组件可以安装在公共主板上或者根据需要以其它方式安装。

处理器1052可以执行在计算设备1050内的指令,包括存储在存储器1064中的指令。可以将处理器552实现为包括单独的和多个模拟和数字处理器的芯片的芯片集。例如,处理器可以提供对设备1050的其它组件的协调,诸如,用户界面的控制、由设备1050运行的应用、和通过设备1050进行的无线通信。

处理器1052可以通过耦合至显示器1054的控制接口1058和显示接口1056来与用户进行通信。例如,显示器1054可以是tftlcd(薄膜晶体管液晶显示屏)或者oled(有机发光二极管)显示器,或者其它合适的显示技术。显示接口1056可以包括用于驱动显示器1054向用户呈现图形和其它信息的合适的电路系统。控制接口1058可以接收来自用户的命令并且对该命令进行转换以供提交至处理器1052。另外,可以提供外部接口1062来与处理器1052通信,以使得设备1050能够与其它设备进行邻近区域通信。在一些实施方式中,外部接口1062可以提供例如有线通信,或者在其他实施方式中可以提供无线通信,并且还可以使用多个接口。

存储器1064存储在计算设备1050内的信息。可以将存储器1064实现为一个或者多个计算机可读介质、一个或者多个易失性存储器单元、或者一个或者多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器1074并且通过扩展接口1072将扩展存储器1074连接至设备1050,该扩展接口1072可以包括,例如,simm(单线存储器模块)卡接口。这样的扩展存储器1074可以为设备1050提供附加存储空间,或者还可以存储设备1050的应用或者其它信息。具体地,扩展存储器1074可以包括用于执行或者补充上文描述的过程的指令,并且还可以包括安全信息。因此,例如,可以将扩展存储器1074提供为设备1050的安全模块,并且可以用允许安全使用设备1050的指令来对其进行编程。另外,可以经由simm卡与附加信息一起来提供安全应用(诸如,将识别信息通过不可非法侵入的方式放在simm卡上)。

如下面讨论的,存储器可以包括,例如,闪速存储器和/或nvram存储器。在一种实施方式中,计算机程序产品有形地体现为信息载体。计算机程序产品包含指令,该指令在被执行时执行一个或者多个方法,诸如,上文描述的那些方法。信息载体是计算机或者机器可读介质,诸如,存储器1064、扩展存储器1074、或者在处理器1052上的存储器。可以通过例如收发器1068或者外部接口1062来接收该信息载体。

设备1050可以通过通信接口1066来无线地进行通信,若需要,该通信接口1066可以包括数字信号处理电路系统。通信接口1066可以提供在各种模式或者协议下的通信,诸如,gsm语音通话、sms、ems、或者mms短信收发、cdma、tdma、pdc、wcdma、cdma2000、或者gprs等。这样的通信可以,例如,通过射频收发器1068发生。另外,短程通信可以通过使用诸如蓝牙、wifi、或者其它这样的收发器(未示出)而发生。另外,gps(全球定位系统)接收器模块1070可以将附加的与导航或者位置有关的无线数据提供给设备1050,若合适,该无线数据可以供在设备1050上运行的应用使用。

设备1050还可以通过使用音频编解码器1060来进行可听地通信,该音频编解码器1060可以接收来自用户的口述信息,并且将该口述信息转换为可用的数字信息。音频编解码器1060还可以为用户生成可听见的声音,诸如,通过扬声器生成,例如,在设备1050的送受话器中的扬声器。这样的声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括通过在设备1050上操作的应用生成的声音。

如图所示,可以利用多种不同的形式来实现计算设备1050。例如,可以将计算设备1050实现为蜂窝电话1080,还可以将计算设备1050实现为智能电话1082、个人数字助理、或者其它类似的移动设备的一部分。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这样的各个实施方式可以包括:实现在一个或者多个计算机程序中的实施方式,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程系统包括至少一个可编程处理器,至少一个输入设备和至少一个输出设备,该至少一个可编程处理器可以是专用的或者通用的处理器,该至少一个可编程处理器耦合以接收来自存储系统的数据和指令,并且将指令和数据发送至存储系统。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实现这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指代用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、装置、和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指代用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实现此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示设备(例如,crt(阴极光线管)或者lcd(液晶显示器)监视器);以及键盘和指示设备(例如,鼠标或者轨迹球),用户可以通过该键盘和该指示设备来将输入提供给计算机。其它种类的设备还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实现在包括后端组件的计算系统(例如,作为数据服务器)、或者包括中间件组件的计算系统(例如,应用服务器)、或者包括前端组件的计算系统(例如,具有图形用户界面或者web浏览器的用户计算机,用户可以通过该图形用户界面或者该web浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这样的后端组件、中间件组件、或者前端组件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的组件互连。通信网络的示例包括:局域网(“lan”)、广域网(“wan”)、和互联网。

计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

在一些实施方式中,在图10中描绘的计算设备可以包括与虚拟现实(vr头戴式耳机/hmd设备1090)对接的传感器。例如,包括在图10中描绘的计算设备1050或者其它计算设备上的一个或者多个传感器可以向vr头戴式耳机1090提供输入或者通常,向vr空间提供输入。传感器可以包括但不限于:触摸屏、加速度计、陀螺仪、压力传感器、生物识别传感器、温度传感器、湿度传感器、和环境光传感器。计算设备1050可以使用传感器来确定计算设备在vr空间中的绝对位置和/或检测到的旋转,并且然后可以将其用作vr空间的输入。例如,计算设备1050可以作为虚拟对象(诸如,控制器、激光指示器、键盘、武器等)并入vr空间。用户在计算设备/虚拟对象并入vr空间时对计算设备/虚拟对象进行定位可以允许用户将计算设备定位成在vr空间中按照某些方式查看虚拟对象。例如,如果虚拟对象表示激光指示器,则用户可以像计算设备是实际的激光指示器那样操纵计算设备。用户可以左右、上下、绕圈等移动计算设备,并且按照类似的方式使用设备以使用激光指示器。

在一些实施方式中,可以使用包括在计算设备1050上或者连接至计算设备1050的一个或者多个输入设备作为vr空间的输入。输入设备可以包括但不限于:触摸屏、键盘、一个或者多个按钮、触控板、触摸板、指示设备、鼠标、轨迹球、操纵杆、相机、麦克风、具有输入功能的耳机或者耳塞、游戏控制台、或者其它可连接的输入设备。用户在计算设备并入vr空间时与包括在计算设备1050上的输入设备进行交互可以使得特定动作在vr空间中发生。

在一些实施方式中,可以将计算设备1050的触摸屏渲染为vr空间中的触摸板。用户可以与计算设备1050的触摸屏进行交互。例如,在vr头戴式耳机1090中将交互渲染为vr空间中渲染的触摸板上的移动。渲染的移动可以控制vr空间中的虚拟对象。

在一些实施方式中,包括在计算设备1050上的一个或者多个输出设备可以向vr空间中的vr头戴式送受话器1090的用户提供输出和/或反馈。该输出和反馈可以是视觉输出和反馈、触觉输出和反馈、或者音频输出和反馈。输出和/或反馈可以包括但不限于:振动、打开和关闭一个或者多个灯或者闪光灯或者使一个或者多个灯或者闪光灯闪烁和/或闪光、发出警报、播放铃声、播放歌曲、和播放音频文件。输出设备可以包括但不限于:振动马达、振动线圈、压电设备、静电设备、发光二极管(led)、闪光灯、和扬声器。

在一些实施方式中,计算设备1050可以作为计算机生成的3d环境中的另一对象出现。用户与计算设备1050的交互(例如,旋转、摇动、触摸触摸屏、跨触摸屏滑动手指)可以被解释为与vr空间中的对象的交互。在vr空间中的激光指示器的示例中,计算设备1050显示为计算机生成的3d环境中的虚拟激光指示器。当用户操纵计算设备1050时,vr空间中的用户看到激光指示器的移动。用户在计算设备1050上或者vr头戴式送受话器1090上接收与来自vr环境中的计算设备1050的交互的反馈。

在一些实施方式中,计算设备1050可以包括触摸屏。例如,用户可以按照特定方式来与触摸屏进行交互,在该特定方式可以利用vr空间中发生的情况来模拟在触摸屏上发生的情况。例如,用户可以使用捏放类型的运动来缩放显示在触摸屏上的内容捏放类型的。在触摸屏上的这样的捏放类型的运动能够导致vr空间中提供的信息被缩放。在另一示例中,可以将计算设备渲染为计算机生成的3d环境中的虚拟书。在vr空间中,书籍的页可以显示在vr空间中,并且用户的手指跨触摸屏的滑动可以被解释为翻动/翻转虚拟书的页面。随着每个页面被翻动/翻转,除了看到页面内容改变之外,还可以向用户提供音频反馈,诸如,翻动书籍中的页面的声音。

在一些实施方式中,可以将除了计算设备之外的一个或者多个输入设备(例如,鼠标、键盘)渲染在计算机生成的3d环境中。渲染的输入设备(例如,渲染的鼠标、渲染的键盘)可以在vr空间中被渲染时使用来控制vr空间中的对象。

计算设备1000旨在表示各种形式的数字计算机和设备,包括但不限于:膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片式服务器、大型主机、和其它合适的计算机。计算设备1050旨在表示各种形式的移动设备,诸如,个人数字处理、蜂窝电话、智能电话、和其它类似的计算设备。本文所示的组件、它们的连接和关系、以及它们的功能仅仅旨在作为示例,并且不旨在限制本文档中描述的和/或者要求的本发明的实施方式。

已经描述了若干实施例。然而,要理解,在不脱离本说明书的精神和范围的情况下,可以做出各种修改。

另外,在附图中描绘的逻辑流程不要求所示的特定顺序或者相继顺序,以实现期望的结果。另外,可以提供其它步骤或者可以从描述的流程删除步骤,并且可以将其它组件添加至描述的系统或者从描述的系统移除其它组件。因此,其它实施例在所附权利要求书的范围内。

在下面的示例中总结了进一步的实施方式:

示例1:一种方法,包括:在周围环境中操作的头戴式显示设备中生成虚拟环境;响应于从可操作地耦合至所述头戴式显示设备的控制器接收到的选择输入而在所述虚拟环境中显示的虚拟对象的虚拟显示中设置锚点;从所述控制器接收实现第一输入模式的第一输入;响应于所述第一输入而调整与所述虚拟对象的所述虚拟显示相关联的多个虚拟特征的布置,所述虚拟显示的虚拟显示区域小于同时显示所述多个虚拟特征中的所有虚拟特征所需的显示区域;从所述控制器接收实现第二输入模式的第二输入,所述第二输入模式与所述第一输入模式不同;以及基于一组先前定义的规则来确定是忽略所述第二输入还是实现所述第二输入。

示例2:根据示例1所述的方法,响应于从控制器接收到的选择输入而在虚拟对象的虚拟显示中设置锚点包括:检测从所述控制器引导的虚拟光束与所述虚拟显示的一部分的交点;以及响应于所述选择输入而将所述锚点设置在所检测的交点处,所述选择输入包括所述控制器的操纵设备的检测到的激活。

示例3:根据示例1所述的方法,其中,所述第一输入模式是在所述控制器的触摸表面上的触摸输入,并且所述第二输入模式是所述控制器的物理移动,以及其中,所述选择输入是响应于所述控制器的操纵设备的激活而被检测到的。

示例4:根据示例3所述的方法,响应于所述第一输入而调整与所述虚拟对象的所述虚拟显示相关联的多个虚拟特征的布置包括:移览所述多个虚拟特征,包括以下中的一个:在与所述第一输入相对应的方向上顺序地滚览所述多个虚拟特征;或者跳转到所述多个虚拟特征中、与所述第一输入相对应的一个或者多个虚拟特征,所述第一输入与对虚拟内容按钮的选择相对应,所述虚拟内容按钮与所述多个虚拟特征的顺序列表中的设定点相对应;以及在所述虚拟对象的所述虚拟显示上显示所述多个虚拟特征的虚拟特征组合,所显示的虚拟特征组合与在所述移览之前显示的所述多个虚拟特征的虚拟特征组合不同。

示例5:根据示例3或者4所述的方法,响应于从控制器接收到的选择输入而在虚拟对象的虚拟显示中设置锚点包括:检测从所述控制器引导的虚拟光束与位于所述虚拟显示的垂直滚动条中的多个垂直滚动箭头中的一个垂直滚动箭头的交点,或者从所述控制器引导的虚拟光束与位于所述虚拟显示的水平滚动条中的多个水平滚动箭头中的一个水平滚动箭头的交点,或者从所述控制器引导的虚拟光束在所述垂直滚动条的指定区域内的交点,或者从所述控制器引导的虚拟光束在所述水平滚动条的指定区域内的交点;设置与所检测的交点相对应的锚点;以及响应于在所述控制器的所述触摸表面上的触摸输入而滚览与所述虚拟显示相关联的所述多个虚拟特征,所述滚览是在与所述锚点和所述触摸输入相对应的方向上进行的。

示例6:根据示例5所述的方法,滚览所述多个虚拟特征包括:响应于所述触摸输入而顺序地滚览所述多个虚拟特征;在所述控制器的所述触摸表面上的所述触摸输入被维持的同时维持所述滚览;以及在检测到所述控制器的所述触摸表面上的所述触摸的释放时终止所述滚览。

示例7:根据示例5所述的方法,在所述控制器的所述触摸表面上的所述触摸输入是在所述控制器的所述触摸表面上的一系列轻敲输入,滚览所述多个虚拟特征包括:响应于在所述触摸表面上检测到的每个轻敲输入而顺序地滚览所述多个虚拟特征定义的量。

示例8:根据示例3或者4所述的方法,响应于从控制器接收到的选择输入而在虚拟显示中设置锚点包括:检测从所述控制器引导的虚拟光束与所述虚拟显示的顶部部分、所述虚拟显示的底部部分、所述虚拟显示的左部部分、所述虚拟显示的右部部分、位于所述虚拟显示的垂直滚动条中的垂直移动条、或者位于所述虚拟显示的水平滚动条中的水平移动条中的一个的交点,并且响应于在所述控制器的所述触摸表面上的触摸输入而将所述锚点设置在所检测的交点处;响应于在所述触摸表面上的拖动输入而滚览与所述虚拟对象相关联的所述多个虚拟特征,显示在所述虚拟显示上的所述多个虚拟特征在与所述控制器的所述触摸表面上的所述拖动输入的方向相对应的方向上从所述锚点滚动;以及响应于在所述控制器的所述触摸表面上的所述触摸和所述拖动输入的检测到的释放而终止所述滚览。

示例9:根据示例1至示例8中的任一项所述的方法,其中,基于一组先前定义的规则来确定是忽略第二输入还是实现第二输入包括:在控制器的物理移动处于先前定义的范围内时忽略第二输入;以及在控制器的物理移动延伸超出先前定义的范围时实现第二输入。

示例10:根据示例3所述的方法,其中,响应于第一输入而调整与虚拟对象的虚拟显示相关联的多个虚拟特征包括:响应于所述第一输入而在与所述控制器的所述触摸表面上的所述触摸输入相对应的方向上滚览与所述虚拟对象的所述虚拟显示相关联的所述多个虚拟特征,使得响应于所述滚览而显示所述多个虚拟特征的不同虚拟特征组合。

示例11:根据示例10所述的方法,响应于所述第一输入而滚览所述多个虚拟特征还包括:检测所述控制器的所述操纵设备的所述激活的释放;以及响应于所检测的释放而终止所述多个虚拟特征的所述滚览。

示例12:根据示例1所述的方法,其中,所述第一输入模式是所述控制器的物理移动,并且所述第二输入模式是在所述控制器的触摸表面上的触摸输入,并且其中,所述选择输入是响应于所述控制器的操纵设备的激活而被检测到的。

示例13:根据示例12所述的方法,其中,基于一组先前定义的规则来确定是忽略第二输入还是实现第二输入包括:在触摸输入被包含在控制器的触摸表面的先前定义的区域内或者第二输入的幅度小于先前定义的阈值时,忽略第二输入;以及在触摸输入延伸超出控制器的触摸表面的先前定义的区域或者第二输入的幅度大于或者等于先前定义的阈值时实现第二输入。

示例14:根据示例12或者13所述的方法,响应于所述第一输入而调整与所述虚拟对象的所述虚拟显示相关联的多个虚拟特征的布置包括:响应于所述第一输入而在与所述控制器的所述触摸表面上的所述触摸输入相对应的方向上滚览与所述虚拟对象的所述虚拟显示相关联的所述多个虚拟特征,使得响应于所述滚览而显示所述多个虚拟特征的不同虚拟特征组合;检测所述控制器的所述操纵设备的所述激活的释放;以及响应于所检测的释放而终止所述多个虚拟对象的所述滚览。

示例15:一种计算设备,其包括:存储器,该存储器存储可执行指令;以及处理器,所述处理器被配置为执行所述指令以使得所述计算设备:在由用户穿戴并且在周围环境中操作的头戴式电子设备的显示器上显示虚拟环境;响应于检测到从可操作地耦合至所述头戴式电子设备的控制器接收到的选择输入而在显示在所述虚拟环境中的虚拟对象的虚拟显示中设置锚点;从所述控制器接收实现第一输入模式的第一输入;响应于所述第一输入而调整与所述虚拟对象的所述虚拟显示相关联的多个虚拟特征的布置,所述虚拟显示的虚拟显示区域小于同时显示所述多个虚拟特征中的所有虚拟特征所需的显示区域;从所述控制器接收实现第二输入模式的第二输入,所述第二输入模式与所述第一输入模式不同;以及基于一组先前定义的规则来确定是忽略所述第二输入还是响应于所述第二输入而在所述虚拟环境中执行动作。

示例16:根据示例15所述的计算设备,其中,所述第一输入模式是在所述控制器的触摸表面上的触摸输入,并且所述第二输入模式是所述控制器的物理移动,以及其中,在设置所述锚点时,所述指令使得所述计算设备:检测从所述控制器引导的虚拟光束与所述虚拟显示的一部分的交点;以及响应于所述选择输入而将所述锚点设置在所检测的交点处,所述选择输入是响应于所述控制器的操纵设备的检测到的激活而被检测到的。

示例17:根据示例16所述的计算设备,其中,在基于一组先前定义的规则来确定是忽略第二输入还是实现第二输入时,指令使得计算设备:在控制器的物理移动处于先前定义的范围内时忽略第二输入;以及在控制器的物理移动延伸超出先前定义的范围时实现第二输入。

示例18:根据示例16或者17所述的计算设备,其中,在响应于所述第一输入而调整与所述虚拟对象的所述虚拟显示相关联的所述多个虚拟特征时,所述指令使得所述计算设备:响应于所述第一输入而在与所述控制器的所述触摸表面上的所述触摸输入相对应的方向上移览与所述虚拟对象的所述虚拟显示相关联的所述多个虚拟特征,使得响应于所述多个虚拟特征的所述移览而显示所述多个虚拟特征的不同虚拟特征组合。

示例19:根据示例18所述的计算设备,其中,在移览所述多个虚拟特征时,所述指令使得所述计算设备:在与所述控制器的所述触摸表面上的所述触摸输入相对应的方向上顺序地滚览与所述虚拟对象的所述虚拟显示相关联的所述多个虚拟特征;响应于在所述控制器的所述触摸表面上的所述触摸输入的检测到的释放而终止所述滚览;以及在所述虚拟对象的所述虚拟显示上显示所述多个虚拟特征的虚拟特征组合,所显示的虚拟特征组合与在所述滚览之前显示的所述多个虚拟特征的虚拟特征组合不同。

示例20:根据示例18或者19所述的计算设备,其中,在移览所述多个虚拟特征时,所述指令使得所述计算设备:跳转到所述多个虚拟特征中、与所述第一输入相对应的一个或者多个虚拟特征,所述第一输入与对虚拟内容按钮的选择相对应,所述虚拟内容按钮与所述多个虚拟特征的顺序列表中的设定点相对应;以及在所述虚拟对象的所述虚拟显示上显示所述多个虚拟特征的虚拟特征组合,所显示的虚拟特征组合与在所述跳转之前显示的所述多个虚拟特征的虚拟特征组合不同。

示例21:一种包括指令的非暂时性计算机可读介质,该指令在由计算机系统的处理器执行时使得所述计算机系统执行根据示例1至14中的任一项所述的方法。

在另一示例中,提供了一种用于将增强现实(ar)环境和/或虚拟现实(vr)环境中的陀螺鼠输入与触摸表面输入组合的系统,其中,可以响应于陀螺鼠的移动,结合在陀螺鼠的触摸表面上接收到的触摸输入、或者触摸拖动输入来调整虚拟项目和/或特征的虚拟显示。在该示例中,在ar/vr环境中使用陀螺鼠可以允许将触屏功能准确地投射到三维虚拟空间中,从而提供在ar/vr环境中功能和实用性都得到改善的控制器,从而增强用户的体验。

虽然已经如本文描述来图示了所描述的实施方式的某些特征,但是本领域的技术人员现在将想到许多修改、替代、更改以及等效物。因此,要明白,随附权利要求书旨在涵盖所有这样的修改和更改,所有这样的修改和更改都落入实施方式的范围内。应该理解,已经仅仅作为示例而非限制呈现了这些修改和更改,并且可以做出形式和细节上的各种改变。本文所描述的装置和/或方法的任何部分可以按照任何组合来组合,除了相互排斥的组合。本文所描述的实施方式可以包括所描述的不同实施方式的功能、组件和/或特征的各种组合和/或子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1