CN111771180A - 增强现实环境中对象的混合放置 - Google Patents
增强现实环境中对象的混合放置 Download PDFInfo
- Publication number
- CN111771180A CN111771180A CN201980015616.7A CN201980015616A CN111771180A CN 111771180 A CN111771180 A CN 111771180A CN 201980015616 A CN201980015616 A CN 201980015616A CN 111771180 A CN111771180 A CN 111771180A
- Authority
- CN
- China
- Prior art keywords
- environment
- tracking mode
- plane
- region
- area
- 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.)
- Granted
Links
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 54
- 230000015654 memory Effects 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 4
- 230000003416 augmentation Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 21
- 230000003993 interaction Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 238000009877 rendering Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 244000268528 Platanus occidentalis Species 0.000 description 1
- 241000270666 Testudines Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
在一般方面,一种方法可以包括接收定义包括物理环境的表示的增强现实(AR)环境的数据,以及在区域跟踪模式和平面跟踪模式之间改变AR环境内的AR对象的跟踪。
Description
相关申请
本申请要求于2018年10月8日提交的美国临时申请No.62/742,772的优先权和权益,其全部内容通过引用合并于此。
技术领域
本文档总体上涉及在增强现实(AR)环境中渲染计算机生成的对象。更具体地,本文档涉及在AR环境中的对象(例如,AR对象)的放置、操纵(例如,提升、移动等)的方法。
背景技术
在媒体和其他内容的基于计算机的消费的情况下,向用户(查看者、参与者等)提供沉浸式体验变得越来越普遍。一个领域涉及在诸如智能电话或平板电脑的设备上呈现虚拟现实(VR)和/或增强现实(AR)环境。在AR环境中,人们可以观看至少呈现物理环境(例如,物理空间的视频或实时图像)的方面和VR(例如,叠加在视频或图像上的虚拟对象)的方面两者以提供AR体验的屏幕。
发明内容
本文档描述了用于显示增强现实的***和方法,其中用户可以在物理空间的视图中放置和操纵虚拟的(例如,计算机生成的)对象。在一般方面,一种方法可以包括:接收定义包括物理环境的表示的增强现实(AR)环境的数据,以及在区域跟踪模式和平面跟踪模式之间改变(例如,修改)AR环境内的AR对象的跟踪。
在附图和以下描述中阐述一种或多种实施方式的细节。根据说明书和附图以及根据权利要求书,其他特征将显而易见。
附图说明
图1A是示例物理空间的第三人称视角,其中用户正在通过显示器体验增强现实(AR)环境。
图1B图示基于在平面跟踪模式下的平面被放置在图1中所示的AR环境内的AR对象。
图1C图示基于区域跟踪模式中的增强区域被放置在图1A中所示的AR环境内的AR对象。
图2A和图2B图示在维持真实世界规模的同时从区域跟踪模式到平面跟踪模式的转变的示例。
图3A和图3B图示在维持屏幕大小的同时从区域跟踪模式到平面跟踪模式的转变的示例。
图4是图示根据示例实施方式的***的框图。
图5至图8图示用于执行本文描述的过程中的至少一些过程的方法。
图9示出可以被用于实现本文描述的技术的计算机设备和移动计算机设备的示例。
具体实施方式
本文描述的***和方法涉及基于与真实世界对象相关联的平面(例如,平坦的表面)和/或作为与真实世界对象相关联的二维区域(例如,框区域)的增强区域的增强现实(AR)对象在AR环境内的放置。可以使用平面追踪模式来执行基于平面的AR环境内的AR对象的放置,并且可以使用区域追踪模式来执行基于增强区域的AR环境内的AR对象的放置。当未检测到增强区域时(例如,由于缺少图像数据、由于没有能力标识对象),AR对象在AR环境中的放置可以基于平面(使用平面跟踪模式),或者当未检测到平面时(例如,由于计算资源不足和/或视角太平坦,由于未检测到平坦的对象),该放置可以基于增强区域(使用区域跟踪模式)。将平面跟踪模式和区域跟踪模式的组合用于AR对象的放置的使用可以被称为混合放置。
本文描述的混合放置概念可以在以下情况中使用,即,未检测到平面(例如,与真实世界对象表面相关联的平面)或平面(例如,水平面、垂直平面)在AR环境中不存在。当检测到增强区域并且没有关于AR对象在AR环境内的深度的信息时,本文描述的混合放置概念可以用于将AR对象放置在AR环境内。本文描述的概念可以消除放置AR对象的延迟(例如,时延),可以允许利用有限的深度信息放置AR对象,可以允许放置各种AR对象等等。可以将AR对象放置在设备的相机视图内的任何位置,并且可以预期AR对象会粘贴(例如,被维持,被保持)在其(在视觉上)放置的位置,而无需有关深度(例如,三维深度)的信息。本文所述的混合放置概念可以被用于选择跟踪模式以实现这些优点。
尽管本文在AR对象的放置方面描述了许多示例,但是AR对象的放置可以包括AR对象的初始放置、跟踪、移动等。在一些实施方式中,可以使用拖动、和/或点击放置等来执行初始放置。平面跟踪模式、区域跟踪模式和/或其他跟踪模式可以统称为跟踪模式。
在一些实施方式中,AR环境可以是混合现实环境,其包括虚拟对象和物理对象(例如,物理或真实世界内的虚拟对象(例如,流传输到设备显示器中)的混合。AR环境可以显示在诸如头戴式显示器(HMD)、移动设备、膝上型计算机、和/或AR眼镜等的设备的显示器内。AR环境可以是用户可以在其中显示的AR环境内的物理空间中放置并且与虚拟对象进行交互(例如,操纵、提升、移动、与其交互等)的环境(例如,物理对象和/或物理环境与覆盖在物理对象和/或环境上的虚拟对象的混合)。在一些实施方式中,这样的虚拟对象可以包括贴纸、人物、精灵、动画、三维(3D)渲染等等。
在一些实施方式中,当使用平面跟踪模式时,AR环境内的平面可以表示(例如,近似)真实世界对象的表面。该平面可以是与AR环境内的真实世界对象的表面相关联的三维平面(具有深度(例如,具有与X、Y和Z方向相关联的部分以及深度参数))。例如,平面的深度可以由一个或多个参数来描述。在一些实施方式中,增强区域可以是没有三维深度的二维区域。在一些实施方式中,增强区域可以表示(例如,近似)由AR环境内的真实世界对象占据的空间(例如,二维空间、轮廓)。真实世界对象可以是AR环境内显示的物理对象。
图1A是示例物理空间100的第三人称视角,其中用户正在通过HMD 11的显示器10体验AR环境102。AR环境102可以由AR应用120生成并通过HMD 11或其他设备显示给用户。AR环境102包括被***的AR对象104(例如,内容),其被显示在物理空间100的图像上方(可以使用附接到HMD 11的直通(例如,外置)相机在显示器内显示)。在该示例中,AR对象104是在AR环境102中的花108的表示108A附近的桌子106的表示106A上的海龟。
尽管利用HMD 11图示该实施方式,但是其他类型的设备也可以与HMD 11结合使用或代替HMD 11使用,诸如移动电话、和/或膝上型计算机等。在这样的实施方式中,用户可以握持设备并且可以通过与设备相关联(例如,包括在设备中)的显示器来查看AR环境。
可以基于使用平面跟踪模式的平面和/或使用区域跟踪模式的增强区域将AR对象104放置在AR环境102中。平面跟踪模式在图1B中被图示,并且区域跟踪模式在图1C中被图示。
图1B图示基于与桌子106A相关联的平面A将AR对象104放置在AR环境102内。在图1B中利用虚线示出平面A,但是通常在显示器10内对于用户来说是不可见的。具体地,平面A表示桌子106A的顶部的三维表面,并且AR对象104被布置在平面A上。可以确定AR对象104的深度,并且可以使用AR对象104的深度将AR对象104放置在平面A上。平面A在AR环境内还具有三维深度。在一些实施方式中,平面A可以由每个具有XYZ位置(和深度)的点的集合表示。
当用户在物理空间100内移动时,AR环境102和其中的虚拟对象基于平面跟踪模式以相应的方式移动。换句话说,基于用户在物理空间100中的移动,AR对象104和平面A在AR环境102内移动。AR对象104和平面A可以基于与AR对象104和平面A相关联的深度信息移动并放置在AR环境102内。
例如,如果用户远离物理空间100中的桌子106移动,则AR对象104可以通过在更加远离的显示器10(例如,在用户的屏幕内)中所示的AR环境102具有外观。该渲染可以基于与AR对象104和平面A相关联的深度信息。
图1C图示基于与花108A相关联的增强区域B将AR对象104放置在AR环境102内。在图1B中利用虚线示出增强区域B,但是通常在显示器10内对于用户是不可见的。具体地,增强区域B表示与花108A相关联的二维表面(没有深度),并且AR对象104被布置在增强区域B附近。AR对象104的深度可以被近似并且可以使用AR对象104的近似深度和增强区域B的位置将AR对象104放置在AR环境102内。在一些实施方式中,增强区域B可以由每个具有XY位置(并且没有深度信息)的点的集合表示。
当用户在物理空间100内移动时,AR环境102和其中的虚拟对象基于区域跟踪模式以相应的方式移动。可以基于与AR对象104相关联的基于增强区域B的大小的近似深度信息,将AR对象104和增强区域B移动并放置在AR环境102内。换句话说,AR环境102内的AR对象104的深度(例如,近似深度)可以基于增强区域B的大小。
例如,如果用户远离物理空间100中的花108移动,则AR对象104可以通过更加远离的显示器10中示出的AR环境102具有外观(例如,在用户的屏幕内)。该渲染可以基于花108A(和相关联的增强区域B)的大小的减小和基于花108A(和相关联的增强区域B)的减小的大小的、与AR对象104相关联的近似增加的深度。
在一些实施方式中,AR对象104的放置可以基于平面跟踪模式(在第一时间段内),并且然后切换到区域跟踪模式(在第二时间段内)。例如,AR对象104的初始放置可以基于在平面跟踪模式下的平面A。在基于平面跟踪模式被初始地放置(和跟踪)之后,跟踪可以切换到区域跟踪模式,并且AR对象104的移动可以基于使用区域跟踪模式的增强区域B。
在一些实施方式中,AR对象104的放置可以基于区域跟踪模式(在第一时间段内),并且然后切换到平面跟踪模式(在第二时间段内)。例如,AR对象104的初始放置可以基于区域跟踪模式下的增强区域B。在基于区域跟踪模式被初始地放置(和跟踪)之后,跟踪可以被切换到平面跟踪模式,并且AR对象104的移动可以基于使用平面跟踪模式的平面A。
在一些实施方式中,AR对象104的放置可以基于平面跟踪模式(图1B)和区域跟踪模式(图1C)的组合。例如,AR对象104的放置可以基于平面A和增强区域B的组合。
在一些实施方式中,跟踪可以包括标识与真实世界对象相关联的平面或与真实世界对象相关联的增强区域,并且可以使用该平面或增强区域的坐标(例如,XYZ坐标和/或深度信息)作为放置AR对象的锚点或基准。例如,区域跟踪模式可以包括标识与真实世界对象106A相关联的增强区域B,并且可以使用增强区域B的XY坐标作为用于AR对象104的放置的锚点或基准。作为另一示例,平面跟踪模式可以包括标识与真实世界对象108A相关联的平面B,并且可以使用XYZ坐标和平面B的深度作为用于AR对象104放置的锚点或基准。
在一些实施方式中,放置可以基于使用平面追踪模式(图1B)和区域追踪模式(图1C)的AR对象104的放置的比较。例如,可以使用平面跟踪模式来计算AR对象104的放置,以及可以使用区域跟踪模式来计算AR对象104的放置,并且导致AR对象104的放置更加靠近目标阈值(例如,目标大小、目标位置、目标深度)的模式可以被选择。
在一些实施方式中,可以通过明确的用户选择(经由用户界面、和/或手势等)来触发在平面跟踪模式和区域跟踪模式之间的切换。例如,用户可以在第一时间(或在第一时间段)明确地选择用于放置AR对象104的平面跟踪模式。然后,用户可以在第二时间(或在第二时间段)明确地选择用于放置AR对象104的区域跟踪模式。
在一些实施方式中,可以通过用户交互(经由用户界面、手势等)来触发在平面跟踪模式和区域跟踪模式之间的切换。在一些实施方式中,用户可以响应于AR环境102内的交互(例如,移动,选择)来触发模式的切换。例如,可以响应于用户在AR环境102内移动AR对象104来触发切换模式。作为具体示例,可以基于用于放置AR对象的平面跟踪模式,在第一时间(或在第一时间段)将AR对象104放置在AR环境102内。响应于用户移动AR对象104,在第二时间(或第二时间段)(例如,在第一时间之后),区域跟踪模式可以用于AR对象104的放置。在一些实施方式中,可以在AR对象104的移动结束时(例如,在AR对象104的移动结束之后,在AR对象104的移动结束时,响应于AR对象104的移动结束)选择区域跟踪模式。
在一些实施方式中,可以基于满足一个或多个阈值条件来执行在平面跟踪模式和区域跟踪模式之间的切换。在一些实施方式中,如果基于对AR环境102及其中放置的AR对象的监视而满足阈值条件,则可以执行跟踪模式之间的切换。
在一些实施方式中,当从平面跟踪模式切换到区域跟踪模式时,可以在区域跟踪模式内使用来自平面跟踪模式的深度信息。例如,如果使用平面跟踪模式将AR对象104放置在AR环境102内,则可以确定AR环境102内的AR对象104的深度。当切换到区域跟踪模式时,AR对象104的深度(来自于平面跟踪模式)可以被用于AR对象104的初始放置。
因为没有针对区域跟踪模式确定深度信息,所以当从区域跟踪模式切换到平面跟踪模式时,解决深度差异。换句话说,当从区域跟踪模式切换到平面跟踪模式时,区域跟踪模式内的近似深度(也可以称为近似区域深度)被转变为平面跟踪模式的所计算出的(例如,准确的)深度(也可以称为平面深度)。当从区域跟踪模式切换到平面跟踪模式时,(例如,维持)世界规模(例如,真实世界的规模或大小)可以被保存或屏幕大小(例如,显示器10(例如,屏幕)上的对象大小)可以被保存。
如果在从区域跟踪模式切换到平面跟踪模式时保存世界规模,则将区域跟踪模式下的AR对象104的近似深度改变为平面跟踪模式下的AR对象104的平面深度。这可以通过改变显示器10(例如,屏幕)内的AR对象104的大小,同时维持真实世界(例如,如在AR环境102内所表示的物理世界100)的规模来完成。换句话说,可以增加或减小AR对象104的大小(或规模)以从近似深度转变到平面深度,同时维持真实世界的规模。
在图2A和图2B中图示在维持真实世界规模的同时从区域跟踪模式到平面跟踪模式的示例转变。图2A图示在区域跟踪模式下的跟踪。图2B图示当切换到平面跟踪模式时AR对象104的减小的大小。在图2A和图2B之间真实世界规模被保存。
作为示例,考虑检测到平面A,但是用户打算将AR对象104放置在花108A上的情况。平面A和增强区域B两者都可以被检测到,但是使用两者的放置最初可以近似相同。可以使用平面A——其在一些情况下可能更稳定——来放置AR对象104(使用平面跟踪模式)。如果花108A或相机(用户角度)充分地移动,则视差可以用于确定使用平面A和增强区域B的放置不同。在这种情况下,可以确定用户将AR对象104放置在花108A上的意图。可以将跟踪模式改变为区域跟踪模式,并使用增强区域B。
如果在从区域跟踪模式切换到平面跟踪模式时保存屏幕大小,则将区域跟踪模式下的AR对象104的近似深度改变为平面跟踪模式下的AR对象104的平面深度,同时维持在显示器10(例如,屏幕)内的AR对象104的规模(或大小)。换句话说,可以在从近似深度到平面深度的转变期间维持AR对象104的大小(或规模),而真实世界的规模(或大小)改变。
在图3A和图3B中图示在维持AR对象104的屏幕大小的同时从区域跟踪模式到平面跟踪模式的示例转变。图3A图示在区域跟踪模式下的跟踪。图3B图示当在切换到平面跟踪模式时真实世界的改变的大小同时在图3A和图3B之间AR对象104的规模被维持。
作为示例,如果用户试图将AR对象104放置在尚未被检测到的表面(例如,诸如桌子的表面的平面)上,则可以使用区域跟踪模式和默认深度初始地放置AR对象104。当检测到平面A并且使用增强区域B和平面A的放置是一致的时,可以使用平面跟踪模式将AR对象104移动到平面A上。该方法可以维持AR对象104的屏幕大小或者AR对象104可以以用户难以察觉的方式调整大小。
在一些实施方式中,可以改变屏幕和真实世界的规模,使得AR对象104可以在真实世界内具有指定大小。例如,屏幕大小和真实世界的规模两者都可以被改变,使得AR对象104在真实世界的规模内具有指定规模(例如,大小)。
在一些实施方式中,本文关于AR对象104描述的概念可以应用于各种AR对象,包括可以在视觉上看起来像放置在水平表面上的AR对象,诸如具有脚、轮子、和/或腿等的AR对象(也可以称为基于地面的AR对象)。在一些实施方式中,AR对象104可以包括可以放置在其他地方的AR对象(例如,非基于地面的AR对象),诸如飞机、气球、和/或2.5D对象(例如,诸如3D AR环境内的文本或贴纸的平坦对象)等等。
AR对象(例如,AR对象104)的初始放置可以使用多种方法来执行。例如,在一些实施方式中,AR对象(例如,基于地面的AR对象,非基于地面的AR对象)可以初始地放置在地板或其他水平面上。在这样的实施方式中,可以使用平面跟踪模式初始地放置AR对象。在一些实施方式中,如果使用平面跟踪模式未检测到平面,则可以定义默认平面。
在一些实施方式中,可以定义默认值,使得不使用区域跟踪模式来初始地放置AR对象。在一些实施方式中,可以定义默认值,使得可以在区域跟踪模式或平面跟踪模式中放置(例如,初始地放置)多种不同类型的AR对象当中的某种类型的AR对象中的AR对象。在一些实施方式中,默认情况下,可以使用区域跟踪模式放置非基于地面的AR对象。
在一些实施方式中,可以使用区域跟踪模式来执行非基于地面的AR对象的AR对象的初始放置。在一些实施方式中,区域跟踪模式可以用作AR对象的初始放置的默认值。在一些实施方式中,可以使用AR环境内的默认深度指配初始使用区域跟踪模式放置的AR对象。
在一些实施方式中,可以响应于AR对象的拖动来改变跟踪模式。在一些实施方式中,在拖动期间,如果将AR对象拖动到平面上方,则可以将AR对象定位在平面上。在一些实施方式中,可以基于屏幕位置(例如,用户的手指屏幕位置)在最后计算的(例如,已知的)深度处定位AR对象。
在一些实施方式中,响应于AR对象的拖动被释放,如果AR对象当前在平面上方,则可以将AR对象放置在平面上(使用平面跟踪模式)。在一些实施方式中,可以在区域跟踪模式下请求增强区域(例如,跟踪框)。如果确定与真实世界对象相关联的增强区域,则可以使用增强区域数据和使用区域跟踪模式最后计算的(例如,已知的)深度来放置AR对象。在一些实施方式中,如果使用区域跟踪模式放置AR对象失败(例如,如果增强区域离开屏幕,如果增强区域丢失),则可以将AR对象放置在AR对象的最后的3D世界位置处。
在一些实施方式中,可以使用平面跟踪模式相对于默认平面放置AR对象。在一些实施方式中,在检测到平面之后,AR对象可以从默认平面移动到检测到的平面的相同的X、Z坐标处。
在一些实施方式中,可以在跟踪模式之间的转变期间维持3D AR对象的真实世界规模。在一些实施方式中,可以在跟踪模式之间的转变期间维持2.5D AR对象的屏幕大小规模。
在一些实施方式中,AR环境102作为(占据用户视场的全部或者基本上全部并且经由HMD 104被显示给用户的单个图像或一对立体图像(经由显示器10)被提供给用户。在一些实施方式中,通过将AR对象104显示/投射在占据用户视场的至少一部分的至少部分透明的组合器上,来向用户提供AR环境102。例如,HMD 11的部分可以是透明的,并且当佩戴HMD11时,用户可以能够透过那些部分看到物理空间100。
图4是图示根据示例实施方式的***400的框图。***400可以被配置成为***400的用户生成增强现实(AR)环境。在一些实施方式中,***400包括计算设备402、头戴式显示设备(HMD)404或其他显示设备(诸如计算设备402的显示器)和AR内容源406。还示出网络408,计算设备402可以通过该网络与AR内容源406进行通信。可以使用诸如移动电话的显示设备代替HMD 404。
计算设备402可以包括存储器410、处理器组件412、通信模块414、传感器***416和显示设备418。存储器410可以包括AR应用420、跟踪选择模块421、AR内容422、区域跟踪模块423、图像缓冲器424、平面跟踪模块425和图像分析器426。计算设备402还可以包括各种用户输入组件(未示出),诸如使用无线通信协议与计算设备402通信的控制器。在一些实施方式中,计算设备402是可以被配置成经由HMD 404和/或显示设备418向用户提供或输出AR内容的移动设备(例如,智能电话)。例如,在一些实施方式中,计算设备402和HMD 404(或其他显示装置)可以经由有线连接(例如,通用串行总线(USB)电缆)或经由无线通信协议(例如,任何WiFi协议、任何蓝牙协议、Zigbee等)通信。在一些实施方式中,计算设备402可以是HMD 404的组件,并且可以被包含在HMD 404的壳体内。
在一些实施方式中,AR应用420可以使用传感器***416来确定用户在物理空间内的位置和定向和/或识别物理空间内的特征或对象。
AR应用420可以经由HMD和/或诸如显示设备418、扬声器和/或其他输出设备的计算设备402的一个或多个输出设备向用户呈现AR内容或向用户提供AR内容。在一些实施方式中,AR应用420包括存储在存储器410中的指令,该指令在由处理器组件412执行时,使处理器组件412执行本文所述的操作。例如,AR应用420可以基于例如AR内容(例如,AR对象),诸如AR内容422和/或从AR内容源406接收的AR内容,来生成AR环境并将其呈现给用户。AR内容422可以包括可以在HMD 404中的用户视野的一部分上显示的诸如图像或视频的内容。AR环境还可以包括物理(真实世界)环境和物理(真实世界)实体的至少一部分。例如,可以生成阴影,使得内容更好地适合用户所位于的物理空间。内容可以包括覆盖物理空间各个部分的对象。内容可以渲染为平坦的图像或三维(3D)对象。3D对象可以包括表示为多边形网格的一个或多个对象。多边形网格可以与各种表面纹理(诸如颜色和图像)相关联。
AR应用420可以基于AR内容422使用图像缓冲器424和图像分析器426来生成用于经由HMD 404显示的图像。例如,可以将相机组件432捕获的一个或多个图像存储在图像缓冲器424。在一些实施方式中,图像缓冲器424是存储器410的被配置成存储一个或多个图像的区域。在一些实施方式中,计算设备402将由相机组件432捕获的图像作为纹理存储在图像缓冲器424内。可替代地或另外,图像缓冲器还可以包括与处理器组件412集成在一起的存储器位置,诸如GPU上的专用的随机存取存储器(RAM)。
图像分析器426可以确定图像的各种属性,诸如可以在其上定位内容的对象或平面(例如,一个表面平面或多个平面)的位置。图像分析器426可以包括区域分析器427,该区域分析器427被配置成确定与对象相关联的增强区域(例如,图1A中所示的增强区域B)。图像分析器426可以包括被配置成确定平面(例如,图1A中所示的平面A)的平面分析器429。这样的表面平面在本文中可以被称为参考表面。在一些实施方式中,给定的表面平面(参考表面)可以是对应于地面、地板、书桌、桌子或可以在其上放置诸如要被***的内容的对象的另一表面的基本水平的平面。
AR应用420可以确定***AR内容的位置,诸如AR对象(贴纸、人物、精灵等)。例如,AR应用可以提示用户标识用于***内容的位置,并且然后可以接收指示该内容在屏幕上的位置的用户输入。在一些实施方式中,用户可以在被提示的情况下指示用于放置AR内容的位置。AR应用420可以基于该用户输入来确定***的内容的位置。例如,要***的内容的位置可以是用户指示的位置。在一些实施方式中,通过将用户指示的位置映射到与图像中的诸如台面、桌面、地板或地面的表面相对应的平面(例如,通过在用户指示的位置的下方由图像分析器426所标识的平面上找到位置)来确定位置。还可以基于为相机组件捕获的先前图像中的内容确定的位置来确定位置(例如,AR应用可以使内容跨图像中捕获的物理空间内标识的表面而移动)。
跟踪选择模块421可以被配置成确定用于跟踪的模式。跟踪选择模块421可以被配置成使用一个或多个阈值条件或触发器(例如,移动触发器)来确定用于跟踪的模式。
跟踪选择模块421可以被配置成使用区域跟踪模块423触发使用区域跟踪模式的跟踪,或者使用平面跟踪模块425触发使用平面跟踪模式的跟踪。
跟踪选择模块421可以被配置成当在跟踪模式之间转变或切换时,确定应维持真实世界规模或者屏幕大小。跟踪选择模块421可以被配置成当在跟踪模式之间转变或切换时确定AR对象的深度。
在一些实施方式中,图像分析器426可以包括存储在存储器410中的指令,当由处理器组件412执行时,该指令使处理器组件412执行本文所述的操作以生成图像或系列图像,该图像或系列图像被显示给用户(例如,经由HMD 404)。
AR应用420可以基于从相机组件432、IMU 434和/或传感器***416的其他组件接收的输入来更新AR环境。例如,IMU 434可以检测计算设备402和/或HMD 404的运动、移动和加速度。IMU 434可以包括各种不同类型的传感器,例如,加速度计、陀螺仪、磁力计和其他此类传感器。可以基于IMU 434中包括的传感器提供的数据来检测和跟踪HMD 404的位置和定向。检测到的HMD 404的位置和方向可以允许***检测并跟踪用户在物理空间内的位置和定向。基于检测到的位置和定向,AR应用420可以更新AR环境以反映用户在环境中的定向和/或位置改变。
尽管在图4中将计算设备402和HMD 404示为单独的设备,在一些实施方式中,计算设备402可以包括HMD 404(或其他显示设备,诸如移动电话)。在一些实施方式中,计算设备402经由电缆与HMD 404通信,如图4中所示。例如,计算设备402可以向HMD 404发送视频信号和/或音频信号以供用户显示,并且HMD 404可以向计算设备402发送运动、位置和/或定向信息。
AR内容源406可以生成并输出AR内容,该AR内容可以经由网络408被分发或发送到一个或多个计算设备,诸如计算设备402。在示例实施方式中,AR内容包括三个维场景和/或图像。另外,AR内容可以包括流式传输或分发到一个或多个计算设备的音频/视频信号。AR内容还可以包括在计算设备402上运行以生成3D场景、音频信号和/或视频信号的AR应用。
存储器410可以包括一个或多个非暂时性计算机可读存储介质。存储器410可以存储可用于为用户生成AR环境的指令和数据。
处理器组件412包括能够执行诸如由存储器410存储的指令的指令以执行与生成AR环境相关联的各种任务的一个或多个设备。例如,处理器组件412可以包括中央处理单元(CPU)和/或图形处理器单元(GPU)。例如,如果存在GPU,则一些图像/视频渲染任务——诸如显示AR对象、显示提升AR对象的方面(诸如显示牵绳)、生成阴影或遮蔽表示AR对象的阴影的多边形等——可以从CPU卸载到GPU。
通信模块414包括用于与诸如AR内容源406的其他计算设备通信的一个或多个设备。通信模块114可以经由诸如网络408的无线或有线网络进行通信。
传感器***416可以包括各种传感器,诸如相机组件432。传感器***416的实施方式还可以包括其他传感器,包括例如惯性运动单元(IMU)434、光传感器、音频传感器、图像传感器、距离和/或接近传感器、诸如电容性传感器的接触传感器、计时器和/或其他传感器和/或传感器的不同组合。
IMU 434检测计算设备402和/或HMD 404的运动、移动和/或加速度。IMU 434可以包括各种不同类型的传感器,例如,加速度计、陀螺仪、磁力计和其他此类传感器。可以基于IMU 434中包括的传感器提供的数据来检测和跟踪HMD 404的位置和定向。检测到的HMD404的位置和定向可以允许***检测并跟踪用户的注视方向和头部运动,或计算设备402的移动。
相机组件432捕获计算设备402周围的物理空间的图像和/或视频。相机组件432可以包括一个或多个相机。相机组件432还可以包括红外相机。
网络408可以是互联网、局域网(LAN)、无线局域网(WLAN)和/或任何其他网络。例如,计算设备402可以经由网络接收音频/视频信号,其可以在说明性示例实施方式中作为AR内容的一部分被提供。
图5至图8图示用于执行本文所描述的过程中的至少一些的方法。可以使用本文描述的任何硬件和/或软件来执行该方法。可以在计算机可读介质中实现任何方法。
图5图示一种方法,该方法包括由电子设备从例如相机组件、IMU和/或电子设备的传感器***的另一组件接收定义包括物理空间的表示的增强现实(AR)环境的数据(框510)。该方法还包括,例如,借助于分析例如增强现实环境的一个或多个图像的图像分析仪,标识表示物理环境内的第一真实世界对象的至少一部分的平面或表示物理环境内的第二真实世界对象的至少一部分的增强区域中的至少一个(框520)。该方法可以包括(例如,通过用户输入或交互)接收将AR对象放置在AR环境内的指令(框530),并且响应于接收到指令,基于使用平面跟踪模式的平面或基于使用区域跟踪模式的增强区域将AR对象放置在AR环境中。
图6图示一种方法,该方法包括接收定义包括物理环境的表示的增强现实(AR)环境的数据(框610)并且在区域跟踪模式和平面跟踪模式之间改变对AR环境内的AR对象的跟踪(框620)。区域跟踪模式可以包括基于表示物理环境内的第一真实世界对象的二维区域来跟踪AR环境内的AR对象的深度。平面跟踪模式可以包括基于表示物理环境内的第二真实世界对象的平面来跟踪AR环境内的AR对象的深度。
图7图示一种方法,该方法包括:由电子设备接收定义包括物理环境的表示的增强现实(AR)环境的数据(框710),以及标识表示物理环境内的第一真实世界对象的增强区域(框720),其中增强区域是二维区域。该方法可以包括基于增强区域将AR对象放置在AR环境内(框730)以及标识表示物理环境内的第二真实世界对象的平面(框740)。该方法可以进一步包括基于平面将AR对象放置在AR环境中。
图8图示一种方法,该方法包括:接收定义包括物理环境的表示的增强现实(AR)环境的数据(框810)以及标识表示物理环境内的第一真实世界对象的平面(框820)。该方法可以包括基于在平面跟踪模式下的平面将AR对象放置在AR环境内(框830),以及标识表示在物理环境内第二真实世界对象的增强区域,其中该增强区域是二维区域(框840)。响应于接收到指令,在区域跟踪模式下基于增强区域将AR对象放置在AR环境中(框850)。
图9示出可以与这里描述的技术一起使用的计算机设备和移动计算机设备的示例。图9示出与本文描述的技术一起使用的通用计算设备1000和通用移动计算设备1050的示例。计算设备1000旨在代表各种形式的数字计算机和设备,包括但不限于膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备1050旨在代表各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。此处所示的组件,它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实施方式。
计算设备1000包括处理器1002、存储器1004、存储设备1006、连接到存储器1004和高速扩展端口1010的高速接口1008以及连接到低速总线1014和存储设备1006的低速接口1012。处理器1002可以是基于半导体的处理器。存储器1004可以是基于半导体的存储器。部件1002、1004、1006、1009、1010和1012中的每一个都使用各种总线互连,并且可以安装在通用主板上或视情况以其他方式安装。处理器1002可以处理用于在计算设备1000内执行的指令,包括存储在存储器1004或存储设备1006中的指令,以在诸如耦合到高速接口1009的显示器1016的外部输入/输出设备上显示GUI的图形信息。在其他实现方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器类型。而且,可以连接多个计算设备1000,每个设备提供必要操作的部分(例如,作为服务器组,刀片服务器组或多处理器***)。
存储器1004将信息存储在计算设备1000内。在一个实现方式中,存储器1004是一个或多个易失性存储器单元。在另一实现方式中,存储器1004是一个或多个非易失性存储器单元。存储器1004还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备1006能够为计算设备1000提供大容量存储。在一个实现方式中,存储设备1006可以是或包含计算机可读介质,诸如软盘设备,硬盘设备,光盘设备,或磁带设备,闪存或其他类似的固态存储器设备或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。该计算机程序产品还可以包含在被执行时执行诸如上述的一种或多种方法的指令。信息载体是计算机或机器可读介质,诸如存储器1004、存储设备1006或处理器1002上的存储器。
高速控制器1009管理计算设备1000的带宽密集型操作,而低速控制器1012管理较低带宽密集型操作。这种功能分配仅是示例性的。在一个实现方式中,高速控制器1009耦合到存储器1004、显示器1016(例如,通过图形处理器或加速器)以及耦合到高速扩展端口1010,其可以接受各种扩展卡(未示出)。在该实现方式中,低速控制器1012耦合到存储设备1006和低速扩展端口1014。包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或联网设备,诸如交换机或路由器。
计算设备1000可以以多种不同的形式实现,如图所示。例如,它可以被实现为标准服务器1020,或者多次被实现在这样的服务器组中。它也可以实现为机架服务器***1024的一部分。此外,它还可以实现在诸如膝上型计算机1022之类的个人计算机中。或者,来自计算设备1000的部件可以与例如设备1050的移动设备中的其他部件(未示出)组合。这些设备中的每一个可以包含计算设备1000、1050中的一个或多个,并且整个***可以由彼此通信的多个计算设备1000、1050组成。
计算设备1050包括处理器1052、存储器1064、诸如显示器1054的输入/输出设备、通信接口1066和收发器1069以及其他部件。设备1050还可被提供有存储设备,例如微驱动器或其他设备,以提供附加的存储。部件1050、1052、1064、1054、1066和1069中的每一个都使用各种总线互连,并且其中一些部件可以安装在通用主板上,也可以采用其他合适的方式安装。
处理器1052可以执行计算设备1050内的指令,包括存储在存储器1064中的指令。处理器可以被实现为包括分离的以及多个模拟和数字处理器的芯片的芯片组。处理器可以提供例如设备1050的其他部件的协调,诸如用户界面的控制,设备1050运行的应用以及通过设备1050的无线通信。
处理器1052可以通过控制接口1059和耦合到显示器1054的显示器接口1056与用户通信。显示器1054可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他合适的显示技术。显示器接口1056可以包括用于驱动显示器1054向用户呈现图形和其他信息的适当电路。控制接口1059可以从用户接收命令并且将其转换以提交给处理器1052。另外,可以提供与处理器1052通信的外部接口1062,以便实现设备1050与其他设备的近距离通信。外部接口1062可以例如在一些实现方式中提供用于有线通信,或者在其他实现方式中提供用于无线通信,并且也可以使用多个接口。
存储器1064在计算设备1050内存储信息。存储器1064可以被实现为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器1074,并通过扩展接口1072将其连接到设备1050,扩展接口1072可以包括例如SIMM(单列直插存储器模块)卡接口。这样的扩展存储器1074可以为设备1050提供额外的存储空间,或者也可以为设备1050存储应用或其他信息。具体地,扩展存储器1074可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器1074可以被提供为设备1050的安全模块,并且可以用允许安全使用设备1050的指令来编程。此外,可以经由SIMM卡以及附加信息来提供安全应用,诸如以不可入侵的方式在SIMM卡上放置标识信息。
存储器可以包括例如闪存和/或NVRAM存储器,如下所述。在一个实现方式中,计算机程序产品有形地体现在信息载体中。该计算机程序产品包含在执行时执行诸如上述的一种或多种方法的指令。信息载体是计算机或机器可读介质,例如存储器1064、扩展存储器1074或处理器1052上的存储器,可以例如通过收发器1069或外部接口1062接收。
设备1050可以通过通信接口1066进行无线通信,该通信接口在必要时可以包括数字信号处理电路。通信接口1066可以提供各种模式或协议下的通信,诸如GSM语音呼叫、SMS、EMS或MMS消息收发、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等。这样的通信可以例如通过射频收发器1069发生。此外,可以进行短距离通信,诸如使用蓝牙、Wi-Fi或其他这样的收发器(未示出)。此外,GPS(全球定位***)接收器模块1070可以向设备1050提供其他与导航和位置相关的无线数据,设备1050上运行的应用可以适当地使用这些数据。
设备1050还可以使用音频编解码器1060在听觉上进行通信,音频编解码器1060可以从用户接收语音信息并将其转换为可用的数字信息。音频编解码器1060同样可以诸如通过扬声器为用户生成可听的声音,扬声器例如在设备1050的手机中。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备1050上运行的应用生成的声音。
如图所示,可以以多种不同形式来实现计算设备1050。例如,它可以被实现为蜂窝电话1080。它也可以被实现为智能电话1092、个人数字助理或其他类似的移动设备的一部分。
用户可以使用跟踪的控制器1094与计算设备进行交互。在一些实施方式中,控制器1094可以跟踪用户的身体的运动,诸如手、脚、头和/或躯干的运动,并生成对应于跟踪的运动的输入。输入可以在一个或多个维度的运动上(诸如在三个维度上)对应于该运动。例如,被跟踪的控制器可以是用于VR应用的物理控制器,该物理控制器与VR应用中的一个或多个虚拟控制器相关联。作为另一个示例,控制器1094可以包括数据手套。
这里描述的***和技术的各种实现可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现方式可以包括在一个或多个计算机程序中的实现,该程序可以在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用的或通用的,其耦合以从中接收数据和指令,以及传输数据以及向存储***,至少一个输入设备和至少一个输出设备的指令。
这些计算机程序(也称为程序,软件,软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实施。如本文所使用的,术语“机器可读介质”是指用于以下目的的任何计算机程序产品,装置和/或设备(例如磁盘,光盘、存储器、可编程逻辑设备(PLD)):将机器指令和/或数据提供给可编程处理器,该可编程处理器包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和用户可以通过其向计算机提供输入定点设备(例如,鼠标或轨迹球)的计算机上实现此处描述的***和技术。其他种类的设备也可以用于提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
这里描述的***和技术可以在包括以下的计算***中实现:后端部件(例如,作为数据服务器)、或者包括中间件部件(例如,应用服务器)、或者包括前端组件(例如,具有用户可以通过其与此处描述的***和技术的实现进行交互的图形用户界面或Web浏览器的客户端计算机),或此类后端、中间件或前端部件的任意组合。***的部件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”)和互联网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。
在一些实现方式中,图9中所描绘的计算设备可以包括与虚拟现实(VR头戴式耳机1095)对接的传感器。例如,包括在图9中描绘的计算设备1050或其他计算设备上的一个或多个传感器可以向VR耳机1095提供输入,或者通常,可以向VR空间提供输入。传感器可以包括但不限于触摸屏、加速度计、陀螺仪、压力传感器、生物特征传感器、温度传感器、湿度传感器和环境光传感器。计算设备1050可以使用传感器确定VR空间中计算设备的绝对位置和/或检测到的旋转,然后可以将其用作VR空间的输入。例如,计算设备1050可以作为诸如控制器、激光指示器、键盘、武器等的虚拟对象被并入VR空间。当被并入VR空间时,用户对计算设备/虚拟对象的定位可以允许用户定位计算设备以便以某种方式在VR空间中观看虚拟对象。例如,如果虚拟对象表示激光指示器,则用户可以像实际的激光指示器一样操纵计算设备。用户可以左右、上下或以圆圈等移动计算设备,并以与使用激光指示器类似的方式使用设备。
在一些实现方式中,可以将包括在计算设备1050上或连接到计算设备1050的一个或多个输入设备用作VR空间的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板、定点设备、鼠标、轨迹球、操纵杆、照相机、具有输入功能的麦克风、耳机或入耳式耳机、游戏控制器或其他可连接输入设备。当计算设备被合并到VR空间中时,与计算设备1050上包括的输入设备进行交互的用户会导致在VR空间中发生特定动作。
在一些实现方式中,计算设备1050的触摸屏可以被渲染为VR空间中的触摸板。用户可以与计算设备1050的触摸屏进行交互。例如,在VR头戴式耳机1090中,将该交互作为在VR空间中所渲染的触摸板上的移动来进行渲染。渲染的动作可以控制VR空间中的虚拟对象。
在一些实现方式中,计算设备1050上包括的一个或多个输出设备可以向VR空间中的VR头戴式耳机1095的用户提供输出和/或反馈。输出和反馈可以是视觉、触觉或音频。输出和/或反馈可以包括但不限于振动、一个或多个灯或频闪灯的打开、关闭或闪烁和/或闪光、发出警报、播放铃声、播放歌曲以及播放音频文件。输出设备可以包括但不限于振动马达、振动线圈、压电设备、静电设备、发光二极管(LED)、闪光灯和扬声器。
在一些实现方式中,计算设备1050可以在计算机生成的3D环境中表现为另一对象。用户与计算设备1050的交互(例如,旋转、摇动、触摸触摸屏;在触摸屏上滑动手指)可以被解释为与VR空间中的对象的交互。在VR空间中的激光指示器的示例中,计算设备1050在计算机生成的3D环境中显现为虚拟激光指示器。当用户操纵计算设备1050时,VR空间中的用户看到激光指示器的移动。用户在计算设备1050或VR头戴式耳机1090上的VR环境中从与计算设备1050的交互中接收反馈。
已经描述了多个实施例。然而,将理解的是,可以在不脱离本说明书的精神和范围的情况下进行各种修改。
此外,附图中描绘的逻辑流程不需要所示的特定顺序或连续顺序来实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以从所描述的流程中去除步骤,并且可以向所描述的***中添加其他部件或从中移除其他部件。因此,其他实施例在所附权利要求的范围内。
Claims (21)
1.一种方法,包括:
由电子设备接收定义增强现实AR环境的数据,所述增强现实AR环境包括物理环境的表示;
标识表示所述物理环境内的第一真实世界对象的至少一部分的平面或表示所述物理环境内的第二真实世界对象的至少一部分的增强区域中的至少一个;
接收将AR对象放置在所述AR环境中的指令;以及
响应于接收到所述指令,基于使用平面跟踪模式的平面或基于使用区域跟踪模式的增强区域中的至少一个将所述AR对象放置在所述AR环境内。
2.根据权利要求1所述的方法,进一步包括:
基于所述平面跟踪模式,在第一时间将所述AR对象放置在所述AR环境中;和
在第二时间切换到所述区域跟踪模式。
3.根据权利要求1所述的方法,进一步包括:
基于所述区域跟踪模式,在第一时间将所述AR对象放置在所述AR环境中;和
在第二时间切换到所述平面跟踪模式。
4.根据前述权利要求中的任一项所述的方法,进一步包括:
在改变所述AR对象的深度使得所述AR对象的大小在所述电子设备的屏幕内改变的同时,维持利用所述电子设备的屏幕所显示的所述物理环境的规模。
5.根据前述权利要求中的任一项所述的方法,进一步包括:
响应于所述增强区域的大小的改变,修改所述AR环境内的所述AR对象的深度。
6.根据前述权利要求中的任一项所述的方法,其中,所述增强区域是二维区域。
7.根据前述权利要求中的任一项所述的方法,其中,所述增强区域是不具有深度的二维区域。
8.根据前述权利要求中的任一项所述的方法,其中,所述平面是具有深度的三维平面。
9.一种方法,包括:
接收定义包括物理环境的表示的增强现实AR环境的数据;和
在区域跟踪模式和平面跟踪模式之间改变对所述AR环境内的AR对象的跟踪,
所述区域跟踪模式包括基于表示所述物理环境内的第一真实世界对象的二维区域来跟踪所述AR环境内的所述AR对象的深度;
所述平面跟踪模式包括基于表示所述物理环境内的第二真实世界对象的平面来跟踪所述AR环境内的所述AR对象的深度。
10.根据权利要求9所述的方法,进一步包括当从区域跟踪模式改变为平面跟踪模式时:
在改变所述AR对象的深度使得所述AR对象的大小在电子设备的屏幕内改变的同时,维持利用所述电子设备的屏幕所显示的所述物理环境的规模。
11.根据权利要求9或10所述的方法,进一步包括当从区域跟踪模式改变为平面跟踪模式时:
在改变所述物理世界的规模使得改变所述AR对象的深度的同时,维持利用电子设备的屏幕显示的所述AR对象的大小。
12.根据权利要求9至11中的任一项所述的方法,进一步包括当从平面跟踪模式改变为增强区域跟踪模式时:
使用在所述平面跟踪模式下使用的所述AR对象的深度以在所述增强区域跟踪模式下基于所述二维区域来放置所述AR对象。
13.一种方法,包括:
由电子设备接收定义包括物理环境的表示的增强现实AR环境的数据;
标识表示所述物理环境内的第一真实世界对象的增强区域,所述增强区域是二维区域;
基于所述增强区域将AR对象放置在所述AR环境内;
标识表示所述物理环境内的第二真实世界对象的平面;以及
基于所述平面将所述AR对象放置在所述AR环境中。
14.根据权利要求13所述的方法,其中,在基于所述增强区域放置时所述AR对象具有初始深度。
15.根据权利要求13或14所述的方法,其中,所述平面表示所述第二真实世界对象的表面。
16.根据权利要求13至15中的任一项所述的方法,进一步包括:
响应于所述增强区域的大小的改变,修改所述AR环境内的所述AR对象的深度。
17.根据权利要求13至16中的任一项所述的方法,进一步包括:
响应于接收到移动所述AR对象的指令,从基于所述增强区域的区域跟踪模式改变为基于所述平面的平面跟踪模式。
18.一种方法,包括:
接收定义包括物理环境的表示的增强现实AR环境的数据;
标识表示所述物理环境内的第一真实世界对象的平面;
基于在平面追踪模式下的所述平面将AR对象放置在所述AR环境内;
标识表示所述物理环境内的第二真实世界对象的增强区域,所述增强区域是二维区域;以及
响应于接收到指令,在区域跟踪模式下基于所述增强区域将所述AR对象放置在所述AR环境中。
19.根据权利要求18所述的方法,进一步包括:
从所述平面跟踪模式改变为所述区域跟踪模式是响应于接收到移动所述AR对象的所述指令。
20.根据权利要求18或19所述的方法,其中,所述增强区域表示所述第二真实世界对象的在AR环境内占据的空间。
21.一种电子设备,包括:
处理器组件;和
存储器,所述存储器存储指令,所述指令在由所述处理器组件执行时使所述处理器组件执行前述权利要求中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862742772P | 2018-10-08 | 2018-10-08 | |
US62/742,772 | 2018-10-08 | ||
PCT/US2019/055021 WO2020076715A1 (en) | 2018-10-08 | 2019-10-07 | Hybrid placement of objects in an augmented reality environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111771180A true CN111771180A (zh) | 2020-10-13 |
CN111771180B CN111771180B (zh) | 2024-06-07 |
Family
ID=68393066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980015616.7A Active CN111771180B (zh) | 2018-10-08 | 2019-10-07 | 增强现实环境中对象的混合放置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11494990B2 (zh) |
EP (1) | EP3740849B1 (zh) |
CN (1) | CN111771180B (zh) |
WO (1) | WO2020076715A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112884906A (zh) * | 2021-01-11 | 2021-06-01 | 宁波诺丁汉大学 | 一种实现多人混合虚拟和增强现实交互的***及方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11610247B2 (en) * | 2019-04-05 | 2023-03-21 | Shopify Inc. | Method and system for recommending items for a surface |
CN113785260A (zh) * | 2019-09-27 | 2021-12-10 | 苹果公司 | 控制计算机生成现实环境中的虚拟对象的表示 |
US20210389152A1 (en) * | 2020-06-10 | 2021-12-16 | Here Global B.V. | Method, apparatus, and system for projecting augmented reality navigation cues on user-selected surfaces |
US11379950B1 (en) * | 2021-05-07 | 2022-07-05 | Lemon Inc. | System and method for projecting content in an environment |
US11887260B2 (en) * | 2021-12-30 | 2024-01-30 | Snap Inc. | AR position indicator |
US11928783B2 (en) | 2021-12-30 | 2024-03-12 | Snap Inc. | AR position and orientation along a plane |
US11954762B2 (en) | 2022-01-19 | 2024-04-09 | Snap Inc. | Object replacement system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080150965A1 (en) * | 2005-03-02 | 2008-06-26 | Kuka Roboter Gmbh | Method and Device For Determining Optical Overlaps With Ar Objects |
US20120194548A1 (en) * | 2011-01-27 | 2012-08-02 | Pantech Co., Ltd. | System and method for remotely sharing augmented reality service |
CN103460255A (zh) * | 2011-03-29 | 2013-12-18 | 高通股份有限公司 | 用于本地多用户协作的模块化移动连接式微微型投影仪 |
US20140225918A1 (en) * | 2013-02-14 | 2014-08-14 | Qualcomm Incorporated | Human-body-gesture-based region and volume selection for hmd |
CN105074623A (zh) * | 2013-03-14 | 2015-11-18 | 微软技术许可有限责任公司 | 在增强的现实图像中呈现对象模型 |
CN105493155A (zh) * | 2013-08-30 | 2016-04-13 | 高通股份有限公司 | 用于表示物理场景的方法和设备 |
US20180181194A1 (en) * | 2016-11-14 | 2018-06-28 | Logitech Europe S.A. | Systems and methods for a peripheral-centric augmented/virtual reality environment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3549127B1 (en) * | 2016-11-30 | 2021-09-01 | Logitech Europe S.A. | A system for importing user interface devices into virtual/augmented reality |
US20190340821A1 (en) * | 2018-05-04 | 2019-11-07 | Microsoft Technology Licensing, Llc | Multi-surface object re-mapping in three-dimensional use modes |
-
2019
- 2019-10-07 CN CN201980015616.7A patent/CN111771180B/zh active Active
- 2019-10-07 WO PCT/US2019/055021 patent/WO2020076715A1/en unknown
- 2019-10-07 EP EP19795710.3A patent/EP3740849B1/en active Active
- 2019-10-07 US US16/620,264 patent/US11494990B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080150965A1 (en) * | 2005-03-02 | 2008-06-26 | Kuka Roboter Gmbh | Method and Device For Determining Optical Overlaps With Ar Objects |
US20120194548A1 (en) * | 2011-01-27 | 2012-08-02 | Pantech Co., Ltd. | System and method for remotely sharing augmented reality service |
CN103460255A (zh) * | 2011-03-29 | 2013-12-18 | 高通股份有限公司 | 用于本地多用户协作的模块化移动连接式微微型投影仪 |
US20140225918A1 (en) * | 2013-02-14 | 2014-08-14 | Qualcomm Incorporated | Human-body-gesture-based region and volume selection for hmd |
CN105074623A (zh) * | 2013-03-14 | 2015-11-18 | 微软技术许可有限责任公司 | 在增强的现实图像中呈现对象模型 |
CN105493155A (zh) * | 2013-08-30 | 2016-04-13 | 高通股份有限公司 | 用于表示物理场景的方法和设备 |
US20180181194A1 (en) * | 2016-11-14 | 2018-06-28 | Logitech Europe S.A. | Systems and methods for a peripheral-centric augmented/virtual reality environment |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112884906A (zh) * | 2021-01-11 | 2021-06-01 | 宁波诺丁汉大学 | 一种实现多人混合虚拟和增强现实交互的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
US11494990B2 (en) | 2022-11-08 |
EP3740849A1 (en) | 2020-11-25 |
CN111771180B (zh) | 2024-06-07 |
EP3740849B1 (en) | 2023-12-20 |
US20200211288A1 (en) | 2020-07-02 |
WO2020076715A1 (en) | 2020-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111771180B (zh) | 增强现实环境中对象的混合放置 | |
US11043031B2 (en) | Content display property management | |
US11181986B2 (en) | Context-sensitive hand interaction | |
JP7008730B2 (ja) | 画像に挿入される画像コンテンツについての影生成 | |
CN111344749B (zh) | 引向用户关注 | |
EP3814876B1 (en) | Placement and manipulation of objects in augmented reality environment | |
US10685485B2 (en) | Navigation in augmented reality environment | |
WO2017197394A1 (en) | Editing animations using a virtual reality controller | |
US10649616B2 (en) | Volumetric multi-selection interface for selecting multiple objects in 3D space | |
EP3850591B1 (en) | Loading indicator in augmented reality environment | |
US11354011B2 (en) | Snapping range for augmented reality | |
CN118295523A (zh) | 用于在增强现实环境中导航的方法、设备及存储介质 |
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 |