CN115516364A - 工具桥 - Google Patents

工具桥 Download PDF

Info

Publication number
CN115516364A
CN115516364A CN202180028410.5A CN202180028410A CN115516364A CN 115516364 A CN115516364 A CN 115516364A CN 202180028410 A CN202180028410 A CN 202180028410A CN 115516364 A CN115516364 A CN 115516364A
Authority
CN
China
Prior art keywords
data
virtual content
virtual
content
user
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
Application number
CN202180028410.5A
Other languages
English (en)
Other versions
CN115516364B (zh
Inventor
R·S·C·贝利
C-I·方
E·R·布里奇沃特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN115516364A publication Critical patent/CN115516364A/zh
Application granted granted Critical
Publication of CN115516364B publication Critical patent/CN115516364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0141Head-up displays characterised by optical features characterised by the informative content of the display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/18Details relating to CAD techniques using virtual or augmented reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Optics & Photonics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本文公开了用于共享和同步虚拟内容的***和方法。方法可包括:经由包括透射式显示器的可穿戴设备从主机应用接收包括第一数据的第一数据包;基于第一数据识别虚拟内容;经由透射式显示器呈现虚拟内容的视图;经由可穿戴设备接收指向虚拟内容的第一用户输入;基于第一数据和第一用户输入生成第二数据;经由可穿戴设备向主机应用发送包括第二数据的第二数据包,其中,主机应用被配置为经由远离可穿戴设备并与可穿戴设备通信的计算机***的一个或多个处理器来执行。

Description

工具桥
相关申请的交叉引用
本申请要求于2020年2月14日提交的美国临时申请号62/976,995的权益,其整体内容通过引用并入本文。
技术领域
本公开总体上涉及用于共享和同步虚拟内容的***和方法,并且特别地涉及用于在混合现实环境中共享和同步虚拟内容的***和方法。
背景技术
在计算环境中虚拟环境是普遍存在的,虚拟环境应用于视频游戏(其中,虚拟环境可表示游戏世界);地图(其中,虚拟环境可表示待导航的地形);模拟(其中,虚拟环境可模拟真实环境);数字故事(其中,在虚拟环境中虚拟角色可彼此交互);和许多其他应用。现代计算机用户通常舒适感知虚拟环境并且与虚拟环境交互。然而,用户关于虚拟环境的体验可能受到用于呈现虚拟环境的技术的限制。例如,常规显示器(例如,2D显示屏)和音频***(例如,固定扬声器)可能不能够以产生令人信服、现实并且沉浸式体验的方式实现虚拟环境。
虚拟现实(“VR”)、增强现实(“AR”)、混合现实(“MR”)、和相关技术(统称为“XR”)共享向XR***的用户呈现对应于由计算机***中的数据表示的虚拟环境的感觉信息的能力。本公开预期了VR、AR和MR***之间的区别(尽管一些***在一方面(例如,视觉方面)可被分类为VR并且同时在另一方面(例如,音频方面)被分类为AR或MR))。如本文所使用的,VR***呈现了在至少一个方面中替换用户的真实环境的虚拟环境;例如,VR***可以向用户呈现虚拟环境的视图,而同时模糊他或她的真实环境的视图,诸如利用光阻头戴式显示器。类似地,VR***可以向用户呈现对应于虚拟环境的音频,而同时阻挡(衰减)来自真实环境的音频。
VR***可能会体验到由于用虚拟环境替换用户的真实环境而导致的各种缺点。一个缺点是当用户的虚拟环境中的视场不再对应于他或她的内耳的状态时可能出现晕动病(motion sickness)的感觉,该状态检测到一个人在真实环境(非虚拟环境)中的平衡和取向。类似地,用户可能会在他们自己的身体和四肢(用户感觉到在真实环境中“落地”所依赖的视图)不是直接能看到的VR环境中体验到迷失方向。另一个缺点是必须呈现全3D虚拟环境的VR***上的计算负担(例如,存储、处理能力),特别是在试图使用户沉浸在虚拟环境中的实时应用中。类似地,此类环境可能需要达到非常高的真实感标准才能被认为是沉浸式的,因为用户往往对虚拟环境中的微小缺陷都很敏感——任何缺陷都会破坏用户在虚拟环境中的沉浸感。此外,VR***的另一个缺点是***的此类应用无法利用真实环境中广泛的感官数据,诸如人们在中体验到的各种视与听。一个相关的缺点是,VR***可能难以创建多个用户可以交互的共享环境,因为在真实环境中共享物理空间的用户可能无法在虚拟环境中直接看到彼此或与彼此交互。
如本文所使用的,AR***呈现在至少一个方面中重叠或覆盖真实环境的虚拟环境。例如,AR***可以向用户呈现重叠在用户的真实环境的视图上的虚拟环境的视图,诸如利用呈现所显示的图像同时允许光穿过显示器到用户的眼睛中的透射式头戴式显示器。类似地,AR***可以向用户呈现对应于虚拟环境的音频,而同时在来自真实环境的音频中混合。类似地,如本文所使用的,MR***呈现在至少一个方面中覆盖或重叠真实环境的虚拟环境,如AR***所做,并且可以附加地允许在至少一个方面中MR***中的虚拟环境可以与真实环境交互。例如,虚拟环境中的虚拟角色可以切换真实环境中的灯开关,使得真实环境中的对应的灯泡开启或关断。作为另一个示例,虚拟角色可以对真实环境中的音频信号作出反应(诸如用面部表情)。通过维持真实环境的呈现,AR和MR***可以避免VR***的前述缺点中的一些缺点;例如,用户的晕动病减少,因为来自真实环境(包括用户的自己的身体)的视觉提示可以保持可见,并且该***不需要向用户呈现完全实现的3D环境即可沉浸其中。进一步地,AR和MR***可以利用真实世界感觉输入(例如,布景、对象和其他用户的视图和声音)来创建增强该输入的新应用。
XR***对于内容创建(特别是3D内容创建)特别有用。例如,计算机辅助设计(“CAD”)软件的用户可以例行创建、操纵和/或注释3D虚拟内容。然而,在2D屏幕上处理3D虚拟内容可能具有挑战性。由于利用2D工具操纵3D内容的固有限制,使用键盘和鼠标重新定位3D内容可能令人沮丧且不直观。另一方面,XR***可以提供显著地更强大的观看体验。例如,XR***可能能够以三维方式显示3D虚拟内容。XR用户可能能够在3D模型周围走动并从不同角度观察3D模型,就好像3D虚拟模型是真实对象一样。立刻看到如同其是真实的一样的虚拟模型的能力可以显著缩短开发周期(例如,通过减少物理制造模型的步骤)并增强生产力。因此,可能希望开发用于使用XR***创建和/或操纵3D模型的***和方法,以补充和/或替换现有的工作流程。
XR***可通过将虚拟视觉和音频提示与真实的视与听组合来提供独特的提高的沉浸感和真实性。因此,在一些XR***中,期望呈现增强、改进或更改对应的真实环境的虚拟环境。本公开涉及使能跨多个XR***一致地放置虚拟对象的XR***。
发明内容
本公开的示例描述了用于共享和同步虚拟内容的***和方法。根据本公开的示例,方法可以包括:经由包括透射式显示器的可穿戴设备从主机应用接收包括第一数据的第一数据包;基于第一数据识别虚拟内容;经由透射式显示器呈现虚拟内容的视图;经由可穿戴设备接收指向虚拟内容的第一用户输入;基于第一数据和第一用户输入生成第二数据;经由可穿戴设备向主机应用发送包括第二数据的第二数据包,其中,主机应用被配置为经由远离可穿戴设备并与可穿戴设备通信的计算机***的一个或多个处理器来执行。
附图说明
图1A至1C示出了根据一些实施例的示例混合现实环境。
图2A至2D示出了根据一些实施例的可用于生成混合现实环境并且与混合现实环境交互的示例混合现实环境的组件。
图3A示出了根据一些实施例的可用于向混合现实环境提供输入的示例混合现实手持式控制器。
图3B示出了根据一些实施例的可与示例混合现实***一起使用的示例辅助单元。
图4示出了根据一些实施例的用于示例混合现实***的示例功能框图。
图5A至5E示出了根据一些实施例的跨多个计算***的混合现实工作流的示例。
图6示出了根据一些实施例的工具桥架构的示例。
图7示出了根据一些实施例的用于初始化计算***与混合现实***之间的连接的示例过程。
图8示出了根据一些实施例的用于利用工具桥的示例过程。
具体实施方式
在示例的以下描述中,参考了构成其一部分的附图,并且在附图中通过图示的方式示出了可以实施的具体示例。应理解,在不脱离所公开的示例的范围的情况下,可以使用其他示例并且可以做出结构改变。
混合现实环境
像所有人一样,混合现实***的用户存在于真实环境中——即,用户可感知“真实世界”的三维部分和所有其内容。例如,用户使用自己的普通人类感官——视觉、听觉、触觉、味觉、嗅觉——感知真实环境,并通过在真实环境中移动自己的身体与真实环境进行交互。真实环境中的定位可被描述为坐标空间中的坐标;例如,坐标可包括纬度、经度和相对于海平面的海拔;在三个正交维度上距参考点的距离;或其他适合的值。同样地,矢量可描述在坐标空间中具有方向和幅度的量。
计算设备可例如在与设备相关联的存储器中维护虚拟环境的表示。如本文所使用的,虚拟环境是三维空间的计算表示。虚拟环境可包括与该空间相关联的任何对象、动作、信号、参数、坐标、矢量、或其他特性的表示。在一些示例中,计算设备的电路(例如,处理器)可以维护和更新虚拟环境的状态;即,处理器可以在第一时间t0,基于与虚拟环境相关联的数据和/或由用户提供的输入来确定第二时间t1的虚拟环境的状态。例如,如果虚拟环境中的对象在时间t0位于第一坐标处,并且具有某个编程的物理参数(例如,质量、摩擦系数);以及从用户接收的输入指示应该在方向矢量中向对象施加力;处理器可应用运动学定律以使用基础力学确定对象在时间t1的位置。处理器可以使用已知的关于虚拟环境的任何适合的信息和/或任何适合的输入来确定虚拟环境在时间t1的状态。在维护和更新虚拟环境的状态时,处理器可执行任何适合的软件,包括与在虚拟环境中创建和删除虚拟对象有关的软件;用于定义虚拟环境中的虚拟对象或角色的行为的软件(例如,脚本);用于定义虚拟环境中的信号(例如,音频信号)的行为的软件;用于创建和更新与虚拟环境相关联的参数的软件;用于生成虚拟环境中的音频信号的软件;用于处理输入和输出的软件;用于实现网络操作的软件;用于应用资产数据(例如,随时间移动虚拟对象的动画数据)的软件;或许多其他可能性。
输出设备(诸如显示器或者扬声器)可以向用户呈现虚拟环境的任何或所有方面。例如,虚拟环境可包括可以呈现给用户的虚拟对象(其可包括无生命对象;人;动物;光等的表示)。处理器可以确定虚拟环境的视图(例如,对应于具有坐标原点、视图轴和视锥的“相机”);以及向显示器渲染对应于该视图的虚拟环境的可视场景。出于该目的,可以使用任何适合的渲染技术。在一些示例中,可视场景可以仅包括虚拟环境中的一些虚拟对象,并且不包括某些其他虚拟对象。类似地,虚拟环境可包括可呈现给用户作为一个或多个音频信号的音频方面。例如,虚拟环境中的虚拟对象可生成起源于对象的位置坐标的声音(例如,虚拟角色可以说话或引起声音效果);或者虚拟环境可与音乐提示或环境声音相关联,该音乐提示或环境声音可能与特定定位相关联,或可能不相关联。处理器可以确定与“听者”坐标对应的音频信号——例如,与虚拟环境中的声音的合成对应的音频信号,并进行混合和处理以模拟听者在听者坐标处听到的音频信号——并经由一个或多个扬声器将音频信号呈现给用户。
由于虚拟环境仅作为计算结构存在,所以用户不能使用自己的普通感官直接感知虚拟环境。相反,用户只能间接地感知虚拟环境,如例如通过显示器、扬声器、触觉输出设备等呈现给用户的。类似地,用户不能直接接触、操控、或以其他方式与虚拟环境交互;但可以经由输入设备或传感器向处理器提供输入数据,该处理器可以使用设备或传感器数据更新虚拟环境。例如,相机传感器可提供指示用户试图移动虚拟环境中的对象的光学数据,并且处理器可使用该数据使得对象在虚拟环境中做出相应响应。
混合现实***可以向用户呈现组合真实环境和虚拟环境的各方面的混合现实环境(“MRE”),例如使用透射式显示器和/或一个或多个扬声器(其可以例如并入可穿戴头部设备中)。在一些实施例中,一个或多个扬声器可以在头戴式可穿戴单元的外部。如本文所使用的,MRE是真实环境和对应的虚拟环境的同时表示。在一些示例中,对应的真实环境和虚拟环境共享单个坐标空间;在一些示例中,真实坐标空间和对应的虚拟坐标空间通过变换矩阵(或其他适合的表示)彼此相关。因此,单个坐标(在一些示例中,连同变换矩阵一起)可以定义真实环境中的第一位置,以及虚拟环境中的第二对应位置;反之亦然。
在MRE中,虚拟对象(例如,在与MRE相关联的虚拟环境中)可以对应于真实对象(例如,在与MRE相关联的真实环境中)。例如,如果MRE的真实环境包括位置坐标处的真实灯杆(真实对象),则MRE的虚拟环境可包括对应的位置坐标处的虚拟灯杆(虚拟对象)。如本文所使用的,真实对象与其对应的虚拟对象组合在一起构成“混合现实对象”。不需要虚拟对象与对应的真实对象完美匹配或者对准。在一些示例中,虚拟对象可以是对应的真实对象的简化版本。例如,如果真实环境包括真实灯杆,则对应的虚拟对象可以包括具有与真实灯杆大致相同高度和半径的圆柱体(反映该灯杆在形状方面可能大致是圆柱形的)。以这种方式简化虚拟对象可提高计算效率,并且可以简化将对该虚拟对象执行的计算。进一步地,在MRE的一些示例中,真实环境中的并非所有真实对象都可以与对应的虚拟对象相关联。同样地,在MRE的一些示例中,虚拟环境中的并非所有虚拟对象都可以与对应的真实对象相关联。即,一些虚拟对象可能仅存在于MRE的虚拟环境中,而没有任何真实世界的对应物。
在一些示例中,虚拟对象可以具有与对应的真实对象的特性不同的特征,有时甚至是大相径庭的特征。例如,虽然MRE中的真实环境可包括绿色双臂仙人掌——多刺无生命对象——但MRE中的对应的虚拟对象可以具有具有人类面部特征和粗暴行为的绿色双臂虚拟角色的特性。在该示例中,虚拟对象在某些特性(颜色、手臂数量)方面与其对应的真实对象类似;但是在其他特性(面部特征、个性)方面与真实对象不同。以这种方式,虚拟对象就有可能以创造性、抽象、夸大、或想象的方式表示真实对象;或者向其他无生命的真实对象赋予行为(例如,人类个性)。在一些示例中,虚拟对象可以是纯想象创造而没有现实世界对应物(例如,虚拟环境中的虚拟怪物,也许在与真实环境中的空白空间对应的位置处)。
与向用户呈现虚拟环境同时模糊真实环境的VR***相比,呈现MRE的混合现实***提供了在呈现虚拟环境时真实环境保持可感知的优点。因此,混合现实***的用户能够使用与真实环境相关联的视觉和听觉提示来体验对应的虚拟环境并且与之交互。作为示例,虽然VR***的用户可能难以感知虚拟环境中显示的虚拟对象或与之交互——因为如上所述,用户不能直接感知虚拟环境或与之交互——但MR***的用户可发现通过看到、听到和触摸他或她自己的真实环境中的对应的真实对象来与虚拟对象交互是直观并且自然的。该级别的交互性可以增强用户对虚拟环境的沉浸感、联系感和参与感。类似地,通过同时呈现真实环境和虚拟环境,混合现实***可以减少与VR***相关联的负面心理感觉(例如,认知失调)和负面身体感觉(例如,晕动病)。混合现实***进一步为可以增加或更改我们对现实世界的体验的应用提供了许多可能性。
图1A示出了用户110使用混合现实***112的示例真实环境100。例如如下文所描述的,混合现实***112可以包括显示器(例如,透射式显示器)和一个或多个扬声器,以及一个或多个传感器(例如,相机)。示出的真实环境100包括用户110站立的矩形房间104A;以及真实对象122A(灯)、124A(桌子)、126A(沙发)和128A(画)。房间104A还包括位置坐标106,其可以被认为是真实环境100的原点。如图1A所示,以点106(世界坐标)处为原点的环境/世界坐标系108(包括x轴108X、y轴108Y和z轴108Z)可以定义真实环境100的坐标空间。在一些实施例中,环境/世界坐标系108的原点106可以对应于混合现实环境112被通电的位置。在一些实施例中,环境/世界坐标系108的原点106可以在操作期间重置。在一些示例中,用户110可以被认为是真实环境100中的真实对象;类似地,用户110的身体部分(例如,手、脚)可以被认为是真实环境100中的真实对象。在一些示例中,以点115(例如,用户/听众/头部坐标)处为原点的用户/听众/头部坐标系114(包括x轴114X、y轴114Y和z轴114Z)可以定义混合现实***112所在的用户/听众/头部的坐标空间。可以相对于混合现实***112的一个或多个组件来定义用户/听众/头部坐标系114的原点115。例如,诸如在混合现实***112的初始校准期间,可以相对于混合现实***112的显示来定义用户/听众/头部坐标系114的原点115。矩阵(其可以包括平移矩阵和四元数矩阵或其他旋转矩阵)或其他适合的表示可以表征用户/听众/头部坐标系114空间与环境/世界坐标系108空间之间的变换。在一些实施例中,可以相对于用户/听众/头部坐标系114的原点115来定义左耳坐标116和右耳坐标117。矩阵(其可以包括平移矩阵和四元数矩阵或其他旋转矩阵)或其他适合的表示可以表征左耳坐标116和右耳坐标117与用户/听众/头部坐标系114空间之间的变换。用户/听众/头部坐标系114可以简化相对于用户的头部或头戴式设备(例如,相对于环境/世界坐标系108)的位置的表示。使用同时定位和地图创建(SLAM)、视觉里程计或其他技术,可以实时确定和更新用户坐标系114与环境坐标系108之间的变换。
图1B示出了与真实环境100对应的示例虚拟环境130。所示的虚拟环境130包括与真实矩形房间104A对应的虚拟矩形房间104B;与真实对象122A对应的虚拟对象122B;与真实对象124A对应的虚拟对象124B;以及与真实对象126A对应的虚拟对象126B。与虚拟对象122B、124B、126B相关联的元数据可以包括从对应的真实对象122A、124A、126A导出的信息。虚拟环境130附加地包括虚拟怪物132,该虚拟怪物132不对应于真实环境100中的任何真实对象。真实环境100中的真实对象128A不对应于虚拟环境130中的任何虚拟对象。以点134(持久坐标)处为原点的持久坐标系133(包括x轴133X、y轴133Y和z轴133Z)可以定义虚拟内容的坐标空间。持久坐标系133的原点134可以相对于/关于一个或多个真实对象(诸如真实对象126A)来定义。矩阵(其可以包括平移矩阵和四元数矩阵或其他旋转矩阵)或其他适合的表示可以表征持久坐标系133空间与环境/世界坐标系108空间之间的变换。在一些实施例中,虚拟对象122B、124B、126B和132中的每个虚拟对象可以相对于持久坐标系133的原点134具有它们自己的持久坐标点。在一些实施例中,可以存在多个持久坐标系,并且虚拟对象122B、124B、126B和132中的每个虚拟对象可以相对于一个或多个持久坐标系具有其自己的持久坐标点。
持久坐标数据可以是相对于物理环境持续存在的坐标数据。MR***(例如,MR***112、200)可以使用持久坐标数据来放置永久虚拟内容,该持久虚拟内容可不与显示虚拟对象的显示器的运动相绑定。例如,二维屏幕可仅显示相对于屏幕上的位置的虚拟对象。随着二维屏幕移动,虚拟内容可以随着屏幕移动。在一些实施例中,可以在房间的角落显示持久虚拟内容。MR用户可能看向角落看到虚拟内容,看向角落之外(其中虚拟内容可能不再可见),并且再回看角落中的虚拟内容(类似于真实对象可如何表现)。
在一些实施例中,持久坐标数据(例如,持久坐标系)可以包括原点和三个轴。例如,可以通过MR***将持久坐标系分配给房间的中心。在一些实施例中,用户可以在房间周围移动、离开房间、重新进入房间等,并且持久坐标系可以保持在房间的中心(例如,因为它相对于物理环境持续存在)。在一些实施例中,可以使用对持久坐标数据的转换来显示虚拟对象,这可以实现显示持久虚拟内容。在一些实施例中,MR***可使用同时定位和地图创建来生成持久坐标数据(例如,MR***可将持久坐标系分配给空间中的点)。在一些实施例中,MR***可通过以规则间隔生成持久坐标数据来映射环境(例如,MR***可在网格中分配持久坐标系,其中持久坐标系可至少在另一持久坐标系的五英尺范围内)。
在一些实施例中,持久坐标数据可以由MR***生成并发送到远程服务器。在一些实施例中,远程服务器可被配置为接收持久坐标数据。在一些实施例中,远程服务器可被配置为同步来自多个观察实例的持久坐标数据。例如,多个MR***可以用持久坐标数据映射同一房间,并将该数据发送到远程服务器。在一些实施例中,远程服务器可以使用该观察数据来生成规范持久坐标数据,该数据可以基于一个或多个观察。在一些实施例中,规范持久坐标数据可能比持久坐标数据的单个观察更准确和/或更可靠。在一些实施例中,规范持久坐标数据可被发送到一个或多个MR***。例如,MR***可以使用图像识别和/或位置数据来识别它位于具有对应规范持久坐标数据的房间中(例如,因为其他MR***先前已经映射了房间)。在一些实施例中,MR***可以从远程服务器接收对应于其位置的规范持久坐标数据。
相对于图1A和图1B,环境/世界坐标系108定义用于真实环境100和虚拟环境130二者的共享坐标空间。在示出的示例中,坐标空间具有点106处的原点。进一步地,坐标空间由相同的三个正交轴(108X、108Y、108Z)定义。因此,真实环境100中的第一位置和虚拟环境130中的第二对应位置可以相对于相同的坐标空间来描述。这简化了标识和显示真实环境和虚拟环境中的对应的位置,因为可使用相同的坐标来标识这两个位置。然而,在一些示例中,对应的真实环境和虚拟环境不需要使用共享坐标空间。例如,在一些示例中(未示出),矩阵(其可以包括平移矩阵和四元数矩阵或其他旋转矩阵)或其他适合的表示可以表征真实环境坐标空间与虚拟环境坐标空间之间的变换。
图1C示出了经由混合现实***112向用户同时呈现真实环境100和虚拟环境130的各方面的示例MRE 150。在示出的示例中,MRE 150同时向用户110呈现来自真实环境100的真实对象122A、124A、126A和128A(例如,经由混合现实***112的显示器的透射部分);以及来自虚拟环境130的虚拟对象122B、124B、126B和132(例如,经由混合现实***112的显示器的活动显示部分)。如上文,原点106充当对应于MRE 150的坐标空间的原点,并且坐标系108定义坐标空间的x轴、y轴和z轴。
在示出的示例中,混合现实对象包括占用坐标空间108中的对应位置的对应的真实对象和虚拟对象对(即,122A/122B、124A/124B、126A/126B)。在一些示例中,真实对象和虚拟对象二者可以同时对用户110可见。这可能在例如虚拟对象呈现被设计为增加对应的真实对象的视图的信息的实例中(诸如在博物馆应用中,其中虚拟对象呈现古代损坏雕塑件的缺失部分)是期望的。在一些示例中,可以显示虚拟对象(122B、124B和/或126B)(例如,经由使用像素化遮挡快门的活动像素化遮挡)以便遮挡对应的真实对象(122A、124A和/或126A)。这可能在例如虚拟对象充当对应的真实对象的视觉替换物的实例中(诸如在无生命真实对象变为“活的”角色的交互式讲故事应用中)是期望的。
在一些示例中,真实对象(例如,122A、124A、126A)可以与虚拟内容或辅助数据(helper data)(其可能不一定构成虚拟对象)相关联。虚拟内容或辅助数据可以促进混合现实环境中的虚拟对象的处理或处置。例如,这样的虚拟内容可以包括对应的真实对象的二维表示;与对应的真实对象相关联的自定义资产类型;或与对应的真实对象相关联的统计数据。该信息可以实现或者促进涉及真实对象的计算而不产生不必要的计算开销。
在一些示例中,上文所描述的呈现还可以包含音频方面。例如,在MRE 150中,虚拟怪物132可以与一个或多个音频信号相关联,诸如当怪物在MRE 150周围行走时生成的脚步声效果。如下文进一步描述的,混合现实***112的处理器可以计算与MRE 150中的所有此类声音的混合和处理合成所对应的音频信号,并且经由包括在混合现实***112中的一个或多个扬声器和/或一个或多个外部扬声器将音频信号呈现给用户110。
示例混合现实***
示例混合现实***112可以包括可穿戴头部设备(例如,可穿戴增强现实或混合现实头部设备),其包括:显示器(其可以包括左和右透射式显示器,其可以是近眼显示器,以及用于将来自显示器的光耦合到用户的眼睛的相关联的组件);左和右扬声器(例如,其分别与用户的左耳和右耳邻近定位);惯性测量单元(IMU)(例如,其安装到头部设备的镜腿);正交线圈电磁接收器(例如,其安装到左镜腿件);远离用户取向的左相机和右相机(例如,深度(飞行时间)相机);以及朝向用户取向的左眼相机和右眼相机(例如,用于检测用户的眼运动)。然而,混合现实***112可以包含任何适合的显示技术以及任何适合的传感器(例如,光学、红外、声学、LIDAR、EOG、GPS、磁性)。另外,混合现实***112可以包含与其他设备和***(包括其他混合现实***)通信的网络特征(例如,Wi-Fi能力)。混合现实***112还可以包括电池(其可以安装在辅助单元中,诸如被设计为穿戴在用户的腰部周围的腰带包)、处理器和存储器。混合现实***112的可穿戴头部设备可以包括跟踪组件,诸如IMU或其他适合的传感器,其被配置为输出可穿戴头部设备相对于用户的环境的一组坐标。在一些示例中,跟踪组件可以向执行同时定位和地图创建(SLAM)和/或视觉里程计算法的处理器提供输入。在一些示例中,混合现实***112还可以包括手持式控制器300和/或辅助单元320,其可以是可穿戴腰带包,如下文进一步描述的。
图2A-2D示出了可以用于将MRE(其可以对应于MRE 150)或其他虚拟环境呈现给用户的示例混合现实***200(其可以对应于混合现实***112)的组件。图2A示出了在示例混合现实***200中包括的可穿戴头部设备2102的透视图。图2B示出了在用户的头部2202上佩戴的可穿戴头部设备2102的俯视图。图2C示出了可穿戴头部设备2102的前视图。图2D示出了可穿戴头部设备2102的示例目镜2110的边视图。如图2A-2C所示,示例可穿戴头部设备2102包括示例左目镜(例如,左透明波导集目镜)2108和示例右目镜(例如,右透明波导集目镜)2110。每个目镜2108和2110可以包括:透射元件,通过该透射元件,真实环境可以是可见的;以及显示元件,其用于呈现与真实环境重叠的显示(例如,经由图像级调制光)。在一些示例中,这样的显示元件可以包括用于控制图像级调制光的流动的表面衍射光学元件。例如,左目镜2108可以包括左耦入(incoupling)光栅集2112、左正交光瞳扩展(OPE)光栅集2120和左出射(输出)光瞳扩展(EPE)光栅集2122。类似地,右目镜2110可以包括右耦入光栅集2118、右OPE光栅集2114和右EPE光栅集2116。图像级调制光可以经由耦入光栅2112和2118、OPE 2114和2120、和EPE 2116和2122传递到用户的眼睛。每个耦入光栅集2112、2118可以被配置为将光朝向其对应的OPE光栅集2120、2114偏转。每个OPE光栅集2120、2114可以被设计为递增地将光向下朝向其相关联的EPE 2122、2116偏转,从而水平延伸所形成的出射光瞳。每个EPE 2122、2116可以被配置为将从其对应的OPE光栅集2120、2114接收的光的至少一部分向外递增地重引导到定义在目镜2108、2110后面的用户眼盒(eyebox)位置(未示出),垂直延伸在眼盒处形成的出射光瞳。可替代地,代替耦入光栅集2112和2118、OPE光栅集2114和2120、和EPE光栅集2116和2122,目镜2108和2110可以包括用于控制将图像级调制光耦合到用户的眼睛的光栅和/或折射和反射特征的其他布置。
在一些示例中,可穿戴头部设备2102可以包括左镜腿2130和右镜腿2132,其中,左镜腿2130包括左扬声器2134并且右镜腿2132包括右扬声器2136。正交线圈电磁接收器2138可以定位在左镜腿件中,或者在可穿戴头部单元2102中的另一适合的位置。惯性测量单元(IMU)2140可以定位在右镜腿2132中,或者在可穿戴头部设备2102中的另一适合的位置。可穿戴头部设备2102还可以包括左深度(例如,飞行时间)相机2142和右深度相机2144。深度相机2142、2144可以在不同的方向上适合地取向以便一起覆盖更宽的视场。
在图2A-2D中示出的示例中,图像级调制左光源2124可以通过左耦入光栅集2112光学耦合到左目镜2108中,并且图像级调制右光源2126可以通过右耦入光栅集2118光学耦合到右目镜2110中。图像级调制光源2124、2126可以包括例如光纤扫描器;投影仪,包括电子光调制器,诸如数字光处理(DLP)芯片或硅上液晶(LCoS)调制器;或发射显示器,诸如微型发光二极管(μLED)或微型有机发光二极管(μOLED)面板,其使用每侧一个或多个透镜耦合到耦入光栅集2112、2118中。输入耦合光栅集2112、2118可以将来自图像级调制光源2124、2126的光偏转到大于目镜2108、2110的全内反射(TIR)的临界角的角。OPE光栅集2114、2120向下朝向EPE光栅集2116、2122递增地偏转通过TIR传播的光。EPE光栅集2116、2122将光递增地耦合向用户的面部,包括用户的眼睛的瞳孔。
在一些示例中,如图2D所示,左目镜2108和右目镜2110中的每一个包括多个波导2402。例如,每个目镜2108、2110可以包括多个单独波导,每个波导专用于相应的颜色通道(例如,红色、蓝色和绿色)。在一些示例中,每个目镜2108、2110可以包括多组此类波导,其中,每组被配置为向发射光给予不同的波前曲率。波前曲率可以相对于用户的眼睛是凸的,例如以呈现定位在用户的前面一定距离(例如,对应于波前曲率的倒数的距离)的虚拟对象。在一些示例中,EPE光栅集2116、2122可以包括通过变更跨每个EPE出射光的坡印廷矢量实现凸波前曲率的弯曲光栅凹陷。
在一些示例中,为了创建所显示的内容是三维的感觉,可以通过图像级光调制器2124、2126和目镜2108、2110将立体调节的左和右眼影像呈现给用户。可以通过选择波导(并且因此对应的波前曲率)来增强三维虚拟对象的呈现的感知的真实性,使得在近似由立体左和右图像指示的距离的距离处显示虚拟对象。该技术还可以减少由一些用户经历的晕动病,其可能是由立体左眼和右眼影像提供的深度感知提示与人眼的自动调节(例如,对象距离相关的焦点)之间的差异引起的。
图2D示出了从示例可穿戴头部设备2102的右目镜2110的顶部看的面向边缘的视图。如图2D所示,多个波导2402可以包括三个波导的第一子集2404和三个波导的第二子集2406。波导的两个子集2404、2406可以通过不同的EPE光栅来区分,不同的EPE光栅的特征在于不同的光栅线曲率以向出射光给予不同的波前曲率。在波导的子集2404、2406中的每一个波导子集内,每个波导可以用于将不同光谱信道(例如,红色、绿色和蓝色光谱信道之一)耦合到用户的右眼2206。(虽然在图2D中未示出,但是左目镜2108的结构类似于右目镜2110的结构。)
图3A示出了混合现实***200的示例手持式控制器组件300。在一些示例中,手持式控制器300包括手柄部分346和沿着顶面348设置的一个或多个按钮350。在一些示例中,按钮350可以被配置用于用作光学跟踪目标,例如,用于结合相机或其他光学传感器(其可以安装在混合现实***200的头部单元(例如,可穿戴头部设备2102)中)跟踪手持式控制器300的六自由度(6DOF)运动。在一些示例中,手持式控制器300包括用于检测位置或取向(诸如相对于可穿戴头部设备2102的位置或取向)的跟踪组件(例如,IMU或其他适合的传感器)。在一些示例中,该跟踪组件可以定位在手持式控制器300的手柄中,和/或可以机械耦合到手持式控制器。手持式控制器300可以被配置为提供对应于按钮的按压状态中的一个或多个按压状态的一个或多个输出信号;或手持式控制器300的位置、取向和/或运动(例如,经由IMU)。该输出信号可以用作混合现实***200的处理器的输入。该输入可以对应于手持式控制器的位置、取向和/或运动(例如,通过扩展,对应于握住控制器的用户的手的位置、取向和/或运动)。该输入还可以对应于用户按钮350。
图3B示出了混合现实***200的示例辅助单元320。辅助单元320可以包括提供操作***200的能量的电池,并且可以包括用于执行操作***200的程序的处理器。如图所示,示例辅助单元320包括夹子2128,诸如用于将辅助单元320附接到用户的腰带。其他形式因素适合于辅助单元320并且将是明显的,包括不涉及将单元安装到用户的腰带的形式因素。在一些示例中,辅助单元320通过多导管电缆耦合到可穿戴头部设备2102,该多导管电缆可以包括例如电线和光纤。还可以使用辅助单元320与可穿戴头部设备2102之间的无线连接。
在一些示例中,混合现实***200可以包括检测声音并且将对应的信号提供给混合现实***的一个或多个麦克风。在一些示例中,麦克风可以附接到可穿戴头部设备2102或与可穿戴头部设备2102集成,并且被配置为检测用户的语音。在一些示例中,麦克风可以附接到手持式控制器300和/或辅助单元320或与手持式控制器300和/或辅助单元320集成。该麦克风可以被配置为检测环境声音、环境噪声、用户或第三方的语音或其他声音。
图4示出了可以对应于示例混合现实***的示例功能框图,诸如上文所描述的混合现实***200(其可以对应于相对于图1的混合现实***112)。如图4所示,示例手持式控制器400B(其可以对应于手持式控制器300(“图腾”))包括图腾到可穿戴头部设备六自由度(6DOF)图腾子***404A,并且示例可穿戴头部设备400A(其可以对应于可穿戴头部设备2102)包括图腾到可穿戴头部设备6DOF子***404B。在示例中,6DOF图腾子***404A和6DOF子***404B合作以确定手持式控制器400B相对于可穿戴头部设备400A的六个坐标(例如,在三个平移方向上的偏移和沿着三个轴的旋转)。可以相对于可穿戴头部设备400A的坐标系表示六个自由度。三个平移偏移可以表示为该坐标系中的X、Y和Z偏移、平移矩阵、或某种其他表示。旋转自由度可以表示为偏转、俯仰和滚动旋转的序列、旋转矩阵、四元数或某种其他表示。在一些示例中,可穿戴头部设备400A;包括在可穿戴头部设备400A中的一个或多个深度相机444(和/或一个或多个非深度相机);和/或一个或多个光学目标(例如,如上文所描述的手持式控制器400B的按钮350,或包括在手持式控制器400B中的专用光学目标)可以用于6DOF跟踪。在一些示例中,手持式控制器400B可以包括相机,如上文所描述的;并且可穿戴头部设备400A可以包括用于结合相机进行光学跟踪的光学目标。在一些示例中,可穿戴头部设备400A和手持式控制器400B各自包括一组三个正交取向的螺线管,其用于无线地发送和接收三个可区分的信号。通过测量用于接收的线圈中的每个线圈中接收的三个可区分信号的相对幅度,可以确定可穿戴头部设备400A相对于手持式控制器400B的6DOF。此外,6DOF图腾子***404A可以包括惯性测量单元(IMU),该惯性测量单元(IMU)可用于提供关于手持式控制器400B的快速运动的经改进的准确度和/或更及时的信息。
在一些示例中,可能需要将坐标从局部坐标空间(例如,相对于可穿戴头部设备400A固定的坐标空间)变换到惯性坐标空间(例如,相对于真实环境固定的坐标空间),例如以便补偿可穿戴头部设备400A相对于坐标系108的运动。例如,该变换可能为可穿戴头部设备400A的显示器进行以下内容所必需:将虚拟对象呈现在相对于真实环境的期望位置和取向处(例如,坐在真实椅子中、面向前的虚拟人,而不管可穿戴头部设备的位置和取向),而不是在显示器上的固定位置和取向处(例如,在显示器的右下角的相同位置处),以保持虚拟对象存在于真实环境中的错觉(并且例如当可穿戴头部设备400A移动和旋转时不显得不自然地定位在真实环境中)。在一些示例中,坐标空间之间的补偿变换可以通过使用SLAM和/或视觉里程计程序处理来自深度相机444的图像确定,以便确定可穿戴头部设备400A相对于坐标系108的变换。在图4所示的示例中,深度相机444耦合到SLAM/视觉里程计块406并且可以向块406提供图像。SLAM/视觉里程计块406实施方式可以包括处理器,该处理器被配置为处理该图像并且确定用户的头部的位置和取向,其然后可以用于标识头部坐标空间与另一坐标空间(例如,惯性坐标空间)之间的变换。类似地,在一些示例中,从IMU 409获得关于用户的头部姿势和位置的附加信息源。来自IMU 409的信息可以与来自SLAM/视觉里程计块406的信息集成以提供关于用户的头部姿势和位置的快速调节的经改进的准确度和/或更及时的信息。
在一些示例中,深度相机444可以将3D图像供应到手势***411,该手势***411可以实现在可穿戴头部设备400A的处理器中。手势***411可以标识用户的手势,例如通过将从深度相机444接收的3D图像与表示手势的存储的模式匹配。标识用户的手势的其他适合的技术将是明显的。
在一些示例中,一个或多个处理器416可以被配置为从可穿戴头部设备的6DOF头带子***404B、IMU 409、SLAM/视觉里程计块406、深度相机444和/或手势***411接收数据。处理器416还可以发送和接收来自6DOF图腾***404A的控制信号。处理器416可以无线耦合到6DOF图腾***404A,诸如在手持式控制器400B不受限的示例中。处理器416还可以与附加组件通信,附加组件诸如是音频-视觉内容存储器418、图形处理单元(GPU)420、和/或数字信号处理器(DSP)音频空间化器。DSP音频空间化器422可以耦合到头部相关传递函数(HRTF)存储器425。GPU 420可以包括耦合到图像级调制光左源424的左通道输出和耦合到图像级调制右光源426的右通道输出。GPU 420可以将立体图像数据输出到图像级调制光源424、426,例如如上文相对于图2A-2D所描述的。DSP音频空间化器422可以向左扬声器412和/或右扬声器414输出音频。DSP音频空间化器422可以从处理器419接收指示从用户到虚拟声源(其可以由用户移动,例如,经由手持式控制器320)的方向矢量的输入。基于方向矢量,DSP音频空间化器422可以确定对应的HRTF(例如,通过访问HRTF、或通过内插多个HRTF)。DSP音频空间化器然后可以将所确定的HRTF应用到音频信号,诸如对应于由虚拟对象生成的虚拟声音的音频信号。这可以通过在混合现实环境中结合用户相对于虚拟声音的相对位置和取向来增强虚拟声音的可信度和真实感,即,通过呈现与用户对虚拟声音的期望相匹配的虚拟声音,虚拟声音听起来像是真实环境中的真实声音。
在一些示例中,诸如图4所示,处理器416、GPU 420、DSP音频空间化器422、HRTF存储器425和音频/视频内容存储器418中的一个或多个可以包括在辅助单元400C(其可以对应于上文所描述的辅助单元320)中。辅助单元400C可以包括对其组件供电和/或向可穿戴头部设备400A或手持式控制器400B供电的电池427。将这样的组件包括在可安装到用户的腰部的辅助单元中可以限制可穿戴头部设备400A的大小和重量,其进而可以减少用户的头部和颈部的疲劳。
虽然图4呈现了对应于示例混合现实***的各种组件的元件,但是这些组件的各种其他适合的布置对于本领域技术人员来说将变得明显。例如,在图4中呈现为与辅助单元400C相关联的元件可以替代地与可穿戴头部设备400A或手持式控制器400B相关联。此外,一些混合现实***可以完全放弃手持式控制器400B或辅助单元400C。将理解这样的改变和修改包括在所公开的示例的范围内。
工具桥
MR***可以利用虚拟对象持久性来增强用户的生产力工作流程。在一些实施例中,虚拟对象持久性可以包括显示虚拟内容如同虚拟内容是真实的一样的能力。例如,可以将虚拟对象显示为放在真实桌子上。在一些实施例中,用户可以在桌子周围走动并且从不同的角度观察虚拟对象,就好像虚拟对象真实坐在桌子上一样。这种自然查看虚拟内容和/或与虚拟内容交互的能力可能优于其他方法。例如,在2D屏幕上查看3D模型可能要求多种解决方法。用户可能必须使用计算机鼠标拖动3D模型以显示不同的视角。然而,由于在2D屏幕上显示3D内容的本质,因为3D内容可能以非预期的方式改变视图,所以这样的体验可能是令人沮丧的。在一些实施例中,MR***还可以使得多个用户能够针对3D内容进行协作。例如,处理同一3D内容的两个用户可以使用MR***查看投射在3D空间中的3D内容。在一些实施例中,针对MR***的两个用户可以以相同方式同步和/或定位3D内容。然后,用户可以通过参考3D内容的各方面、四处移动以查看不同的角度等进行协作。
尽管MR***在查看3D内容方面可能优于2D屏幕,但是在其他计算***上执行一些任务可能仍是更有效的。例如,复杂的3D模型模拟、渲染等可能需要比移动MR***中可以容易获得的计算功率更多的计算功率。在一些实施例中,将计算复杂的任务卸载到诸如台式计算机的***可能是有益的,该***可能具有更多的计算功率并且可能不受电池组的限制。
因此,可能希望开发将MR***与其他计算***连接的***和方法。无缝连接可以允许计算***渲染和/或模拟模型并将虚拟内容推送到MR***用于查看。在一些实施例中,可以对MR***上的虚拟内容进行改变和/或注释,并且可以将改变和/或注释推回到连接的计算***。用于将MR***与其他计算***连接的***和方法可能对生产力工作流程特别有益。计算机辅助设计(“CAD”)软件的用户可以对3D模型执行多次迭代,并且使得CAD用户能够快速改变3D模型并查看3D空间中的改变可能是有益的。在一些实施例中,CAD用户改变和/或注释3D模型(例如,使用MR***)并将改变和/或注释推送到连接的计算***和/或与其他MR***共享改变/注释可能是有益的。
图5A至5E示出了根据一些实施例的用于跨多个计算***处理虚拟内容的示例性工作流。在图5A中,计算***(例如,台式计算机)502可包括虚拟内容504。用户可以使用软件(例如,Maya、Autodesk等)在计算***502上创建虚拟内容,并且用户可能希望在3D空间中查看虚拟内容。在一些实施例中,虚拟内容504可以是一个或多个3D模型。在一些实施例中,虚拟内容504可包括关于一个或多个3D模型的元数据。
在图5B中,用户506可以使用MR***(例如,MR***112、200)接收虚拟内容504。在一些实施例中,可以使用MR***显示虚拟内容504,并且可以在3D空间中显示虚拟内容504。用户506可以通过从不同角度查看虚拟内容504和/或操纵虚拟内容504(例如,对虚拟内容504进行放大、缩小、移除部分、添加部分、注释和/或改变虚拟内容504的其他特性)来与虚拟内容504交互。
在图5C中,用户506和用户508可以在虚拟内容504上协作。在一些实施例中,用户506和508可以在相同位置(例如,相同的真实世界位置,就好像虚拟内容504是真实的一样)看到虚拟内容504,这可以促进协作。在一些实施例中,用户506和508可能彼此远离(例如,他们可能在不同的房间),并且用户505和508可以在相对于锚点的相同位置看到虚拟内容504(其也可以用作用于显示给协作用户的其他虚拟内容的位置参考)。例如,用户506可以指向虚拟内容504的一部分,并且用户508可以观察到用户506指向虚拟内容504的预期部分。在一些实施例中,用户506和/或508可以通过从不同角度查看虚拟内容504和/或操纵虚拟内容504(例如,对虚拟内容504进行放大、缩小、移除部分、添加部分、注释和/或改变虚拟内容504的其他特性)来与虚拟内容504交互。
在图5D中,用户506和/或508可以保存对虚拟内容504的改变。例如,用户506和/或508可能已与虚拟内容504交互和/或修改了虚拟内容504并且可能希望将虚拟内容504输出到另一计算***。因为一些任务可能在特定***上能更好地执行(例如,查看3D模型和/或对3D模型做出细微改变可能最好装备MR***,而对3D模型做出计算上昂贵的改变可能最好装备台式计算机),所以使能从MR***到另一计算***的轻松转换可能是有益的。
在图5E中,可以在计算***502上呈现虚拟内容504,计算***502可连接到一个或多个MR***。在一些实施例中,虚拟内容504可以包括由一个或多个MR***对虚拟内容504做出的一个或多个改变。
尽管描绘了两个用户的协作,但是可以设想任何数量的物理布置中的任何数量的用户可以在虚拟内容上进行协作。例如,用户506和508可以在相同的物理环境中(例如,在相同的第一房间中),并且用户506和508可以在相对于他们的物理环境的同一位置看到虚拟内容。同时,第三用户可能在不同的物理环境(例如,第二房间)中也看到同一虚拟内容。在一些实施例中,第三用户的虚拟内容可以位于不同的现实世界位置(例如,由于第三用户在不同的现实世界位置的事实)。在一些实施例中,共享的虚拟内容可以从第三用户的第一锚点位移,并且该位移可以与用户506和508相对于第二锚点的位移相同。
图6示出了根据一些实施例的示例性工具桥。在一些实施例中,计算机616可以包括虚拟内容,并且可能希望将虚拟内容传送到MR***602(其可以对应于MR***112、200)。在一些实施例中,应用622(例如,CAD应用,或能够创建或编辑3D模型的其他应用)可以管理要传送到MR***602(例如,3D模型)和/或由MR***602接收的虚拟内容。在一些实施例中,可以在计算机616与MR***602之间发送完整的虚拟内容。在一些实施例中,可以在计算机616与MR***602之间发送虚拟内容的组分。例如,如果MR***改变3D模型的纹理,则可以仅将纹理改变发送到计算机616。在一些实施例中,发送增量文件可能比发送完整虚拟内容更有效。
在一些实施例中,应用622可以向工具桥620发送和/或接收虚拟内容。工具桥620可包括被配置为执行指令的一个或多个计算机***。在一些实施例中,工具桥620可以是被配置为与应用622接口连接的脚本。例如,应用622可以是CAD应用(例如,Maya),并且工具桥620可以包括可用于将3D模型从台式计算机传送到MR***的插件脚本。在一些实施例中,工具桥620可以生成对应于虚拟内容的数据包。例如,工具桥620可以生成包括虚拟内容的元数据的数据包。在一些实施例中,工具桥620可以加密虚拟内容。在一些实施例中,工具桥620可以生成数据包,该数据包包括对应于虚拟内容的期望目的地的数据。例如,工具桥620可以指定MR***602中应存储虚拟内容的目录位置。在一些实施例中,工具桥620可以指定MR***620上的应用作为虚拟内容的目的地。在一些实施例中,工具桥620可以指示有效载荷(例如,数据包的有效载荷)包括增量文件。在一些实施例中,工具桥620可以指示有效负载包括独立虚拟内容。在一些实施例中,工具桥620还可以解析所接收的数据包(参见下面的工具桥612的描述)。
在一些实施例中,工具桥620可以被配置为执行可以在运行时环境中运行的指令。在一些实施例中,工具桥620可以被配置为执行父进程的子进程。在一些实施例中,工具桥620可以被配置为执行父进程的线程。在一些实施例中,工具桥620可以被配置为操作服务(例如,作为后台操作***服务)。在一些实施例中,由工具桥620执行的进程、子进程、线程和/或服务可以被配置为在主机***的操作***运行时连续运行(例如,在后台)。在一些实施例中,由工具桥620执行的服务可以是父后台服务的实例化,其可以用作一个或多个后台进程和/或子进程的主机进程。
在一些实施例中,工具桥620可以向桌面配套应用(“DCA”)服务器618发送和/或接收数据包。DCA服务器618可以包括被配置为执行指令的一个或多个计算机***并且可以用作计算机616与MR***602之间的接口。在一些实施例中,DCA服务器618可以管理和/或提供可以在MR***602上运行的DCA服务614。在一些实施例中,MR***602可以包括被配置为执行指令的一个或多个计算机***。在一些实施例中,DCA服务器618可以管理和/或确定网络套接字(network socket),以对其发送数据包和/或从其接收数据包。
在一些实施例中,DCA服务器618可以被配置为执行可以在运行时环境中运行的指令。在一些实施例中,DCA服务器618可以被配置为执行父进程的子进程。在一些实施例中,DCA服务器618可以被配置为执行父进程的线程。在一些实施例中,DCA服务器618可以被配置为操作服务(例如,作为后台操作***服务)。在一些实施例中,由DCA服务器618执行的进程、子进程、线程和/或服务可以被配置为在主机***的操作***运行时连续运行(例如,在后台)。在一些实施例中,由DCA服务器618执行的服务可以是父后台服务的实例化,父后台服务可以用作一个或多个后台进程和/或子进程的主机进程。
在一些实施例中,DCA服务614可以包括一个或多个计算机***,该计算机***被配置为执行指令并且可以被配置为接收数据包和/或发送数据包(例如,对应于虚拟内容的数据包)。在一些实施例中,DCA服务614可以被配置为向3D模型库602发送数据包和/或从3D模型库602接收数据包。
在一些实施例中,DCA服务614可以被配置为执行可以在运行时环境中运行的指令。在一些实施例中,DCA服务614可以被配置为执行父进程的子进程。在一些实施例中,DCA服务614可以被配置为执行父进程的线程。在一些实施例中,DCA服务614可以被配置为操作服务(例如,作为后台操作***服务)。在一些实施例中,由DCA服务614执行的进程、子进程、线程和/或服务可以被配置为在主机***的操作***运行时连续运行(例如,在后台)。在一些实施例中,由DCA服务614执行的服务可以是父后台服务的实例化,父后台服务可以用作一个或多个后台进程和/或子进程的主机进程。
在一些实施例中,3D模型库604可以包括被配置为执行指令的一个或多个计算机***。例如,3D模型库604可以被配置为执行可以在运行时环境中运行的进程。在一些实施例中,3D模型库604可以被配置为执行父进程的子进程。在一些实施例中,3D模型库604可以被配置为执行父进程的线程。在一些实施例中,3D模型库604可以被配置为操作服务(例如,作为后台操作***服务)。在一些实施例中,由3D模型库604执行的进程、子进程、线程和/或服务可以被配置为在主机***的操作***运行时连续运行(例如,在后台)。在一些实施例中,由3D模型库604执行的服务可以是父后台服务的实例化,父后台服务可以用作一个或多个后台进程和/或子进程的主机进程。
3D模型库604可以管理编辑虚拟内容(例如,3D模型)和/或将虚拟内容与其他***同步。在一些实施例中,3D模型库604可包括工具桥612。在一些实施例中,工具桥612可以被配置为接收数据包和/或发送数据包。在一些实施例中,工具桥612可以解析所接收的数据包。例如,工具桥612可以解密包含在数据包中的信息。在一些实施例中,工具桥612可以提取对应于目的地的数据。例如,工具桥612可以提取文件目录位置并在该位置处存储对应于数据包的数据。在一些实施例中,工具桥612可确定数据包的有效载荷包括增量文件。在一些实施例中,工具桥612可确定数据包的有效载荷包括独立虚拟内容。在一些实施例中,工具桥612可以生成数据包。
在一些实施例中,3D模型库604可以将信息(例如,对应于共享的虚拟内容)发送到应用603。在一些实施例中,MR***602可以显示虚拟内容(例如,使用应用603,其可以是图库应用)。在一些实施例中,应用603可以显示对应于从计算机616接收的数据包的更新的虚拟内容。在一些实施例中,应用603可以用新接收的虚拟内容替换先前显示的虚拟内容。在一些实施例中,应用603可以基于从计算机616接收的增量文件来修改先前显示的虚拟内容。在一些实施例中,用户可以修改虚拟内容(例如,通过旋转虚拟内容、添加到虚拟内容、移除虚拟内容、注释虚拟内容等)。在一些实施例中,可以在注释模块606中管理、存储和/或记录对虚拟内容的注释(例如,标记、评论等)。在一些实施例中,注释模块606可以促进注释虚拟内容(例如,通过为用户提供注释虚拟内容的用户接口)。在一些实施例中,可以在3D查看器和操纵模块608中管理和/或存储3D内容操纵(例如,旋转3D内容、添加内容、移除内容)。在一些实施例中,3D查看器和操纵模块608可以促进操纵虚拟内容(例如,通过为用户提供操纵虚拟内容的用户接口)。
在一些实施例中,对3D内容的改变(例如,注释、其他操纵)可以被发送到协作核心610。在一些实施例中,协作核心610可以生成对应于对3D内容的改变的数据包。在一些实施例中,协作核心610可以将数据包发送到远程服务器以处理对3D内容的同时编辑的同步(例如,如果另一用户同时编辑相同的3D内容)。在一些实施例中,协作核心610可以被配置为为外部同步服务(例如,Firebase)打包数据。在一些实施例中,协作核心610可以接收对应于对3D内容做出的改变的数据。
尽管某些功能可以被描绘为与某些块和/或结构相关联,但是可设想多个功能可以组合成单个块。在一些实施例中,单个功能可以被分成多个块。在一些实施例中,3D模型库604可包括在应用603中。在一些实施例中,协作核心610可以作为MR***604的后台操作服务运行。
图7示出了根据一些实施例的用于初始化计算***与MR***之间的连接的示例性过程。在步骤702处,可以发起配对过程并且可以呈现配对信息。在一些实施例中,可以使用计算***(例如,台式计算机)来执行步骤702。例如,用户可以将台式配套应用下载到台式计算机,并且用户可能希望将台式计算机与MR***连接。在一些实施例中,用户可以使用与MR***相关联的帐户登录DCA。在一些实施例中,可以呈现配对信息。例如,DCA可以在台式计算机的屏幕上呈现QR码。在一些实施例中,QR码可包括计算机的IP地址。在一些实施例中,QR码可包括计算机的网络端口。在一些实施例中,QR码可包括加密密钥的散列。在一些实施例中,QR码可包括安全证书的散列。
在步骤704处,可以接收配对信息并且可以发起连接。在一些实施例中,可以使用MR***来执行步骤704。例如,用户可以在MR***上打开QR码阅读应用。在一些实施例中,MR***可以自动检测QR码。在一些实施例中,可以向用户呈现通知(例如,作为用户使用关联帐户登录DCA的结果)。在一些实施例中,MR***可以接收配对信息(例如,通过读取由台式计算机显示的QR码)。在一些实施例中,MR***可以发起与计算***的连接(例如,通过使用包括在配对信息中的网络信息)。在一些实施例中,使MR***发起与计算***的连接可能更安全。例如,计算***可能发起与不正确的MR***的连接和/或被流氓***拦截,并且敏感信息可能被无意地发送。
在步骤706处,可以发送对应于配对信息的第一认证数据。在一些实施例中,可以使用计算***来执行步骤706。例如,台式计算机可以使用由MR***发起的连接来发送加密密钥和/或安全证书。在一些实施例中,发送的加密密钥和/或安全证书可以对应于作为配对信息的一部分包括的散列。
在步骤708处,可以验证第一认证数据并且可以发送第二认证数据。在一些实施例中,可以使用MR***来执行步骤708。例如,MR***可以计算用于从台式计算机接收到的加密密钥的散列。在一些实施例中,如果计算的散列对应于在配对信息中包括的散列,则MR***可以确定它已经与预期的计算***连接。在一些实施例中,MR***可以发送第二认证数据(例如,由MR***签名的安全证书)。
在步骤710处,可以验证第二认证数据并且可以接收可访问应用的列表。在一些实施例中,可以使用计算***来执行步骤710。例如,台式计算机可以接收签名的安全证书并确定台式计算机成功地与MR***配对。在一些实施例中,台式计算机可以接收可访问应用的列表。在一些实施例中,可访问应用可以是当前在配对的MR***上运行的应用。在一些实施例中,可访问应用可以是被配置为与DCA兼容的应用。在一些实施例中,将DCA限制为仅访问MR***上的开放应用可能是有益的。例如,如果DCA被破坏,则DCA可能仅能够访问MR***的用户已明确打开的应用。在一些实施例中,可以认为MR***上的任何应用(运行与否)是可访问应用。
在步骤712处,可以生成并发送第一数据包。在一些实施例中,可以使用计算***来执行步骤712。例如,台式计算机可以生成对应于要发送到连接的MR***的虚拟内容的数据包。在一些实施例中,虚拟内容可包括3D模型。在一些实施例中,虚拟内容可包括文本。在一些实施例中,虚拟内容可包括图片和/或视频。可以使用任何类型的虚拟内容。在一些实施例中,数据包可包括关于虚拟内容的元数据。例如,数据包可包括用于虚拟内容的期望目的地。在一些实施例中,可以加密数据包(例如,使用加密密钥)。
在步骤714处,可以接收第一数据包,并且可以使用可访问应用来显示虚拟内容。在一些实施例中,可以使用MR***来执行步骤714。例如,MR***可以接收第一数据包并提取期望的位置来存储数据包。在一些实施例中,MR***可以解密数据包(例如,使用加密密钥)。在一些实施例中,MR***可以提取对应于数据包的虚拟内容并将其显示给用户。
在步骤716处,可以修改虚拟内容,可以生成第二数据包,并且可以发送第二数据包。在一些实施例中,可以使用MR***来执行步骤716。例如,用户可以旋转虚拟内容、注释虚拟内容等。在一些实施例中,可以生成对应于虚拟内容和/或对虚拟内容的修改的第二数据包。在一些实施例中,可以加密数据包。在一些实施例中,数据包可以包括用于虚拟内容的期望目的地和/或对虚拟内容的修改。
图8示出了根据一些实施例的用于利用工具桥的示例性过程。在步骤802处,可以接收第一数据包。在一些实施例中,可以在MR***处接收第一数据包。在一些实施例中,可以从主机应用接收第一数据包。在一些实施例中,主机应用(例如,CAD应用)可以被配置为在远离MR***的计算机***上运行并且通信地耦接到MR***(例如,连接到MR***的台式计算机)。在一些实施例中,第一数据包可包括对应于3D虚拟模型的数据。在一些实施例中,第一数据包可以包括对应于打开和/或操纵3D虚拟模型的期望的目标应用的数据,其中,目标应用可以被配置为在MR***上运行。在一些实施例中,虚拟内容可包括文本。在一些实施例中,虚拟内容可包括图片和/或视频。可以使用任何类型的虚拟内容。在一些实施例中,数据包可包括关于虚拟内容的元数据。例如,数据包可包括用于虚拟内容的期望目的地。
在步骤804处,可以基于第一数据包来识别虚拟内容。在一些实施例中,可以在MR***处执行步骤804。在一些实施例中,可以通过可以包括在虚拟内容中的元数据来识别虚拟内容。例如,元数据可以指示文件类型、可以打开文件/与文件交互的应用等。
在步骤806处,可以呈现虚拟内容。在一些实施例中,可以在MR***处执行步骤806。在一些实施例中,可以向MR***的用户呈现虚拟内容。在一些实施例中,可以经由MR***的透射式显示器来呈现虚拟内容。在一些实施例中,可以在三维空间中呈现虚拟内容,并且用户可能能够在虚拟内容周围走动并且从多个角度/视角物理地检查虚拟内容。
在步骤808处,可以接收指向虚拟内容的用户输入。在一些实施例中,可以在MR***处执行步骤808。在一些实施例中,用户可以使用MR***来操纵虚拟内容。例如,用户可以旋转虚拟内容。在一些实施例中,用户可以注释虚拟内容。在一些实施例中,用户可以移除虚拟内容的部分(例如,用户可以移除3D模型的一个或多个几何特征)。在一些实施例中,用户可以添加到虚拟内容。
在步骤810处,可以基于用户输入和基于第一数据包来生成第二数据包。在一些实施例中,可以在MR***处执行步骤810。在一些实施例中,第二数据包可以对应于虚拟内容的一个或多个操纵(例如,由MR***的用户进行的一个或多个操纵)。在一些实施例中,第二数据包可包括对应于3D虚拟模型的数据。在一些实施例中,第二数据包可以包括对应于打开和/或操纵3D虚拟模型的期望的目标应用的数据,其中,目标应用可以被配置为在远离MR***的计算机***上运行。在一些实施例中,虚拟内容可包括文本。在一些实施例中,虚拟内容可包括图片和/或视频。可以使用任何类型的虚拟内容。在一些实施例中,数据包可包括关于虚拟内容的元数据。例如,数据包可包括用于虚拟内容的期望目的地。
在步骤812处,可以发送第二数据包。在一些实施例中,可以在MR***处执行步骤812。在一些实施例中,可对通信地耦接到MR***的远程计算机***发送第二数据包。例如,可对台式计算机发送第二数据包。在一些实施例中,可对移动设备(例如,智能电话)发送第二数据包。
公开了***、方法和计算机可读介质。根据一些示例,***包括:可穿戴设备,其包括透射式显示器;一个或多个处理器,其被配置为执行方法,该方法包括:经由透射式显示器从主机应用接收包括第一数据的第一数据包;基于第一数据识别虚拟内容;经由透射式显示器呈现虚拟内容的视图;经由可穿戴设备的输入设备接收指向虚拟内容的第一用户输入;基于第一数据和第一用户输入生成第二数据;以及经由可穿戴设备向主机应用发送包括第二数据的第二数据包,其中,主机应用被配置为经由远离可穿戴设备并与可穿戴设备通信的计算机***的一个或多个处理器来执行。在一些示例中,虚拟内容包括3D图形内容并且主机应用包括计算机辅助绘图应用。在一些示例中,方法还包括:接收第二用户输入;以及基于第二用户输入修改虚拟内容的视图。在一些示例中,虚拟内容包括3D图形内容,第一数据对应于3D图形内容的第一状态,并且主机应用被配置为基于第二数据修改3D图形内容的第一状态。在一些示例中,虚拟内容包括3D模型,基于第一数据识别虚拟内容包括:在3D模型库中识别3D模型,以及呈现虚拟内容的视图包括:呈现在3D模型库中识别的3D模型的视图。在一些示例中,虚拟内容包括3D图形内容,以及第一数据包括表示3D图形内容的第一状态与3D图形内容的早期状态之间的变化的数据。在一些示例中,从主机应用接收第一数据包包括:经由第一帮助应用接收第一数据包,第一帮助应用被配置为经由计算机***的一个或多个处理器执行。
根据示例,方法包括:经由包括透射式显示器的可穿戴设备从主机应用接收包括第一数据的第一数据包;基于第一数据识别虚拟内容;经由透射式显示器呈现虚拟内容的视图;经由可穿戴设备的输入设备接收指向虚拟内容的第一用户输入;基于第一数据和第一用户输入生成第二数据;以及经由可穿戴设备向主机应用发送包括第二数据的第二数据包,其中,主机应用被配置为经由远离可穿戴设备并与可穿戴设备通信的计算机***的一个或多个处理器来执行。在一些示例中,虚拟内容包括3D图形内容并且主机应用包括计算机辅助绘图应用。在一些示例中,方法还包括:接收第二用户输入;以及基于第二用户输入修改虚拟内容的视图。在一些示例中,虚拟内容包括3D图形内容,第一数据对应于3D图形内容的第一状态,并且主机应用被配置为基于第二数据修改3D图形内容的第一状态。在一些示例中,虚拟内容包括3D模型,基于第一数据识别虚拟内容包括:在3D模型库中识别3D模型,以及呈现虚拟内容的视图包括:呈现在3D模型库中识别的3D模型的视图。在一些示例中,虚拟内容包括3D图形内容,以及第一数据包括表示3D图形内容的第一状态与3D图形内容的早期状态之间的变化的数据。在一些示例中,从主机应用接收第一数据包包括:经由第一帮助应用接收第一数据包,第一帮助应用被配置为经由计算机***的一个或多个处理器执行。
根据一些示例,非暂态计算机可读介质存储指令,该指令在由一个或多个处理器执行时使得一个或多个处理器执行方法,该方法包括:经由包括透射式显示器的可穿戴设备从主机应用接收包括第一数据的第一数据包;基于第一数据识别虚拟内容;经由透射式显示器呈现虚拟内容的视图;经由可穿戴设备的输入设备接收指向虚拟内容的第一用户输入;基于第一数据和第一用户输入生成第二数据;经由可穿戴设备向主机应用发送包括第二数据的第二数据包,其中,主机应用被配置为经由远离可穿戴设备并与可穿戴设备通信的计算机***的一个或多个处理器来执行。在一些示例中,虚拟内容包括3D图形内容并且主机应用包括计算机辅助绘图应用。在一些示例中,方法还包括:接收第二用户输入;以及基于第二用户输入修改虚拟内容的视图。在一些示例中,虚拟内容包括3D图形内容,第一数据对应于3D图形内容的第一状态,并且主机应用被配置为基于第二数据修改3D图形内容的第一状态。在一些示例中,虚拟内容包括3D模型,基于第一数据识别虚拟内容包括:在3D模型库中识别3D模型,以及呈现虚拟内容的视图包括:呈现在3D模型库中识别的3D模型的视图。在一些示例中,虚拟内容包括3D图形内容,以及第一数据包括表示3D图形内容的第一状态与3D图形内容的早期状态之间的变化的数据。在一些示例中,从主机应用接收第一数据包包括:经由第一帮助应用接收第一数据包,第一帮助应用被配置为经由计算机***的一个或多个处理器执行。
虽然所公开的示例已经参考附图充分描述,但是,应注意到,对于本领域技术人员来说各种改变和修改将变得明显。例如,一个或多个实施方式的元素可以组合、删除、修改、或补充以形成进一步的实施方式。将理解该改变和修改包括在如由附加的权利要求限定的所公开的示例的范围内。

Claims (20)

1.一种***,包括:
可穿戴设备,其包括透射式显示器;
一个或多个处理器,其被配置为执行一种方法,所述方法包括:
经由所述透射式显示器从主机应用接收包括第一数据的第一数据包;
基于所述第一数据,识别虚拟内容;
经由所述透射式显示器呈现所述虚拟内容的视图;
经由所述可穿戴设备的输入设备接收指向所述虚拟内容的第一用户输入;
基于所述第一数据和所述第一用户输入,生成第二数据;以及
经由所述可穿戴设备向所述主机应用发送包括所述第二数据的第二数据包,
其中,所述主机应用被配置为经由远离所述可穿戴设备并与所述可穿戴设备通信的计算机***的一个或多个处理器来执行。
2.根据权利要求1所述的***,其中,所述虚拟内容包括3D图形内容,并且所述主机应用包括计算机辅助绘图应用。
3.根据权利要求1所述的***,其中,所述方法还包括:
接收第二用户输入;以及
基于所述第二用户输入,修改所述虚拟内容的所述视图。
4.根据权利要求1所述的***,其中:
所述虚拟内容包括3D图形内容,
所述第一数据对应于所述3D图形内容的第一状态,以及
所述主机应用被配置为基于所述第二数据修改所述3D图形内容的所述第一状态。
5.根据权利要求1所述的***,其中:
所述虚拟内容包括3D模型,
基于所述第一数据识别虚拟内容包括:在3D模型库中识别所述3D模型,以及
呈现所述虚拟内容的所述视图包括:呈现在所述3D模型库中识别的所述3D模型的视图。
6.根据权利要求1所述的***,其中:
所述虚拟内容包括3D图形内容,以及
所述第一数据包括表示所述3D图形内容的第一状态与所述3D图形内容的早期状态之间的变化的数据。
7.根据权利要求1所述的***,其中,从所述主机应用接收所述第一数据包包括:经由第一帮助应用接收所述第一数据包,所述第一帮助应用被配置为经由所述计算机***的一个或多个处理器执行。
8.一种方法,包括:
经由包括透射式显示器的可穿戴设备从主机应用接收包括第一数据的第一数据包;
基于所述第一数据,识别虚拟内容;
经由所述透射式显示器呈现所述虚拟内容的视图;
经由所述可穿戴设备的输入设备接收指向所述虚拟内容的第一用户输入;
基于所述第一数据和所述第一用户输入,生成第二数据;以及
经由所述可穿戴设备向所述主机应用发送包括所述第二数据的第二数据包,
其中,所述主机应用被配置为经由远离所述可穿戴设备并与所述可穿戴设备通信的计算机***的一个或多个处理器来执行。
9.根据权利要求8所述的方法,其中,所述虚拟内容包括3D图形内容,并且所述主机应用包括计算机辅助绘图应用。
10.根据权利要求8所述的方法,还包括:
接收第二用户输入;以及
基于所述第二用户输入,修改所述虚拟内容的所述视图。
11.根据权利要求8所述的方法,其中:
所述虚拟内容包括3D图形内容,
所述第一数据对应于所述3D图形内容的第一状态,以及
所述主机应用被配置为基于所述第二数据修改所述3D图形内容的所述第一状态。
12.根据权利要求8所述的方法,其中:
所述虚拟内容包括3D模型,
基于所述第一数据识别虚拟内容包括:在3D模型库中识别所述3D模型,以及
呈现所述虚拟内容的所述视图包括:呈现在所述3D模型库中识别的所述3D模型的视图。
13.根据权利要求8所述的方法,其中:
所述虚拟内容包括3D图形内容,以及
所述第一数据包括表示所述3D图形内容的第一状态与所述3D图形内容的早期状态之间的变化的数据。
14.根据权利要求1所述的方法,其中,从所述主机应用接收所述第一数据包包括:经由第一帮助应用接收所述第一数据包,所述第一帮助应用被配置为经由所述计算机***的一个或多个处理器执行。
15.一种非暂态计算机可读介质,其存储指令,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行一种方法,所述方法包括:
经由包括透射式显示器的可穿戴设备从主机应用接收包括第一数据的第一数据包;
基于所述第一数据,识别虚拟内容;
经由所述透射式显示器呈现所述虚拟内容的视图;
经由所述可穿戴设备的输入设备接收指向所述虚拟内容的第一用户输入;
基于所述第一数据和所述第一用户输入,生成第二数据;
经由所述可穿戴设备向所述主机应用发送包括所述第二数据的第二数据包,
其中,所述主机应用被配置为经由远离所述可穿戴设备并与所述可穿戴设备通信的计算机***的一个或多个处理器来执行。
16.根据权利要求15所述的非暂态计算机可读介质,其中,所述方法还包括:
接收第二用户输入;以及
基于所述第二用户输入,修改所述虚拟内容的所述视图。
17.根据权利要求15所述的非暂态计算机可读介质,其中:
所述虚拟内容包括3D图形内容,
所述第一数据对应于所述3D图形内容的第一状态,以及
所述主机应用被配置为基于所述第二数据修改所述3D图形内容的所述第一状态。
18.根据权利要求15所述的非暂态计算机可读介质,其中:
所述虚拟内容包括3D模型,
基于所述第一数据识别虚拟内容包括:在3D模型库中识别所述3D模型,以及
呈现所述虚拟内容的所述视图包括:呈现在所述3D模型库中识别的所述3D模型的视图。
19.根据权利要求15所述的非暂态计算机可读介质,其中:
所述虚拟内容包括3D图形内容,以及
所述第一数据包括表示所述3D图形内容的第一状态与所述3D图形内容的早期状态之间的变化的数据。
20.根据权利要求15所述的非暂态计算机可读介质,其中,从所述主机应用接收所述第一数据包包括:经由第一帮助应用接收所述第一数据包,所述第一帮助应用被配置为经由所述计算机***的一个或多个处理器执行。
CN202180028410.5A 2020-02-14 2021-02-12 工具桥 Active CN115516364B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062976995P 2020-02-14 2020-02-14
US62/976,995 2020-02-14
PCT/US2021/018035 WO2021163624A1 (en) 2020-02-14 2021-02-12 Tool bridge

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410421677.6A Division CN118276683A (zh) 2020-02-14 2021-02-12 工具桥

Publications (2)

Publication Number Publication Date
CN115516364A true CN115516364A (zh) 2022-12-23
CN115516364B CN115516364B (zh) 2024-04-26

Family

ID=77273493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180028410.5A Active CN115516364B (zh) 2020-02-14 2021-02-12 工具桥

Country Status (5)

Country Link
US (3) US11494528B2 (zh)
EP (1) EP4104000A4 (zh)
JP (1) JP2023514573A (zh)
CN (1) CN115516364B (zh)
WO (1) WO2021163624A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020023419A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Application sharing
JP2023513250A (ja) 2020-02-10 2023-03-30 マジック リープ, インコーポレイテッド 仮想コンテンツの動的併置
WO2021163624A1 (en) 2020-02-14 2021-08-19 Magic Leap, Inc. Tool bridge
US11475644B2 (en) 2020-02-14 2022-10-18 Magic Leap, Inc. Session manager
JP2023513747A (ja) 2020-02-14 2023-04-03 マジック リープ, インコーポレイテッド 3dオブジェクト注釈
US11875088B2 (en) * 2020-11-24 2024-01-16 Unity Technologies ApS Systems and methods for smart volumetric layouts
US11847748B2 (en) * 2021-10-04 2023-12-19 Snap Inc. Transferring objects from 2D video to 3D AR

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110352085A (zh) * 2017-03-06 2019-10-18 环球城市电影有限责任公司 用于游乐园环境中的分层虚拟特征的***和方法
US20200005538A1 (en) * 2018-06-29 2020-01-02 Factualvr, Inc. Remote Collaboration Methods and Systems
US20200051337A1 (en) * 2018-06-18 2020-02-13 Ptc Inc. Transferring Graphic Objects Between Non-Augmented Reality and Augmented Reality Media Domains

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852988A (en) 1988-09-12 1989-08-01 Applied Science Laboratories Visor and camera providing a parallax-free field-of-view image for a head-mounted eye movement measurement system
US6847336B1 (en) 1996-10-02 2005-01-25 Jerome H. Lemelson Selectively controllable heads-up display system
US6433760B1 (en) 1999-01-14 2002-08-13 University Of Central Florida Head mounted display with eyetracking capability
US9811237B2 (en) 1999-04-06 2017-11-07 Iii Holdings 2, Llc Visual navigation of virtual environments through logical processes
US6491391B1 (en) 1999-07-02 2002-12-10 E-Vision Llc System, apparatus, and method for reducing birefringence
CA2316473A1 (en) 1999-07-28 2001-01-28 Steve Mann Covert headworn information display or data display or viewfinder
CA2362895A1 (en) 2001-06-26 2002-12-26 Steve Mann Smart sunglasses or computer information display built into eyewear having ordinary appearance, possibly with sight license
DE10132872B4 (de) 2001-07-06 2018-10-11 Volkswagen Ag Kopfmontiertes optisches Durchsichtssystem
US20030030597A1 (en) 2001-08-13 2003-02-13 Geist Richard Edwin Virtual display apparatus for mobile activities
WO2003096669A2 (en) 2002-05-10 2003-11-20 Reisman Richard R Method and apparatus for browsing using multiple coordinated device
CA2388766A1 (en) 2002-06-17 2003-12-17 Steve Mann Eyeglass frames based computer display or eyeglasses with operationally, actually, or computationally, transparent frames
US6943754B2 (en) 2002-09-27 2005-09-13 The Boeing Company Gaze tracking system, eye-tracking assembly and an associated method of calibration
US7347551B2 (en) 2003-02-13 2008-03-25 Fergason Patent Properties, Llc Optical system for monitoring eye movement
US7500747B2 (en) 2003-10-09 2009-03-10 Ipventure, Inc. Eyeglasses with electrical components
US7800614B2 (en) 2004-02-17 2010-09-21 Oracle America, Inc. Efficient communication in a client-server scene graph system
EP1755441B1 (en) 2004-04-01 2015-11-04 Eyefluence, Inc. Biosensors, communicators, and controllers monitoring eye movement and methods for using them
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US20130073978A1 (en) 2011-09-16 2013-03-21 Social Communications Company Capabilities based management of virtual areas
US20110213664A1 (en) 2010-02-28 2011-09-01 Osterhout Group, Inc. Local advertising content on an interactive head-mounted eyepiece
US8890946B2 (en) 2010-03-01 2014-11-18 Eyefluence, Inc. Systems and methods for spatially controlled scene illumination
US8531355B2 (en) 2010-07-23 2013-09-10 Gregory A. Maltz Unitized, vision-controlled, wireless eyeglass transceiver
US8860760B2 (en) 2010-09-25 2014-10-14 Teledyne Scientific & Imaging, Llc Augmented reality (AR) system and method for tracking parts and visually cueing a user to identify and locate parts in a scene
US9292973B2 (en) 2010-11-08 2016-03-22 Microsoft Technology Licensing, Llc Automatic variable virtual focus for augmented reality displays
FR2974474B1 (fr) 2011-04-19 2017-11-17 Prologue Procedes et appareils de production et de traitement de representations de scenes multimedias
US8929589B2 (en) 2011-11-07 2015-01-06 Eyefluence, Inc. Systems and methods for high-resolution gaze tracking
US8611015B2 (en) 2011-11-22 2013-12-17 Google Inc. User interface
US8235529B1 (en) 2011-11-30 2012-08-07 Google Inc. Unlocking a screen using eye tracking information
US10013053B2 (en) 2012-01-04 2018-07-03 Tobii Ab System for gaze interaction
US8638498B2 (en) 2012-01-04 2014-01-28 David D. Bohn Eyebox adjustment for interpupillary distance
US9274338B2 (en) 2012-03-21 2016-03-01 Microsoft Technology Licensing, Llc Increasing field of view of reflective waveguide
US9751011B2 (en) 2012-05-25 2017-09-05 Electronics Arts, Inc. Systems and methods for a unified game experience in a multiplayer game
US8989535B2 (en) 2012-06-04 2015-03-24 Microsoft Technology Licensing, Llc Multiple waveguide imaging structure
US10025379B2 (en) 2012-12-06 2018-07-17 Google Llc Eye tracking wearable devices and methods for use
EP2951811A4 (en) 2013-01-03 2016-08-17 Meta Co DIGITAL EYES FOR EXTRAMISSIVE SPATIAL IMAGING, PROCESSES AND SYSTEMS FOR VIRTUAL OR ENLARGED VISIBILITY, MANIPULATION, PRODUCTION OR INTERACTION WITH OBJECTS, MATERIALS, OR OTHER UNITS
US20140195918A1 (en) 2013-01-07 2014-07-10 Steven Friedlander Eye tracking user interface
CA2913218C (en) 2013-05-24 2022-09-27 Awe Company Limited Systems and methods for a shared mixed reality experience
US10572215B1 (en) 2014-03-31 2020-02-25 Amazon Technologies, Inc. Extendable architecture for augmented reality system
US9519481B2 (en) 2014-06-27 2016-12-13 International Business Machines Corporation Branch synthetic generation across multiple microarchitecture generations
US10810797B2 (en) 2015-05-22 2020-10-20 Otoy, Inc Augmenting AR/VR displays with image projections
US10665020B2 (en) 2016-02-15 2020-05-26 Meta View, Inc. Apparatuses, methods and systems for tethering 3-D virtual elements to digital content
WO2017214559A1 (en) * 2016-06-10 2017-12-14 Dirtt Environmental Solutions, Inc. Mixed-reality architectural design environment
US10699484B2 (en) * 2016-06-10 2020-06-30 Dirtt Environmental Solutions, Ltd. Mixed-reality and CAD architectural design environment
US10147243B2 (en) 2016-12-05 2018-12-04 Google Llc Generating virtual notation surfaces with gestures in an augmented and/or virtual reality environment
EP3340012A1 (en) * 2016-12-26 2018-06-27 CaptoGlove International Limited Haptic interaction method, tool and system
WO2018175335A1 (en) 2017-03-24 2018-09-27 Pcms Holdings, Inc. Method and system for discovering and positioning content into augmented reality space
US10871934B2 (en) 2017-05-04 2020-12-22 Microsoft Technology Licensing, Llc Virtual content displayed with shared anchor
US10685456B2 (en) 2017-10-12 2020-06-16 Microsoft Technology Licensing, Llc Peer to peer remote localization for devices
US10559133B2 (en) * 2018-02-07 2020-02-11 Dell Products L.P. Visual space management across information handling system and augmented reality
US11087538B2 (en) 2018-06-26 2021-08-10 Lenovo (Singapore) Pte. Ltd. Presentation of augmented reality images at display locations that do not obstruct user's view
WO2020023419A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Application sharing
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
US10854006B2 (en) 2018-11-15 2020-12-01 Palo Alto Research Center Incorporated AR-enabled labeling using aligned CAD models
JP2023513250A (ja) 2020-02-10 2023-03-30 マジック リープ, インコーポレイテッド 仮想コンテンツの動的併置
JP2023513747A (ja) 2020-02-14 2023-04-03 マジック リープ, インコーポレイテッド 3dオブジェクト注釈
US11475644B2 (en) 2020-02-14 2022-10-18 Magic Leap, Inc. Session manager
WO2021163624A1 (en) 2020-02-14 2021-08-19 Magic Leap, Inc. Tool bridge

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110352085A (zh) * 2017-03-06 2019-10-18 环球城市电影有限责任公司 用于游乐园环境中的分层虚拟特征的***和方法
US20200051337A1 (en) * 2018-06-18 2020-02-13 Ptc Inc. Transferring Graphic Objects Between Non-Augmented Reality and Augmented Reality Media Domains
US20200005538A1 (en) * 2018-06-29 2020-01-02 Factualvr, Inc. Remote Collaboration Methods and Systems

Also Published As

Publication number Publication date
US20210256175A1 (en) 2021-08-19
EP4104000A4 (en) 2023-07-12
US20240005050A1 (en) 2024-01-04
US11494528B2 (en) 2022-11-08
WO2021163624A1 (en) 2021-08-19
US11797720B2 (en) 2023-10-24
JP2023514573A (ja) 2023-04-06
CN115516364B (zh) 2024-04-26
EP4104000A1 (en) 2022-12-21
US20230014150A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
US11763559B2 (en) 3D object annotation
CN115516364B (zh) 工具桥
CN113168007B (zh) 用于增强现实的***和方法
US11475644B2 (en) Session manager
US11335070B2 (en) Dynamic colocation of virtual content
US11961194B2 (en) Non-uniform stereo rendering
JP2023514571A (ja) 遅延オーディオ追従
CN118276683A (zh) 工具桥
WO2023183054A1 (en) Optimized mixed reality audio rendering

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