三维增强现实对象用户界面功能的制作方法

文档序号:18456623发布日期:2019-08-17 01:38阅读:149来源:国知局
三维增强现实对象用户界面功能的制作方法

本专利文件的公开内容的一部分包含受版权保护的材料。该专利文献可以示出和/或描述属于或可能成为所有者的商业外观的内容。版权和商业外观所有者不反对任何人对在专利和商标局专利文件或记录中出现的专利公开内容的传真复制,但在其他方面保留所有版权和商业外观权利。

相关引用的交叉参考

本专利要求以下临时专利申请的优先权:

2017年1月2日提交的美国临时专利申请号为62/441,525、名称为“增强现实基准标记”的专利,其通过引用并入本文。

2017年3月9日提交的美国临时专利申请号为62/469,292、名称为“三维增强现实对象及相关函数”的专利,其通过引用并入本文。

本公开涉及增强和虚拟现实,并且更具体地,涉及与用户界面和增强现实以及虚拟现实环境和对象的交互。



背景技术:

自大约2012年以来,增强和虚拟现实在新闻和技术报道中变得无处不在。然而,在过去的三、四十年里,两者都断断续续地流行了好几年,人们对其兴趣逐渐减弱,但又在几年后重新感兴趣。该技术引起兴奋但未能保持这种兴奋的主要原因是由于其成本过高。

增强现实(ar)是现实世界与计算机系统生成的虚拟元素的混合。这种混合可能在用户感知的视觉、音频或触觉领域中。ar已被证明在广泛的应用中是有用的,包括体育、娱乐、广告、旅游和教育。随着技术的进步,预计它将在那些领域中得到越来越多的采用以及在广泛的其他领域中的采用。

20世纪80年代和90年代的电影和媒体都为虚拟现实技术带来的未来技术革命增添了光彩。但是,使用虚拟现实所必需的系统通常需要花费数千美元。因此,公众从未广泛采用该技术。

即使是现在,在现代智能手机中普遍存在的运动传感器和高质量小屏幕大幅降价的情况下,虚拟现实和增强现实仍然相对不为人知。一个主要的决定性问题仍然是公众对广泛的虚拟现实和增强现实的采用问题。人如何与虚拟现实或增强现实环境互动?在不太遥远的未来,每个人都可以拥有触觉服装和触觉手套,其提供模拟用户所处或体验的虚拟或增强现实环境的物理反馈。但是,这些类型的系统还需要几年的时间。

目前最常见的交互式系统是手持式控制器,如这些系统的问题都在于它们的价格都在数百美元,并且通常,控制器不包括在相关联的耳机或耳机的成本中。并且,既不包括的成本,也不包括使用所需的计算机的成本。结果是,期望不只“看到”虚拟或增强现实的用户必须支付大约一千或几千美元的订单才能享受完整的增强现实或虚拟现实体验。

所需要的是价格低廉但高度精确的系统或设备,该系统或设备可以使用广泛可用的技术来跟踪以便成为增强和虚拟现实设备的控制器或用户界面扩展。基于手机的ar和vr系统(如)通过在其整体软件包中包含一键式遥控器来对此进行尝试。价格低于100美元,这些对一般观众来说肯定更具吸引力,但对大多数公众来说仍然过高。更好、更便宜的技术应该是可能的,并且应该提供高质量的用户体验,从而实现跨多个设备的详细交互。并且,用于增强和虚拟现实环境的详细控制方案应该使用这种技术,而不需要复杂的系统和跟踪器嵌套。

附图说明

图1是用于使用三维对象与增强现实环境交互的系统;

图2是可用于与增强现实环境交互的立方体的侧面组的示例;

图3由图3a-3h组成,是一系列立方体,每个立方体包括可用于与增强现实环境交互的不同元件;

图4是用于与增强现实环境交互的过程的流程图;

图5是响应于增强现实环境的变化来更新三维对象的动态的过程的流程图;

图6是参与计算机视觉检测和跟踪三维对象的计算设备的示例;

图7是计算设备将增强现实环境中的检测到的三维对象替换为渲染的三维对象的示例;

图8是计算设备的屏幕显示,示出了能够围绕三个轴平移和旋转的三维物理对象;

图9是计算设备的屏幕显示,示出了用渲染的三维对象的替身代替物理三维对象;

图10是在增强现实显示中代替三维物理对象的渲染对象的示例,该三维物理对象包含与渲染对象相关联的动态。

在整个说明书中,图中出现的元件被分配了三位数的参考标号,其中最重要的数字是图号,两个最低有效数字是特定于该元件的。可以假定未结合附图描述的元件具有与先前描述的具有相同最低有效数字的参考标号的元件相同的特性和功能。

具体实施方式

装置的描述

参考图1,示出了使用三维对象与增强现实环境交互的系统100。系统100包括计算设备130和三维对象150。该系统可选地包括vr/ar耳机140。可以使用多个计算设备,但是仅一个计算设备是必要的。

计算设备130包括中央处理单元(cpu)131、图形处理单元(gpu)132、输入-输出(i/o)接口133、网络接口134、内部存储器135、存储器136、相机137和显示器138。

cpu131可以执行与用于计算设备130的操作系统相关联的指令以及与适合于启用本文描述的功能的一个或多个应用相关联的指令。cpu131可以是或包括一个或多个微处理器、微控制器、数字信号处理器、专用集成电路(asic)或片上系统(soc)。cpu131可以是专门为视觉、图形或音频数据的操作而设计的处理器,或者可以是通用处理器。虽然被识别为中央处理单元,但cpu131实际上可以是多个处理器,例如多核处理器或通过总线连接的一系列处理器,以增加cpu131的总吞吐量或能力。为了执行这里描述的跟踪,cpu可以全部或部分地是为了实现三维对象跟踪而专门设计的一体化“运动芯片”。

gpu132可以执行适合于启用本文描述的功能的指令。特别地,gpu132可用于与gpu132唯一地适合执行的特定图像相关操作(例如渲染或与对象检测和计算机视觉相关的复杂数学计算)结合使用。gpu132可以是cpu131所属的任何事物。但是,gpu132的区别在于它是设计用于处理视觉数据(特别是矢量和阴影操作),执行更快的存储器操作和访问的专用处理器,并且gpu132能够在渲染的三维环境内执行专门的光照操作。gpu132中的存储器和指令集专门设计用于对图形数据进行操作。以这种方式,gpu132可以特别适合于对图像数据进行操作或者快速且有效地执行本文所述的复杂数学运算。与cpu131类似,gpu132被示为单个图形处理单元,但实际上可以是所谓的多核格式的、或可以通过总线或其他连接来链接的一个或多个图形处理单元,它们可以一起应用于单组或多组处理操作。

i/o接口133可以包括一个或多个通用有线接口(例如,通用串行总线(usb)、高清晰度多媒体接口(hdmi)),用于存储设备(如硬盘驱动器、闪存驱动器或专有存储解决方案)的一个或多个连接器。

i/o接口133可以用于与可选的外部传感器(如附加相机、灯、红外灯或用于对三维对象150执行计算机视觉检测和其他操作过程的其他系统)通信并且指导可选的外部传感器的动作。

网络接口134可以包括射频电路、模拟电路、数字电路、一个或多个天线以及与外部设备进行网络通信所需的其他硬件、固件和软件。网络接口134可以包括有线和无线连接。例如,网络可以包括蜂窝电话网络接口、无线局域网(lan)接口和/或无线个人局域网(pan)接口。蜂窝电话网络接口可使用一个或多个蜂窝数据协议。无线lan接口可使用无线通信协议或其他无线局域网协议。无线pan接口可使用有限范围的无线通信协议,如蓝牙、或一些其他公共或专有无线个人局域网络协议。

网络接口134可以包括一个或多个专用处理器,以执行如使用所选的通信协议与外部设备通信所必需的例如加密/解密、压缩/解压缩和编码/解码等功能。网络接口134可以依赖于cpu131来全部或部分地执行这些功能中的一些或全部。

内部存储器135可以包括非易失性存储器和/或易失性存储器的组合,非易失性存储器和/或易失性存储器包括只读存储器(rom)、静态、动态和/或磁阻随机存取存储器(分别为sram、drm、mram),以及非易失性可写存储器(如闪存)。

内部存储器135可以存储由cpu131或gpu132(或两者一起)执行的软件程序和例程。这些存储的软件程序可以包括操作系统软件。操作系统可以包括支持i/o接口133或网络接口134的功能,例如协议栈、编码/解码、压缩/解压缩和加密/解密。所存储的软件程序可以包括应用程序或“app”,以使计算设备执行本文描述的部分或全部处理和功能。这里使用的词语“内部存储器”和“存储器”明确地排除了包括传播波形和暂态信号的暂态媒体。

存储器136可以是或包括非易失性存储器,例如硬盘驱动器、为长期存储而设计的闪存设备、可写介质和其他专有存储介质,例如为长期存储图像数据而设计的介质。

相机137是能够捕获环境光以在其视野内产生那些对象的图像的电子设备。相机137被示为单个相机,但可以是双镜头或多镜头相机。同样地,词“相机”通常用于描述相机137,但是相机137可以包括红外照明、闪光灯或其他尖光源、红外相机、深度传感器、光传感器或其他能够在相机137的射程内检测三维对象或捕获图像的类似相机的设备。虽然相机137被描述为视觉成像相机,但它实际上可以是或包括适合于实现跟踪的附加或其他功能。例如,激光和/或声音可用于使用如雷达(lidar)和声呐(sonar)之类的技术来执行对象跟踪。虽然这两种技术都不涉及“相机”本身,但两者都可用于增强或完全执行三维空间中的对象跟踪。

显示器138是包含电激活组件的电子设备,电激活组件用于在显示器上形成可见的图像。显示器138可以包括背光显示器(例如lcd)或者可以是本机发光的显示器(例如oled)。显示器138被示为单个显示器,但实际上可以是一个或多个显示器。可以使用其他显示器,例如增强现实光场显示器(将光投射到三维空间或似乎这样做),或其他类型的投影仪(真实和虚拟))。

显示器138可以附有用于将眼睛聚焦在显示器138上的透镜,并且可以作为分屏显示器呈现给观看者的眼睛,特别是在计算设备130是vr/ar耳机140的一部分的情况下。

在一些情况下,一个或多个附加计算设备(如计算设备130)可以通过网络接口134连接,网络接口134可以是有线接口,例如以太网、通用串行总线(usb)或诸如802.11x的无线接口、lte或使附加计算设备能够执行本文所讨论的一些或所有操作其他无线协议。例如,计算设备130的cpu131和gpu132可能没有连接系统(例如,多核处理器或多核处理器组)或gpu组(例如,单个强大的gpu或通过sli或互连的gpu组)那样强大使得连接的计算设备能够更好地执行处理器密集型任务。或者,vr或ar耳机形式的捕获设备(例如相机和相关处理器和内部存储器)或包括显示器和相机的简单的移动设备可以与渲染设备(如台式计算机或更能够执行下面描述的部分或全部功能的其他计算设备)区分开。在一些实施例中,一个或多个附加计算设备可以用于执行更多处理器密集型任务,这些任务通过i/o接口133或网络接口134卸载。

vr/ar耳机140是可选的组件,其可以容纳、封闭、连接或以其他方式与计算设备130相关联。vr/ar耳机140本身可以是连接到更强大的计算设备的计算设备,或vr/ar耳机140可以是用作计算设备130本身执行本文所讨论的所有功能的独立设备。

虽然对于这里描述的功能不是必需的,但是可以使用vr/ar耳机140获得更加拟真的增强现实或虚拟现实体验。当用作增强现实耳机时,vr/ar耳机140可以包括面向外的相机,其通过散布在显示器138上的增强现实对象向佩戴者提供vr/ar耳机140的外部的实时图像。或者,如果不存在vr/ar耳机140,则移动设备或平板电脑或其他手持显示器和相机组合可以用作“门户”,通过该“门户”可以看到增强现实或虚拟现实。尽管在本文中结合“增强现实”进行了一般性讨论,但当使用“增强现实”一词时,应该理解这也包括所谓的“虚拟现实”,“混合现实”以及将任何真实对象与三维拟真环境或体验相结合的其他体验。

三维对象150是放置在世界中的某个位置或由用户保持在特定位置的物理对象。三维对象150具有适合于使用计算机视觉技术进行检测、并且优选地,具有在不同位置(例如,特写、手臂的长度、穿过房间)使用的稳健类型以及当呈现给计算设备130和相机137时,快速检测的特征。

三维对象150优选地是立方体,但是可以采用其他形状。立方体具有使其特别适合这些目的的几个特征。显著地,仅存在六个侧面,但六个侧面中的每个侧面可以是独特的并且彼此相对可区分。例如,基于特定颜色的照明使用或颜色使用,仅需要六种颜色就可以区分。这使得计算机视觉算法能够容易地检测哪个侧面朝向相机137。类似地,计算机可读(或仅仅可辨别)的图案可以应用于立方体的每一侧,而不必占用超过总共六个面。如果面的数量增加,则特定侧面的检测(以及将其与其他侧面或非侧面区分开的复杂性)也增加。此外,随着更多侧面的增加,“侧面”的总表面积减小,从而使得计算机视觉侧检测算法(尤其是在距离相机不同的距离处)更加困难,因为只有那么些独特的图案或颜色包括在较小的侧面上。

类似地,如果使用较少的侧面(例如三角形金字塔),那么计算机视觉一次只可以看到一个侧面,并且当金字塔向任何方向旋转时,计算机无法轻易预测哪一侧正在呈现给相机。因此,不能轻易地检测旋转方向。并且,各个“侧面”中的更多个被拿着三维对象150的个体遮挡,因为它仅有更少的侧面来进行容置。这进一步使计算机视觉检测更加困难。

立方体的另一个好处是它的六个侧面映射很容易理解的人与三维世界的相互作用。具体来说,这些侧面很好地映射到上、下、左、右、前和后。因此,当立方体的面朝向用户拿住时,人对立方体的体验能很好地、虚拟地和实际地对应于他或她对现实世界体验。这使得更容易转换为增强现实或虚拟现实环境。

无论如何,可以使用任何数量的侧面的三维对象。但是,立方体具有独特的属性,使它们更适合某些应用,特别是手持应用。此外,当在此指出“立方体”时,可以替换四个面或更多个面的任何三维对象。

最后,尽管在该应用中主要被描述为无源的,但是三维对象可以包括其自己的计算设备130,计算设备130具有不同水平的功率、复杂性和功能。在一些情况下,三维对象可以包括相机或红外相机、灯、位置传感器和旋转传感器、蓝牙、rfid、wifi和/或用于检测其自身相对于外部空间或设备(例如,计算设备130)的位置并用于将该信息传送到计算设备130的其他系统。在一些情况下,三维对象可以接管其相对于计算设备130或其运行的环境(例如,空间或外部传感器、相机,或灯)的方向、旋转或跟踪其位置的一些或全部功能。

图2是可用于与增强现实环境交互的立方体200的示例性侧面组。图2仅仅是可能的立方体200的示例。如上所述,可以使用其他形状,并且实际上可以在每个面上使用任何类型的计算机可识别图像。或者,如上所述,可以采用照明颜色、每个面上的深度雕刻(用于深度感测系统的检测)、照明形成(例如,特定形状或图案的照明)以及其他检测技术。

立方体200包括六个面201、202、203、204、205和206。为了使计算机视觉算法能够在不同深度起作用(例如靠近相机-在几英寸内;臂长-在20-40英寸内;以及在更远的距离-几英尺内),所选图像具有一些特定的特征。立方体被示出为其面呈展开状以用于指示立方体200的特性。当形成时,立方体200将是立方体的,并且优选地由相对坚固的可压缩材料制成。优选的材料包括泡沫、聚合物、金属和类似地坚固的和弹性的材料。在下面讨论的情况下,其中电子组件结合到立方体200中,它可以由注模塑料、泡沫或其他材料制成,只要它们能够在正常使用期间耐用并保护这些部件。

首先,图像具有相对大规模的组件,这些组件在距离相机一定距离(例如臂的长度或更远)处易于区分。对于面201,这种形状是菱形(或方形,取决于如何拿住)和相关的大的白色条形图。在某些情况下,条形图可以包括版权信息或与立方体相关的其他信息。在面202的情况下,大尺寸形状是由另一个中心部分圆环围绕的中心圆。对于面203,该形状是连接到“右”侧的金字塔顶部的长椭圆形。对于面204,形状是在其中间具有白色三角形的大三角形。对于面205,该形状是其中有两条线穿过它或差不多穿过的八边形。最后,对于面206,大尺寸形状是立方体的三面视图和来自该面的“顶部”的一系列线。应注意,商标和<·>出现在面203和206中。

这些大尺寸形状很容易被计算机视觉技术(1)检测到和(2)在大约臂长(20-40英寸)处被彼此区分。这很重要,因为三维对象(例如立方体200)通常用于在用户手中握住时,大约在臂长处使用。但是,有时用户也可以将设备移得更近。当在手臂的长度处握住时,每个面201-206的复杂细节可能难以被检测到。因此,大尺寸图像被包括在每个面上,以使得计算机视觉技术可以使用它们在那些距离处进行检测并且仍然按需操作。此外,当在近距离处握住时,细节使计算机视觉能够检测精细运动并当在虚拟或增强现实世界中,实际三维对象被替换为虚拟对象时,维持图像在虚拟环境中的对应的稳定性。

但是,立方体200还包括用于在更近的深度通过计算机视觉技术进行检测的特写镜头元件。当立方体200被保持得更靠近相关联的设备时,检测相机可能甚至不能看到每个面上的完整的大尺寸图像,并且如果有没有更多的图像,检测相机可能无法确定哪个面是可见的。对于这些情况,较小的线条和形状散布在立方体200的每个面上。这些可以在每个面201-206中被看到。并且,可以注意到,小线条和形状在面对面上刻意地相对不同。例如,波浪线几乎仅存在于面202中,其中“加号”形状仅存在于面204中。三角形仅存在于面205中,以及半月形状几乎仅存在于面206中。面203最具多样性,但仍然容易与其他面区分开(即使在计算机视觉算法的近距离范围内,特别是当这些算法的搜索仅限于匹配可能正在呈现给相机六个可能面中的一个时)。每个面201-206上的较小的线条和形状在各个面上以各种不同的旋转方向呈现,以便于在各种不同的视角和观看距离处更快地识别那些线和形状。

结果是,在实际任何角度的多个常见照明情况(例如,暗、光)下,至少两个检测距离能够由相对低分辨率的相机检测。这种用于在不同检测深度处使用的包括至少两个(或更多个)尺寸的基准标记并且在相同的基准标记相互覆盖的技术在本文中称为“多层基准标记”。多个多层基准标记的使用使得在增强现实环境中与立方体200(以及包含类似的多层基准标记的其他对象)的交互对于遮挡(例如通过持有者的手或手指)、快速移动而言是鲁棒的,并通过与立方体200的复杂交互提供强跟踪。特别地,通过使用多层基准标记,可以在多个深度(例如,非常靠近观看设备和臂长或穿过桌子上的空间)进行高质量的旋转和位置跟踪。

使用这种多层基准标记的独特之处在于,它具有从相机附近到相机远处的稳定性,并且这种稳定性与仅采用单个检测深度或层的标记明显不同。当用户移动单层基准标记对象远离观察相机时,观察对象(例如,计算设备上的相机)越来越难以检测对象的方向和位置。或者,如果对象是为远距离观看而设计的,当它移近相机时,其方向和位置变得越来越难以跟踪。结果是,在任何一种情况下,对象似乎会移动、颤动或变得不可跟踪。但是,使用多层基准标记,通过在离相机多个距离处保持的对象,可以保持虚拟或增强现实世界中所得到的替换增强现实或虚拟现实对象的跟踪和稳定性。

以多层基准标记在对象上是统一的这种方式在三维对象的多个面上生成这些多层基准标记,这在本领域中已经证明是困难的。传统上,基准标记已经是如单个面上或单个对象上的qr码的符号。这些基准标记通常印在贴纸或纸上并用手置于对象上,此外,这些基准标记通常是单个面。然而,当对象旋转时,每个面上的每个基准标记的对准对于精确跟踪(在多个深度处)和跨面是重要的。如果面排列不整齐(例如,在对象的“完美”三维表示中以与计算机视觉算法所期望的对齐不同的方式对齐),则在虚拟三维场景中增强现实对象的跟踪和稳定性会大幅度降低。可以看到对象在几个不同的附近位置跳过,并且当在一个或多个对准不好的面上时,对象的浮动可能看起来不自然或者(例如)悬浮在一个人的手上。

结果是,这里立方体200的多层基准标记可以不通过贴纸或粘贴图像来创建。替代地,它们可以使用整个对象的注塑成型来创建。优选地,立方体200的“亮”区域从每个面的“暗”区域升高大约2-5毫米。这是通过使用注塑成型来实现的,其中凸起的区域(其可以染成较浅颜色或涂成较浅颜色或通过其他方法变浅)在成型过程中是精准对齐的。以这种方式,每个得到的立方体200是相同的。随后的计算机模型可以这些注塑成型的立方体中的一个为基础。这比使用贴纸、直接在平面上绘画和其他技术要好得多,因为它使每个立方体的基准标记是统一的。因此,每个立方体200的计算机模型也是统一的,且在给定虚拟现实或增强现实场景内,替换立方体的对象的图像稳定性同样是统一的且对于非注塑成型的三维对象没有抖动。

在特定情况下,单个面201-206被全面呈现给相机(及其相关图像呈现给计算设备以进行面识别),或者以使得多个面对于相机可见的方式拿着立方体。如果是前者,则很容易检测哪个面朝向相机,因为它对于相机是完全可见的。在后一种情况下,通常可以确定最前面的面的方向,并且该信息可以与部分可见侧面的局部视图结合使用,以快速做出很好的确定-面201-206哪个是可见的以及它们的方向。

有目的地选择表面着色为白色和黑色或反射颜色和黑色的表面,因为对于计算机视觉技术来说,强对比最容易检测以及对面201-206快速匹配和分类。如果使用类似立方体200的图案的图案,则可以使立方体200的表面(或一些表面-例如白色表面)反射,以使得它们与暗部形成进一步的对比。或者,立方体200中的一些或全部可涂覆有抗反射涂层或材料,以使得反射或环境照明不会干扰计算机视觉和检测和跟踪技术。也可以使用明亮的高对比度颜色,例如荧光色。紫外线(用于紫外线灯和紫外线相机)或夜光涂料可与相应的传感器一起使用。

当通过计算机视觉技术在距观看相机多个距离处观看时,所有前述内容都能够实现立方体200的细粒度定位、方向和旋转跟踪。当靠近时,可以通过在许多照明情况下的计算机视觉技术,通过各种背景以及通过移动和旋转来确定对象的特定位置和方向。当保持在中间距离时,由于所使用的基准标记的多级性质,仍然可以在位置、取向、旋转和其他运动中跟踪对象。通过高水平的跟踪功能,立方体200可以在增强现实场景内被其他的渲染的三维对象替换。与立方体200的交互可以在增强现实环境中转化(例如,在ar头戴式耳机或移动设备上示出),并且具体地,转化为场景内的渲染对象,并将立方体200作为真实世界的替身。

尽管示出为一系列高对比度的多层基准标记,但是可以使用其他类型的标记,如有源标记或由立方体本身进行的内向外跟踪,或者与计算设备130结合使用。

由图3a-3h构成的图3是一系列立方体350a-350h,每个立方体包括可用于与增强现实环境交互的不同元件。

图3a中的立方体350a包括按键352a。按键352a显示为非常大、从立方体350a的外部突出。但是,按键352a可以是立方体350a外部表面下方的小按键、电容按键或仅是可激活的开关。按键352a可能根本不是“按键”,而是可以是立方体350a的内部传感器或压力检测传感器,其使得立方体350a能够检测何时将一定量的压力施加到立方体350a的外部。传感器可以具有足够的粒度,使得其可以检测特别是在立方体350a的单侧上的压力。因此,可以通过在立方体350a内工作的相对简单的处理器(通过由其提供功能)来检测与包括该压力的立方体350a的交互。该信息可以从立方体350a发送到相关联的计算设备130(图1)。

计算设备130可以基于特定应用程序操作来编程,以便以特定方式作出反应。例如,按键352a按压或感测到的压力可以作为用户界面中的“点击”操作。或者,按键352a按压或感测到的压力可以作为游戏或其他三维环境内的武器射击或对象操作(例如,门打开)。可以在立方体350a和相关联的计算设备130(图1)之间无线地(例如,蓝牙或通过wifi或rfid)传输数据。

可以有多个按键352a,每个面上有一个或多个,或者一系列可以接近立方体350a的外部或者在立方体350a的内部的压力传感器。感测到的压力或每个按键可以与立方体350a的特定的面相关联。以这种方式,通过按键352a按压或感测到的压力与特定的面的交互可与特定交互相关联。按压一个面可以启用画笔工具(或用于与工具选择器交互的辅助界面),而与其他面的交互可以用于选择不同颜色或画笔尺寸。如下面更全面地讨论的,立方体本身的平移和旋转可以在颜色或画笔之间交替,或者在其他上下文中,在用户界面内的其他选项之间交替。

按键352a可以根本不是按键,而是可以是检测立方体350a的面的状态的计算机视觉。如果通过施加压力使面充分变形,由于其满足某个压缩或失真阈值,则可以通过计算机视觉算法检测到该变形,并且因此,可以通过在计算设备130(图1)上运行的计算机视觉来注册按键“按压”,而不需要立方体350a内的任何实际按键,并且可能更重要的是,无需并入立方体350a本身的任何电子设备、电池电源或处理能力。该“按键”按压可以在计算设备130上完全操作,同时提供与上面所讨论的实际的物理按键或压力传感器相关的功能非常相似的功能。由于在立方体的面上可见及不可见的细节,计算机视觉技术甚至能够将立方体面上的压缩位置定位到立方体的特定象限或部分。因此,可以在虚拟或增强现实环境中创建并使用用于立方体的每个面的交互式界面,而根本无需依赖于物理按键。

图3b中的立方体350b包括灯352b,并且可能包括几个其他灯(未标记)。灯352b可以用于简单的动作,例如用于计算机视觉应用的对象跟踪,以检测在相机前面的空间中立方体350b的方向或位置。然后,可以渲染替换增强现实场景中的实际的物理的立方体350b的三维虚拟对象。但是,可以采用多个不同颜色的多个灯,以识别相关联的立方体350b的特定侧面或面或边缘。如上所述,以及在下面更全面地讨论,特定面(而不仅仅是存在的对象)的容易地能确定的识别在使得立方体350b能够与计算设备130(图1)一起操作以作为物理对象操作是有用的,该物理对象可用于与在计算设备130的显示器138上呈现的用户界面交互。

灯352b示出为单个灯,位于特定面的中心。然而,灯352b实际上可以是围绕面的特定图案的几个灯。或者,通过在立方体350b的面上使用选择性透明度或通过使用光导,可以以特定形式将灯352b呈现给相机137。特定图案的呈现(如图2中所示的图案)可以检测立方体350b的特定的面,并且还可以检测立方体350b在被保持或放置在桌子上或计算设备130附近时立方体350b的相对位置、方向和整体位置。这使得能够通过立方体350b的平移和旋转进行细粒度控制,以使得通过计算机视觉技术甚至可以检测立方体的小的移动或旋转。可以在每个面(或两个面)上采用不同的照明图案或颜色,以实现对本文所述的交互的跟踪和旋转检测。

灯352b也可以是动态的,以使得立方体350b包含光级检测器或相机以检测房间中的光级。灯352b可以对房间中的照明水平作出反应,以使得如果它非常明亮,则光的亮度增加以补偿,但是如果房间非常暗,则亮度降低。

或者,观测计算设备130(图1)或立方体350b的相机可以检测到立方体350b后面的背景包含特定颜色,这使得计算设备更难以执行计算机视觉操作以检测立方体350b。作为响应,可以指示立方体350b改变灯352b的颜色以更好地从该背景突出(例如,如果背景是黑色和白色,则可以指示立方体350b转换为橙色和蓝色,因为橙色更容易在背景下被检测到)。如果检测到背景非常“杂乱”,则可以指示立方体350b使灯352b选择统一、简单的图案(例如,方格图案)。如果检测到的背景非常简单(例如,一种,如白色的纯色),则可以指示立方体350b呈现更复杂的图案,而且完全不依赖于白色。多色led灯阵列可以用于此目的,并且可以与立方体350b内的、基于自己的指令或来自外部计算设备130(图1)的指令操作的简单处理元件配对。

图3c中的立方体350包括触摸界面352c。触摸界面352c可以是电容式触摸传感器或板、电阻式触摸传感器或板或一些其他类型的触摸界面。触摸界面352c可以是单个点(例如,能够检测是否正在发生触摸),或者可以是具有足够粒度以检测表面(例如立方体350c的整个面)上的触摸位置或正在触摸的位置的表面区域。触摸界面352c可以是所谓的“多点触摸,能够检测多个同时进行的触摸交互。触摸界面352c可以能够区分“硬”触摸(包含有更多压力)和“轻”触摸(包含有更少压力)。触摸界面352c可以覆盖立方体350c的一个或多个面的整个表面。触摸界面352c被示出为仅覆盖立方体350c的一个面的一部分,但是在每个面上,面的子集上或仅在一个面上可以存在触摸界面。触摸界面352c可以由立方体350c内的电池和相关联的处理器供电。

触摸界面352c可以支持与立方体350c的面的交互,如滑动、多指滑动、类似鼠标的交互、类似点击的交互或者沿着立方体350c的一个或多个表面的更复杂的手势。例如,使用触摸界面352c的特定动作可以包括在立方体350c的不同面上执行的一个或多个手势。例如,两个手指(每个手指在不同方向上滑动的,每个手指在立方体的不同面上)可以指示相关联的计算设备执行一个动作,而在另外两个面上滑动可以指示相关联的计算设备执行不同的动作。两个面上的一组滑动或多次滑动或多次点击可以在缩放级别之间切换,而两个不同面上的相同动作可以选择用户界面的某些方面。像多个面上的同时触摸或单个触摸一样简单的动作可以执行一个动作,而在其他面上的同时触摸可以执行另一个动作。

例如,在彼此相对的两个面上同时触摸(或足够检测到的力的同时触摸)可以充当三维环境内的“抓取”动作以选择并“抓取”到虚拟或增强现实对象,以使得它可以被移动或交互。对于立方体350c的用户来说,这种动作将“感觉”非常像抓取对象,例如增强现实环境中的遥控器或扫帚把手或枪柄或剑。在与增强现实环境的交互期间,可能要求用户保持相对的触摸,以便在增强现实环境内进行交互时保持对所选或拾取的对象的“抓取”。例如,在游戏中拿着剑或枪,可能需要在构成一个立方体(或三个面)的一个周长的所有四个面上进行触摸,就像是在现实中一个人可能“握住”这样的武器一样。放下四个面中的一个或两个可以使虚拟武器从人的手上掉下来。或者,尽管在所有四个面或所有三个面上都记录了“触摸”,但是人的抓取释放到一定程度(通过力传感器检测)可以释放武器。

图3d中的立方体350d包括触觉元件352d。触觉元件352d可以是包括小的重量、由线圈围绕的电动马达,当电流通过线圈时,线圈使其能够“振动”,以使得内部的重物围绕马达或中心轴旋转。类似的线性加速触觉马达沿着轴间歇地击打重物以用于模拟“击打”或阻力(更像是“敲击”感觉而不是“隆隆”感觉)。6s是第一种大规模商用设备,其以“触觉(tapic)”引擎的形式结合了线性加速触觉马达。多个触觉元件352d可以用于由立方体350d模拟的不同“感觉”。这只是两个例子。

触觉元件352d可以与在计算设备上示出和生成的增强现实环境一起操作,该计算设备观看立方体350d并用一些增强现实对象替换它以更好地模拟该对象。例如,如果跳动的心脏在观看立方体的计算设备的显示器上可视地替换立方体350d,则触觉元件352d可以产生软“击打”或跳动或振动以模仿相关联的心跳。节奏可以与显示器上给观看者的眼睛显示的节奏匹配。以这种方式,可以增加相关联的人的心脏的沉浸感。人类的心脏不仅显示在观看者所持有的立方体350d的位置,而且可以感觉到立方体在该用户的手中“跳动”。用枪射击或者用剑击打某人可以感觉为由触觉元件352d产生的“击打”。呜呜的虚拟“宠物”可以被感觉为由触觉元件352d生成的振动(例如,虚拟猫呜呜声)。同样,这可以对应于观看立方体350的相关联的计算设备的显示器上呈现的视觉数据(例如,猫的呜呜声)。

类似地,可以通过适当使用触觉元件352d来模拟立方体内的多个虚拟“对象”。例如,多面迷宫已存在多年。这些迷宫通常包含沿着迷宫内的木质走廊运动的钢球,并且用户必须在球运动时,在特定时间将整个迷宫转动特定方向来适当地导航,或者必须重新启动迷宫(例如,球落到重启点)。这样的虚拟迷宫可以在增强现实环境中的计算设备显示器上在视觉上替代立方体350d。当钢球运动通过迷宫时,可以模拟适当的触觉(例如撞击墙壁、通过孔落下或重量分布)。以这种方式,迷宫的特定部分可能感觉更重(拿住球)或者当球撞击一侧或以其他方式在整个迷宫中运动时可能感觉好像被“碰撞”。可以对立方体350d进行这些和类似的触觉动作。

图3e中的立方体350e包括扬声器352e。扬声器352e可以是多个扬声器,每个面一个或多个,或者可以是单个扬声器352e。扬声器可以由立方体350e中的电池供电。扬声器352e可以执行相关联的计算设备的用户所指示如播放音乐或声音一样简单的动作。

但是,声音可以与在与立方体350e相关联的相关联计算设备的显示器上发生的事物同步。例如,如果立方体350e被增强现实的小猫替换,则立方体可以播放“喵喵”声,“呜呜”声或小猫做的出声的其他动作。因此,当观看者看到增强现实或虚拟的小猫的喵喵声时,声音可能来自立方体本身,而不是来自移动设备、vr/ar耳机或附近的计算机扬声器。实际上,在增强现实环境中立方体“被替换”成的任何东西所产生的任何类型的声音可能具有相关联的声音、噪声、音乐等。立方体350e上的扬声器352e可以发出那些声音、噪音或音乐。这再次进一步增加了沉浸感。

图3f中的立方体350f包括温度元件352f。温度元件352f可以是能够通常通过使用低电压来增加或降低其外部温度的设备,以便模拟在相关联的计算设备的显示器上示出的增强现实或虚拟现实对象。例如,如果立方体350f被显示器中的冰块替换,那么使冰块为室温会感觉异常。对于立方体350f来说,触摸时感觉冷是更合适的。因此,温度元件352f可以相应地调节其温度。即使温度元件352f不能达到实际的冷冻温度(如冰块所具有的温度),但显著降低温度也会增加持有虚拟现实或增强现实冰块的体验的沉浸感。细粒度控制可能可行也可能不可行,特别是在低电压时,但不要求细粒度控制用于增加沉浸感。

类似地,如果玩家或人在增强现实或虚拟现实游戏中扮演“巫师”并开始将“火焰”法术施放某个敌人身上,则该立方体可以替代玩家手上的火球或者相关的火焰法术的来源。在这种情况下,火焰法术开始或启动时,从立方体散发出的对玩家的手掌或手指的温暖感会增加该用户的沉浸式体验。涉及触摸界面352c的多触摸或多面动作可以启动火焰法术和立方体350f的加热(如由与软件和温度元件352f交互的相关的计算设备上的软件所指示)。

温度元件352f的这些和许多其他应用使得立方体350f的温度更好地对应于代替立方体350f的在观看计算设备的显示器上显示的视觉图像,这将使得立方体350f的整体增强现实体验对于用户(特别是手拿立方体的人)来说更好。

图3g中的立方体350g包括气囊352g。气囊352g可以是一个气囊或多个气囊,或者实际上可以不是气囊,但可以是一系列电可伸缩和可伸展元件(例如,每个面一个或每个面四个或五个)。类似地,可以在立方体350g的每个面上使用一个气囊或多个气囊。尽管描述为气囊,但也可以使用电磁致动器、杠杆、电子活塞和其他类似的系统。

气囊352g可以由与来自计算设备用于填充或清空气囊(或延伸或收缩电子元件)的指令对应的立方体350g上的电子器件控制,以使立方体350g变形。该变形可以由计算设备控制,以更好地对应于在计算设备上显示的对象的形状。

例如,当用户以真实世界的立方体350g作为手枪握把在增强现实环境中握持虚拟或增强现实手枪时,立方体350g可以通过抽空相对面上的两个气囊并使相邻(也是相对面)面上的气囊膨胀而变形,以使立方体呈现更细长的形状,更像手枪握把。

或者,如果在计算设备显示器上显示虚拟或增强现实心脏,则可以全部使一系列6个气囊352g(每个面一个)膨胀以使立方体更圆。这使得,立方体350g感觉更像是心脏而不像立方体。如上所述,触觉元件352d可以同时产生在更圆的立方体350g中所感受到的心脏“节拍”,以增加虚拟和实际体验的整体相似性。

图3h中的立方体350h包括电极352h。该电极352h被标记为单个电极,但实际上它可以是立方体350h的每个面上的一系列或多个电极或类似的电元件,或者在立方体350h的每个面上具有多个电极。对施加于电极(特别是小电极)的特定电压的研究已经表明,在直接施加到皮肤的特定电压下,与触摸、压力、热或疼痛相关的神经末梢可以以这样的方式受到刺激以通过使所需的神经反应来模仿非常相似的体验,而不实际产生所需的感觉(例如触摸、压力、热、疼痛等)。

因此,小电流可以通过用户的手或者用户手的皮肤,同时拿住立方体352h以通过仅使用小电流来来模拟立方体350h的特定“感觉”。该电流可以通过施加适当的电压来模拟纹理(例如,毛皮、尖峰、冷石或金属等)。因此,电极352h(或多个电极)可用于对立方体350h的持有者模拟广泛的体验。

尽管依次讨论立方体350a-350h中的每一个,但是所讨论的各种元件中的任何元件可以在单个立方体350中彼此组合。因此,触觉元件352d可以与触摸界面352c组合和/或可以与电极352h组合等。每个元件都单独讨论,以便告知其预期用途,但也可以进行组合使用。同样地,每个元件可以设置在立方体的一个或多达所有六个面上,或者组合的形式,如每个面上的触摸界面352c和灯352b,或任何其他排列组合的形式。可通过立方体用于应用程序以与立方体350的持有者交互的这些选项中的每一个可被描述为“动态”。如本文所使用的动态类似于触觉,但是有意地是更广泛的术语,包括上面讨论的对一个或多个元件352a-352h的使用来为立方体350的持有者创建整体动态体验。这样,各种元件352a-352h可以称为“动态元件”。

例如,当由触摸界面352c检测到抓握立方体350并且使用增强现实剑来击打虚拟敌人时,触觉元件352d可以响应于每次击打而产生适当的“砰”或“撞击”感觉。这可以进一步使一个人沉浸在挥动“虚拟”武器中。类似地,每次按下按键352a(或感测到压力)时,扬声器350可以产生与枪击相关的音频反馈,以更好地模拟枪击。当枪快速开火一段时间时,温度元件352f可以加热,以响应快速开火而感觉更像真枪。同样地,气囊352g可以改变立方体350的形状以更好地感觉像手枪握把。尽管这些示例是参考基于游戏的武器进行的,但实际上任何其他选项都是可用的,只要能够通过巧妙地利用一个或多个元件,相关联的元件来模拟或一定程度上模拟特定的增强现实对象。

计算设备和立方体350之间的通信可以使用蓝牙、wifi、近场、rfid、红外或在给定带宽和功耗要求的情况下适当的任何其他通信协议来进行。通常优选低功率替代方案,以便为以实际执行所讨论的功能的任何元件节省能量。

过程的描述

现在参考图4,图4示出了用于与增强现实环境交互的过程的流程图。该流程图具有开始405和结束495,但该过程本质上是循环的,如虚线返回箭头所示。当计算设备在观看和跟踪立方体或其他三维对象时,该过程可以发生多次。

在开始405之后,该过程开始于在410处的三维环境的生成。在计算设备的显示器上生成该环境。三维环境可以完全取代现实(例如,虚拟现实环境)或者可以用“增强”(例如增强现实)来补充现实,或者可以仅包含一个或多个特定元素。这种替换和/或补充采取三维渲染的环境或环境内的对象的形式。因此,例如,虚拟现实中的用户可能在视觉上突然似乎出现在耶路撒冷的圣殿山或意大利科莫湖的岸边,或者在沉浸式游戏中的完全虚构的位置,基于故事的环境中,或其他位置。

增强现实中的用户通常仍然保持其当前位置,其中内置于增强现实头戴式耳机或设备(例如移动电话)中的相机充当进入增强现实世界的“窗口”。在增强现实世界中,用户可以首先看到他或她的当前位置,但是可以添加附加对象、人或其他元素。因此,一个人可以坐在他或她的办公室中,但是当通过增强现实计算设备观看时,仙女可以漂浮在办公室内的墙壁附近,或者解说员可以站在附近的走廊中向增强现实设备的用户进行解说。

增强现实通常会尝试合并真实和非真实,以尽可能正常显示,但更多类似卡通或类似游戏的体验也是可能的。为此,更先进的增强和虚拟现实系统依赖于激光雷达、红外相机和扫描仪以及其他类似技术来物理地映射当前环境的三维特征。以这种方式,可以确定空间的精确尺寸和形状,并且可以更精确地整合任何增强现实的对象、人或其他元素。例如,图像可以代替实际的墙壁而没有“转弯”或似乎悬挂在半空中。当人在家具后面时,可以适当地呈现,使得视角看起来没有被违反。这些功能和其他功能是可能的,这取决于渲染三维环境的相关计算设备的鲁棒性。

在这种情况下,现有技术中的大多数增强现实或虚拟现实环境主要(如果不是特定地)依赖于视觉。一些更复杂的系统还包含能够通过耳机本身或外部跟踪器跟踪的控制器。通过这种方式,例如等系统可以跟踪用户手中的控制器。这些控制器上有按键,可以实现一些基础的交互。然而,例如,系统的跟踪跟踪一个独特颜色的单个球发射的光(因此多个球可被同时跟踪)。正因为它们是圆形的,每个“球”都没有侧面、上面或下面。可以跟踪它们的位置,但不跟踪方向。

同样,控制器包含按键和围绕保持者的手的外部圆环,外部圆环可发出可跟踪的红外光。以这种方式,可以跟踪保持者的手的位置和方向。然而,该跟踪的功能需要外部(或几个)相机来跟踪那些手持控制器的运动。

相反,使用这里描述的立方体的下一步是将立方体(或其他三维对象)呈现给计算设备的相机420。在最常见的情况下,该相机将是移动设备(例如)上的相机,其被用作“门户”,通过该“门户”体验增强现实环境。相机没有等复杂系统的装备。相反,它仅仅是大多数人已经拥有的设备,且该设备不包括用于检测特定红外标记的专用硬件或其他专用元件。

同样地,尽管上面描述的三维对象能够结合可以增加沉浸式体验的多个元素,但是它可以像具有六个独特基准标记的立方体一样简单。只具有两个或三个独特基准标记的对象可能就足够了。如本文所用,短语“独特基准标记”明确地不包括作为基准标记集使用的多个单个灯、红外线或其他。在对本专利的理解中,整个控制器,例如利用一系列灯的实际上是一个基准标记。如果没有处于已知位置的几个灯(通常还有更多),计算机视觉技术就无法知道控制器的位置、取向或相对位置。因此,上的单个灯不是基准标记-它是一个灯。多个灯一起构成单一的独特基准标记(如本专利中所使用的该短语)。

换句话说,短语“独特基准标记”是指本身就是完整的单个标记,可用于将控制器或三维对象的一个面或一个整个边(不是单个点)与另一个面或边区分。另外,可以使用独特基准标记本身来确定带有基准标记的对象的位置。如本申请中所看到的,一种方法是创建一个每边都带有一个独特基准标记的六边形立方体。和其他类似的ar和vr控制器依赖于控制器上红外灯的已知配置。虽然准确,但这些灯中的每一个都不是“完整的”,因为单个灯不足以将控制器的一个面或一个边与另一个面或一个边区分。在一组中,它们可以共同用于导出方向和位置信息,但即使只有两个灯,单独一个也不能定义任何面或边。

独特面(每个面包括独特基准标记)的使用是特别重要的,因为它降低了体验包含“控制器”的沉浸式虚拟或增强现实所需的总投资,并且能够实现在没有更复杂的vr和ar耳机或系统和控制器的情况下无法获得的额外功能。

尽管这里讨论的是多层独特基准标记(其在三维对象的面上呈黑白高对比度图像的形式),但在一些情况下,其他计算机检测技术可用于三维对象的位置、旋转和方向跟踪的某些方面。例如,独特基准标记可以是边或角检测技术,例如具有独特颜色的三维对象的每个边或角。每个角上一个、特定设置的独特颜色的组合可用于确定与那些边相关联的特定面,并确定方向(例如,橙色角在立方体的右下方,且紫色角位于左上方,因此,立方体处于基于检测到的角颜色的大小的这个方向和这个距离)。

同样地,颜色或标记可以是被动的或主动的,包括涂料、反射材料等,或者依赖于只有在某些方向和/或图案和/或颜色才从三维对象的表面逸出的光或室内光。例如,独特多层基准标记可以仅是白色和黑色,但是白色可以通过光穿过三维对象外部产生。可选地或另外地,光可以是彩色编码的,以使得每个面是独特的彩色光,但是每个面或角上的图案可以是相同的。或者,图案在每个面或角上可以是不同的,但颜色可以是相同的。

类似地,可以至少部分地使用其他技术来检测三维对象的位置、方向和旋转。那些技术包括外部跟踪三维对象(例如,该对象包括用于跟踪其自身位置的标记检测器和相机和与外部设备相关联的通信能力)、基于光的检测,使用多个外部相机同时检测多个或几个侧面。运动和旋转和重力传感器可以包括在三维对象本身中以跟踪或增强对三维对象的跟踪。

接下来,计算设备的相机在430处识别三维对象,同时开始跟踪位置、取向和运动。在这个阶段,不仅三维对象被识别为要被跟踪的对象,而且特定的侧面、面或基准标记(及其取向、上或下或左或右)被计算设备识别。取向是重要的,因为相关联的软件也知道,如果用户在一个方向上旋转该对象,则该面将处于随后被呈现给计算设备的相机的过程中并且该面可以使得相关联的虚拟或增强现实渲染对象作出相应的反应。在430处,追踪、位置、方向和运动(包括旋转)开始由软件结合相机跟踪。如上所述,相机可以用于执行该跟踪,但是对象可以自我跟踪并向相关联的计算设备报告其位置、方向和运动。或者,对象和计算设备可以执行跟踪中涉及的一些或全部过程。

现在,三维对象(例如立方体)可以与显示器上显示的虚拟现实环境或增强现实的用户界面的某个方面相关联。这种关联可以简单到“你”(计算设备的用户)是在计算设备上显示的虚拟或增强现实环境中的三维对象。或者,三维对象可以是武器、枪、球、地图、指南针或其他类型的对象的替身。或者,三维对象可以与特定菜单、操作、音量改变设置、用户的“视图”或增强现实环境的视角、虚拟或增强现实书籍的页面以及虚拟或增强现实环境或对象的其他类似方面相关联。

该关联可以自动进行。例如,用户可以加载特定游戏、应用程序或体验。在加载时,游戏、应用程序或体验可以开始使用计算设备的相机。游戏、应用程序或体验可能期望看到立方体或其他三维对象。因此,它可以连续扫描相机框架内可能是预期的三维对象的对象。一旦找到,软件可以自动将三维对象与用户界面的特定方面相关联。

例如,对象可以变成星形战斗机,漂浮在空间中,并且该对象的运动可以使星形战斗机以类似的方式运动,从而镜像用户对对象的动作。向前滚动对象可能会使星形战斗机向下飞行或增加速度。向后滚动对象可能会导致星际战斗机上升或减速。

在其他情况下,可以手动选择关联(例如,通过与计算设备的显示器上的菜单交互),或者可以通过与三维对象本身的交互来启用关联。例如,以特定方式点击、挤压或移动对象(例如,在空中拼写“z”)可以使对象控制界面内的“缩放”功能或控制相关应用程序的音量,或者选择应用程序内的画笔。动作和/或移动可以由应用程序本身预先确定,或者可以是用户可编程的。以这种方式,对象可以充当“鼠标”或用作任何数量的应用程序的一些其他交互元素。例如,点击和扭转(围绕y轴旋转)可以使对象用作(并且在视觉上出现在相关应用程序的显示中)音量旋钮。当它向右转时,音量可能会增大。当向左旋转时,音量可能会减小,和一个标准的音量旋钮差不多,自始至终,用户实际上仅仅拿住具有包括不同基准标记的六个面的立方体。

一旦在440处将三维对象与特定用户界面元素相关联,就可以在450处检测对象的运动。该运动基本上可以是任何形式。例如,平移运动可以以绕轴旋转、绕多轴旋转、向任一侧或向上或向下的方式“远离”用户(或显示器或相机)或朝向用户。运动可以是快速的或者可以是缓慢的(并且可以被检测并且可能是重要的,这取决于与三维对象相关联的增强现实的对象或功能)。

该运动也可以是动态的,例如当对象被抛向空中、用户之间或目标时。由于使用简单的计算机视觉技术能够在多个深度跟踪的三维对象(例如,多层基准标记),因此可以在投掷之前在靠近用户的距离处可靠地跟踪对象,并且在投掷之后可以进一步远离用户。在某些情况下,可以使用多个三维对象作为完成投掷或传递对象的游戏的一部分。

由于通常的对象跟踪已经存在一段时间,因此用于本申请的最相关的运动是涉及跟踪三维对象的特定单个面或多个面的那些运动。最常见的是,它将绕一个或多个轴旋转。但是,它也可能是跟踪当前哪个面正在被压缩、点击,或者哪个面在特定用户的手(或其它地方)中握住。例如,检测到面x是可见的,并且假设三维对象被握在右手中,面y可能最可能被保持为最接近用户的手的皮肤。当与对象的交互发生在虚拟或增强现实环境中时,该信息可用于提供该面或最接近该面的动态信息(例如,加热或击打等)。

检测到的运动可以用于更新用户界面和/或三维对象本身460。具体地,关联的三维对象与用户界面440的步骤可以用作识别用户界面方面的初步步骤,自动地或作为选择性动作,其将是460处的用户界面和/或三维对象的更新的主题。因此,例如,可以在440处选择音量交互,在这种情况下,在450处检测到的运动可以用于更新音量。或者,如果颜色选择器在440处与三维对象相关联,则在450处检测到的三维对象的旋转可导致所使用的涂料的颜色改变(例如,用于由用户使用和/或由增强现实或虚拟现实环境内的三维对象表示的画笔)。如果在440处将三维对象与虚拟现实或增强现实游戏中的化身或赛车或太空飞船相关联,则在450处检测到的运动(例如向前旋转)可以使得该增强现实或虚拟现实对象增加速度或降低速度或跳跃或执行其他动作。

在判断步骤465,通过相关联的计算设备跟踪三维物理对象的运动来确定特定的运动是否结束。这可以通过三维对象通过动作(例如,点击或滑动或类似动作)取消选择或完成选择进行,或者可以通过超时(例如,经过4秒而不改变,然后是特定动作或选择用户界面元素)进行。如果特定的运动未完成(在465处为“否”),则该过程继续在450处检测运动。

如果特定的运动结束(在465处为“是”),则该过程继续在判断步骤475处确定是否完成了整体交互。这里,作为计算设备上的软件操作的应用程序、游戏或其他虚拟或增强现实环境可以检查整个过程是否完成。这可能很简单,例如游戏结束或用户不再在迷宫等中导航。但是,它也可能是复杂的,例如用户已经在类似涂料的应用程序中取消了对画笔刷工具的选择,但尚未退出应用程序。如果是这种情况(在475处为“否”),则计算设备可以在440处将三维对象与用户界面的某个其他方面相关联,并且该过程可以再次开始。例如,用户已经取消选择了对画笔刷的选择,但现在已经选择了喷漆工具。整个过程尚未完成,但最初跟踪的特定交互已经结束。

如果交互已经结束(在475处为“是”),则计算设备可以在判断步骤485确定整个过程是否结束。在该步骤,可以简单地关闭软件,或者收起移动设备或其他计算设备。如果是这样(在485处为“是”),则在结束点495处完成该过程。如果不是,(在485处为“否”),那么三维对象可能因遮挡到相机而丢失,可能已经移出视野或者可能已经变得不可用。这个过程可能会继续在430处识别对象和它的位置,且这个过程可能会从那里继续。

图5是响应于增强现实环境的变化来更新三维对象的动态的过程的流程图。该流程图具有开始505和结束595,但是如所指示的,该过程本质上也是循环的。当计算设备正在观看和跟踪立方体或其他三维对象时,该过程可以发生多次。

该过程开始于在步骤510渲染如虚拟现实或增强现实环境的三维环境(或对象)。这在上面讨论。渲染设备可以是计算设备,如vr/ar耳机、移动设备、平板电脑等。

在步骤520,计算设备可以以三维对象呈现并且可以照此识别它。如上所述,对象可以包括一个或多个基准标记,灯或使其能够被识别的其他方面。为产生三维对象的动态,该对象不一定需要具有多个基准标记,但也可以具有多个基准标记。

然后,在步骤530,三维对象可以与三维环境对象相关联。因此,在虚拟或增强现实中,对象可以自动地或通过用户动作/选择与对象相关联。此时,在计算设备的显示器上观看的实际的真实三维对象可以在该显示器上由增强现实或虚拟现实物体(例如,心脏、星际战斗机、个人头像、枪支等)代替。在增强现实环境中,现实的其余部分将继续被正常显示,但是与立方体或其他三维对象相比,对象(例如,心脏)将似乎被握在用户的手中。

计算设备可以与三维对象通信(例如,通过蓝牙或其他方式),该三维对象包含参考图3所讨论的能够产生动态的一个或多个元素。在540处,增强现实心脏可以开始在计算设备的显示器上“跳动”。同时,计算设备可以指示触觉元件352d开始“跳动”或操作,以便模拟与显示器上显示的节奏相匹配的心脏跳动。更进一步,可以指示温度元件352f稍微升高三维对象的温度以更好地模拟人的心脏。最后,可以指示气囊352g使所有的气囊充气以感觉更“圆”,以便当握在用户的手中时感觉更像人的心脏。

在550处,三维对象的动态如按540处的指示更新。如上所述,实际上可以一起采用动态的任何组合来为用户产生不同的感觉或触觉,特别是拿着三维对象的用户。

如果期望任何附加的动态(在判断步骤555处为“是”)(例如,心脏以戏剧性的方式停止跳动以示出心脏骤停),则可以在540处从在计算设备上操作的软件接收指令并且可在550处再次更新对象动态。

如果不更新其他动态(在555处为“否”),则该过程可以在595结束,直到期望对象动态的下一次循环。

图6是参与计算机视觉检测和跟踪三维对象650的计算设备630的示例。计算设备630被示为移动设备的背面或增强现实或虚拟现实耳机的正面。计算设备630包括捕获计算设备630前面的图像的相机637。

计算设备630前面的那些对象之一是三维对象650。三维对象可以是六面立方体,其在每个面上包括独特基准标记,以使得除了位置以外,其取向可以由相机637跟踪。

图7是计算设备730将增强现实环境中的检测到的三维对象650(图6)替换为渲染的三维对象750(例如人)的示例。图7与图6相同,除了指出计算设备730正在用渲染的三维对象750替换渲染环境中的图6的三维对象650此处不再重复相关元素的描述。渲染的三维对象750可以在与三维对象650完全相同的位置和取向上被渲染并且,如下所述,渲染的三维对象750可以以与三维对象650相同的方式运动。

图8是计算设备830的屏幕显示838,示出了能够绕三个轴旋转的三维物理对象850。由相机737检测到的三维物理对象850可以出现在显示器838上。因为对象850在每个面上具有独特基准标记,所以可以检测其方向并且通常一次看到其多个边。可以仅使用图像相机737(例如rgb,黑白或紫外线)来跟踪旋转和方向。

图9是计算设备930的屏幕显示938,示出了渲染的三维对象950的替换物以代替物理三维对象850。这里,显示器938上的渲染的三维对象950替换由相机737捕获的实际的三维对象850。显示器938可以呈现其中放置有所渲染的三维对象950的虚拟环境或现实。并且,可以跟踪旋转以及在此描述的其他功能。

图10是在计算机设备1030的增强现实显示器1038中用渲染对象1050’替换三维物理对象1050的示例,该三维物理对象1050包含与渲染对象1050’相关联的动态。

如上所述,动态可以是由各种元件352a-352h(图3)生成的任何数量的事物或一组事物。示出为渲染的三维对象1050’的心脏的动态可以包括心跳、热量、基于形成气囊的形状的立方体的圆度。结果是,真实世界三维物理对象1050可以以与在显示器1038上呈现的三维对象1050’外观类似的方式“感觉”。可以更新动态以对应于对象或提供与显示器1038上显示的环境的其他交互的反馈。

结论

在整个说明书中,所示的实施例和示例应被视为示例,而不是对所公开或要求保护的装置和过程的限制。尽管这里给出的许多示例涉及方法动作或系统元件的特定组合,但是应该理解,这些动作和那些元件可以以其他方式组合以实现相同的目标。关于流程图,可以采取更多的和更少的步骤,并且可以组合或进一步细化所示的步骤以实现本文描述的方法。仅结合一个实施例讨论的动作、元件和特征不旨在从其他实施例中的类似角色中排除。

如本文所用,“多个”意指两个或更多个。如这里所使用的,“一组”项目可以包括一个或多个这样的项目。如在此使用的,无论在书面描述还是在权利要求中,术语“包括”、“其中包括”、“携带”、“具有”、“包含”、“涉及”等应被理解为是开放的,即表示包括但不限于。只有过渡短语“由...组成”和“基本上由...组成”分别是关于权利要求的封闭或半封闭的过渡短语。在权利要求中使用诸如“第一”、“第二”、“第三”等的序数术语来修改权利要求元素本身并不意味着一个权利要求元素优先于另一个或时间的任何优先级、优先权或顺序、执行方法的行为的顺序,但仅用作标签以将具有特定名称的一个权利要求元素与具有相同名称的另一个元素(但是用于使用序数术语)区分,以区分权利要求元素。如本文所用,“和/或”意指所列出的项目是替代方案,但是替代方案还包括所列项目的任何组合。

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