CN109923509A - 虚拟现实中的对象的协同操纵 - Google Patents

虚拟现实中的对象的协同操纵 Download PDF

Info

Publication number
CN109923509A
CN109923509A CN201780069141.0A CN201780069141A CN109923509A CN 109923509 A CN109923509 A CN 109923509A CN 201780069141 A CN201780069141 A CN 201780069141A CN 109923509 A CN109923509 A CN 109923509A
Authority
CN
China
Prior art keywords
manipulation
user
state
request
conflict
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
CN201780069141.0A
Other languages
English (en)
Other versions
CN109923509B (zh
Inventor
蒂姆·格利森
伊恩·麦吉利夫雷
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN109923509A publication Critical patent/CN109923509A/zh
Application granted granted Critical
Publication of CN109923509B publication Critical patent/CN109923509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04815Interaction 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
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • H04L1/0018Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement based on latency requirement

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

VR环境中的冲突解决技术涉及在VR环境中的虚拟对象由所述VR环境中的一个以上的用户同时操纵时VR服务器生成冲突状态。当所述虚拟对象处于冲突状态时,所述VR服务器向每个用户示出他们自己的操纵。当冲突解决时,向所提出的操纵未被选择的所述用户示出其操纵被动画成已解决状态。通过这种方式,每个用户都看到所述VR环境的自然且连贯的视图,并且仍然沉浸在该环境中。虚拟对象在操纵时不会突然消失也不会以不同的形式重新出现在其它地方,而是以连续的方式改变。

Description

虚拟现实中的对象的协同操纵
相关申请的交叉引用
本申请是于2016年12月2日提交的标题为“COLLABORATIVE MANIPULATION OFOBJECTS IN VIRTUAL REALITY”的美国专利申请No.15/367,953的继续申请并且要求其优先权,该申请的公开内容通过引用全部并入本文。
技术领域
本说明书涉及虚拟现实环境中的对象。
背景技术
多个用户可以在协同环境中与软件对象交互。网络滞后和其它因素可能会导致冲突发生,例如,两个或多个用户同时尝试以不同方式修改相同对象。
发明内容
在一个一般方面中,方法可以包括:通过被配置为产生虚拟现实(VR)环境的VR服务器的处理电路系统,接收来自第一用户的执行VR环境中的对象从当前状态到第一状态的第一操纵的第一请求以及来自第二用户的执行VR环境中的对象从当前状态到第二状态的第二操纵的第二请求。该方法还可以包括识别指示第一请求与第二请求之间的冲突的冲突状况。该方法可以进一步包括:在执行第一操纵之后向第一用户提供对象的图像,并且在执行第二操纵之后向第二用户提供对象的图像。该方法可以进一步包括解决冲突以产生指示对第一请求的授予和对第二请求的拒绝的已解决状况。该方法可以进一步包括:响应于产生已解决状况,向第二用户提供对象到第一状态的操纵的动画。
在下面的附图和说明书中陈述一种或多种实现方式的细节。其它特征将通过说明书和附图以及权利要求而变得显而易见。
附图说明
图1是图示了可以实施本文描述的改进技术的示例电子环境的示意图。
图2是图示了实施图1所示的改进技术的示例方法的流程图。
图3A和3B是根据图1所示的改进技术在冲突解决之前与VR环境中的对象交互的示例用户集合的示意图。
图4是图示了根据图1所示的改进技术解决冲突的示例过程的流程图。
图5A和5B是根据图1所示的改进技术在冲突解决之后与VR环境中的对象交互的示例用户集合的示意图。
图6图示了可以与此处描述的电路一起使用的计算机装置和移动计算机装置的示例。
图7是描绘了示例VR头戴式显示器(HMD)的示意图。
图8A、8B和8C是描绘了示例VR HMD和控制器的示意图。
具体实施方式
多个用户可以与软件对象交互。网络滞后和其它因素可能会导致冲突发生,例如,两个或多个用户同时尝试以不同方式修改相同对象,例如,共享文档编辑环境中的单词。在共享环境中解决冲突的传统方法涉及移动对象或隐藏对象直到批准更改。
解决冲突的传统方法适用于用户未沉浸的二维环境,例如,协同文字处理软件。然而,在诸如VR的三维沉浸式环境中,解决冲突的传统方法可能会导致用户不适和/或破坏他们在相应环境中的沉浸感。
根据本文描述的实现方式,VR环境中的冲突解决改进技术涉及在VR环境中的虚拟对象由VR环境中的一个以上的用户同时操纵时VR服务器生成冲突状态。当虚拟对象处于冲突状态时,VR服务器向每个用户示出他们自己的操纵。当冲突解决时,每个用户都看到虚拟对象被动画成已解决状态。通过这种方式,每个用户都看到VR环境的自然且连贯的视图,并且仍然沉浸在该环境中。虚拟对象在操纵时不会突然消失也不会以不同的形式重新出现在其它地方,而是以连续的方式改变。
图1是图示了可以实施上述改进技术的示例电子环境100的示意图。如所示,在图1中,电子环境100包括多个用户112(1)、…、112(N),每个用户都经由由用户装置114(1)、…、114(N)控制的相应VR控制器110(1)、…、110(N)沉浸在VR环境中。电子环境100还包括VR服务器计算机120和网络150。
VR控制器110可以采取头戴式显示器(HMD)的形式,其由用户112佩戴以提供沉浸式虚拟环境。在示例电子环境100中,佩戴VR控制器110(1)的用户112(1)拿着用户装置,即,用户装置114(1)。例如,用户装置114(1)可以是智能电话、控制器、控制杆或可以与VR控制器110(1)配对和通信以在沉浸式虚拟环境中进行交互的(多个)另一便携手持式电子装置。用户装置114(1)可以经由,例如,有线连接或无线连接(诸如,例如,WiFi或蓝牙连接)与VR控制器110(1)可操作地耦合或配对。用户装置114(1)与VR控制器110(1)的这种配对或者可操作的耦合可以实现用户装置114(1)与VR控制器110(1)之间的通信以及用户装置114(1)与VR控制器110(1)之间的数据交换。这可以使用户装置114(1)充当与VR控制器110(1)通信以在沉浸式虚拟环境中进行交互的控制器。即,用户装置114(1)的操纵(诸如,例如,由用户装置114(1)发出并且被引导至虚拟对象或特征以进行选择的光束或射线和/或在用户装置114(1)的触摸表面上接收到的输入和/或用户装置114(1)的移动)可以被转换为由VR控制器110(1)提供的沉浸式虚拟环境中的对应选择或移动或其它类型的交互。
VR服务器计算机120被配置为为沉浸式虚拟环境生成数据并且通过网络150将该数据传输给用户装置,例如,114(1)。如图1所图示的,VR服务器计算机120被实施为通过网络150与用户装置114(1)通信的计算机系统。然而,在其它实现方式中,VR服务器计算机120被包括在其中一个用户装置中,例如,用户装置114(1)。
在一些实施例中,VR服务器计算机120的一个或多个部件可以是或可以包括被配置为处理存储在存储器126中的指令的处理器(例如,处理单元124)。图1所描绘的这种指令的示例包括虚拟环境(VE)通信管理器160和VE冲突解决管理器170。进一步地,如图1所图示的,存储器126被配置为存储各种数据,这些数据是关于使用这种数据的相应管理器所描述的。
VE通信管理器160被配置为接收和处理对虚拟环境的更改的请求,其在VR服务器计算机120中表示为VE数据140。例如,当沉浸在虚拟环境中的用户112(1)移动虚拟环境中的虚拟对象142时,VR控制器/显示器110(1)在本地向用户112(1)显示更改。然而,处理VE数据140以进行显示的用户装置114(1)通过网络150将通过移动虚拟对象而导致的虚拟环境中的更改发送给VR服务器计算机120,从而可以更新存储在其上的VE数据。通过这种方式,沉浸在虚拟环境中的所有用户都可以体验到一个用户对虚拟环境所做的更改。
在一些实现方式中并且如图1所图示的,虚拟环境中的虚拟对象142被表示为网图(mesh)144。三维虚拟对象142的网图144可以包含任何数量的顶点146、边缘148和面150。通过这种方式,对于对象142的任何更改都可以表示为对一个或多个顶点146、边缘148和/或面150的特定更改。进一步地,VR服务器计算机120不仅可以存储对网图144的直接更改,还可以存储二阶效应,例如,作为对象142的变形的一部分的顶点146的移动可以导致另一顶点146移动。
当用户(例如,用户112(1))对虚拟环境中的虚拟对象142进行更改时,VE通信管理器142被配置为将对存储器126的更改存储为待定对象更改154。存储在存储器126中的每个待定对象更改154都表示改变对象142的请求。在许多情况下,待定对象更改154是非冲突的(即,更改是正交的,因为第一更改不会撤销第二更改的任何部分),并且对于对象142的净更改是待定对象更改154的聚合。在一些实现方式中,VR服务器计算机120被配置为根据待定对象更改154对网图144进行更改。然后VE通信管理器160被配置为将更改传递给每个用户装置114(1)、…、114(N),使得每个用户112(1)、…、112(N)都看到虚拟环境中的对象142的相同的聚合更改。
然而,在一些情况下,可能存在冲突的待定对象更改154。例如,考虑到存储在待定对象更改154中的来自用户112(1)的将对象142的边缘148向右移动10cm的请求。假设还存在于大致相同的时间将该相同边缘148向左移动10cm的请求。这种待定对象更改154将会冲突。然而,即使是对非冲突的顶点、边缘和面的更改也可以导致冲突。例如,当第二面的运动撤销第一面的运动的一部分时,第一面和邻近的第二面的移动可以导致冲突运动。
沿着这些线,VE冲突解决管理器170被配置为生成冲突状态152,该冲突状态152指示待定对象更改154中存在冲突对象更改。在一些实现方式中,VE冲突解决管理器170通过定位具有相同时间戳的所有待定对象更改154,然后将规则集合应用于在这些更改中指定的对网图144的更改,来生成冲突状态152。例如,每当相同的顶点146、边缘148和/或面150以一种以上的方式同时改变时,一个这种规则就可以采取生成冲突状态152的形式。因此,将边缘同时向右和向左移动10cm的上述示例会生成冲突状态152。通常,VE冲突解决管理器170响应于识别到诸如上述的冲突状况生成这种冲突状态152。
响应于存在冲突状态152,VE冲突解决管理器170进一步被配置为解决冲突。在该上下文中,解决冲突通常意味着选择被识别为导致冲突状态152的待定对象更改154中的一个待定对象更改154。在一些实现方式中,VE冲突解决管理器170被配置为应用规则集合来选择要在虚拟环境内应用的待定对象更改154。然后VE通信管理器160被配置为通过网络150将所选对象更改传送给用户装置114(1)、…、114(N)。
VR服务器计算机120包括网络接口122、一个或多个处理单元124和存储器126。网络接口122包括,例如,以太网适配器、令牌环适配器等以将从网络150接收到的电子信号和/或光学信号转换为电子形式以供VR服务器计算机120使用。该组处理单元124包括一个或多个处理芯片和/或组件。存储器126包括易失性存储器(例如,RAM)和非易失性存储器,诸如,一个或多个ROM、磁盘驱动器、固态驱动器等。该组处理单元124和存储器126共同形成控制电路系统,该控制电路系统被配置和设置为执行本文描述的各种方法和功能。
用户装置120的部件(例如,模块、处理单元124)可以被配置为基于一个或多个平台(例如,一个或多个类似或不同的平台)进行操作,该一个或多个平台可以包括一种或多种硬件、软件、固件、操作系统、运行时库等。在一些实现方式中,VR服务器计算机120的部件可以被配置为在装置集群(例如,服务器场)内进行操作。在这种实现方式中,VR服务器计算机120的部件的功能和处理可以被分布到装置集群的若干装置。
VR服务器计算机120的部件可以是或可以包括被配置为处理属性的任何类型的硬件和/或软件。在一些实现方式中,在图1中的VR服务器计算机120的部件中示出的部件的一个或多个部分可以是或可以包括基于硬件的模块(例如,数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器)、固件模块和/或基于软件的模块(例如,计算机代码的模块、可以在计算机处执行的一组计算机可读指令)。例如,在一些实现方式中,VR服务器计算机120的部件的一个或多个部分可以是或可以包括配置用于由至少一个处理器(未示出)执行的软件模块。在一些实现方式中,部件的功能可以包括在不同于图1所示的模块和/或部件中。
尽管未示出,但是在一些实现方式中,用户装置120的部件(或其部分)可以被配置为在例如数据中心(例如,云计算环境)、计算机系统、一个或多个服务器/主机装置等内进行操作。在一些实现方式中,VR服务器计算机120的部件(或其部分)可以被配置为在网络内进行操作。因此,VR服务器计算机120的部件(或其部分)可以被配置为在可以包括一个或多个装置和/或一个或多个服务器装置的各种类型的网络环境内运行。例如,网络可以是或可以包括局域网(LAN)、广域网(WAN)等。网络可以是或可以包括无线网络和/或使用例如网关装置、网桥、交换机等实施的无线网络。网络可以包括一个或多个区段和/或可以具有基于各种协议(诸如,互联网协议(IP)和/或专有协议)的部分。网络可以包括互联网的至少一部分。
在一些实施例中,VR服务器计算机120的一个或多个部件可以是或可以包括被配置为处理存储在存储器中的指令的处理器。例如,VE通信管理器160(和/或其部分)和VE冲突解决管理器170可以是被配置为执行与实施一个或多个功能的过程相关的指令的处理器和存储器的组合。
在一些实现方式中,存储器126可以是任何类型的存储器,诸如,随机存取存储器、磁盘驱动器存储器、闪速存储器等。在一些实现方式中,存储器126可以被实施为与VR服务器计算机120的部件相关联的一个以上的存储器部件(例如,一个以上的RAM部件或磁盘驱动器存储器)。在一些实现方式中,存储器126可以是数据库存储器。在一些实现方式中,存储器126可以是或可以包括非本地存储器。例如,存储器126可以是或可以包括由多个装置(未示出)共享的存储器。在一些实现方式中,存储器126可以与网络内的服务器装置(未示出)相关联并且被配置为为VR服务器计算机120的部件服务。如图2所图示的,存储器126被配置为存储各种数据,包括VE数据140、冲突状态152和待定对象更改154。
图2是描绘了解决虚拟环境内的冲突的示例方法200的流程图。方法200可以由结合图1描述的软件构造执行,其驻留在VR服务器计算机120的存储器126中并且由一组处理单元124运行。
在202处,VR服务器计算机120接收来自第一用户(例如,用户112(1))的第一请求和来自第二用户(例如,用户112(2))的第二请求。例如,第一请求可以由第一用户将VR对象的边缘向虚拟环境中的某个任意轴的右侧移动10cm而产生。进一步地,第二请求可以由第二用户将虚拟对象的相同边缘沿着相对方向移动10cm而产生。该请求可以采取由相应用户装置114(1)和114(2)上的解释器响应于边缘在虚拟环境中的移动而生成的操作转换的形式。
在204处,响应于接收到请求,VR服务器计算机120生成冲突状态,并且向每个用户提供他们自己对VR对象的操纵(即,第一和第二操纵)的结果。这假设VR服务器计算机120已经检测到第一请求与第二请求之间的冲突。例如,在向每个用户112(1)和112(2)提供对VR对象的相应初始操纵时,VR服务器计算机120向用户装置114(1)和114(2)中的每一个提供被配置为显示对被显示的虚拟环境内的VR对象的本地更改的软件和/或硬件。因此,在短时间内,控制器/显示器110(1)会向用户112(1)示出不同于由控制器/显示器110(2)示出给用户112(2)的VR对象的位置。然而,在一些实现方式中,VR服务器计算机120可以向用户装置114(1)和114(2)中的每一个发出不同的对象位置,直到冲突解决。
然而,为了首先检测到冲突状况,VR服务器计算机120可以实时地或者在请求在存储器中存储为例如待定对象更改154时检查请求。例如,在后一种情况下,VR服务器120可以检查对于对象网图的相同顶点、边缘和/或面的更改具有大致相同的时间戳的那些请求。如果存在这种更改,那么VR服务器计算机120可以生成冲突状态152。
在206处,VR服务器计算机120通过授予第一请求和拒绝第二请求来解决冲突。在一些实现方式中,VR服务器计算机120使用规则集合来解决这种冲突。例如,规则集合可以指定至右侧的运动优先于至左侧的运动。在这种情况下,第一请求中的边缘向右移动会优先于该边缘向左移动,并且第一请求会优先。在一些实现方式中,VR服务器计算机120将所有请求维持在存储器126中,无论它们在冲突解决中是否存活。
在208处,VR服务器计算机120向第二用户112(2)提供由第一用户112(1)操纵的VR对象。要注意的是,由于VR服务器计算机120已经向第一用户112(1)提供了其操纵,所以不需要重新发送该操纵。在任何情况下,向第二用户提供操纵的效果是向用户提供虚拟环境的自然且连贯的视图。例如,在传统技术中,维持虚拟环境的控制服务器可能已经删除了虚拟环境中的对象或暂停动作,直到冲突解决,因为这是在二维非沉浸式环境中使用的一种技术,诸如,协同文字处理器。这种传统技术会对沉浸在虚拟环境中的用户产生潜在的不良效果,因为缺乏用户的大脑所依赖的连续性。相反,本文描述的改进技术实现了这种连续性,同时为冲突提供了稳健的解决方案。
在一些实现方式中,VR服务器计算机120在执行第二操纵之后向第一用户提供对象的图像,并且在执行第一操纵之后向第二用户提供对象的图像。在这种情况下,第一用户和第二用户中的每一个都被提供有对象到第一状态和第二状态的操纵的相应图像。VR服务器计算机120然后可以向第一用户112(1)和第二用户112(2)中的每一个提供第二状态下的对象的相应删除,因为这些图像是多余的并且不再需要。
图3A和3B是图示了冲突在虚拟环境中的示例生成的示意图。如图3A所示,存在具有相应控制器302和352的两个用户300和350。用户300经由其头戴式显示器(HMD)310观看他的化身304和虚拟环境中的对象320。用户350经由其HMD 360观看他的化身370和虚拟环境中的对象320。
如图3B所示,用户300经由他的化身304将对象320的边缘322向右移动一定距离,即,在虚拟环境内以一定长度维度测量的10个单位到达位置324。同时,用户350经由他的化身370将对象320的边缘322向左移动10个单位到达位置326。用户300和350的这些操纵使他们相应的用户装置(未示出)生成用于改变对象的请求。
图4是图示了对改变虚拟环境中的对象的请求(诸如从图3所图示的操纵生成的上述请求)的示例处理的流程图。首先,VR服务器计算机120经由VE通信管理器160接收所请求的对于对象320的更改324和326。然后VR服务器计算机120将这些请求作为待定对象更改154存储在存储器126中。
在一些实现方式中,按照操作转换表示待定对象更改154。操作转换(OT)是用于支持高级协同软件系统中的一系列协同功能的技术。OT最初是为了纯文本文档的协同编辑中的一致性维护和并发控制而发明的。然而,已经发现,作为本文描述的改进技术的一部分,OT可以用于表示不同用户对于对象的操纵,这些用户共享包含这些对象的相同的虚拟环境。
在图4中,操纵被示出为作为待定对象更改154存储在存储器中的示例OT 410。在该示例中,第一OT表示根据功能进行操作的某个元素(图3所示的边缘322)的操作“移动”以及操作的幅度和方向(此处,表示向右10个单位)。第一OT还表示在时间T1接收到第一请求的事实。第二OT表示将边缘322向左移动10个单位,在时间T2接收到其请求。
使用表示待定对象更改154的OT的一致语言,VR服务器计算机120确定在任何待定对象更改154之间是否存在冲突。在这种情况下,两个OT 410都对相同元素执行相同操作,但是方向不同并且幅度不同。一般而言,如果时间T2与T1之间的差异小于某个阈值,例如,0.1秒,尽管这种阈值可以大于或小于这个量,那么VR服务器计算机120生成冲突状态152。在一个示例中,当多个不同的用户尝试对相同对象执行更改(在相应时间进行每个更改,相应时间在某个阈值间隔内)或者上面相对于图1描述的任何情况时,出现冲突状况。
如果不存在冲突状态152,那么VR服务器计算机120在任何给定时间对待定对象更改154执行聚合操作。例如,当在大致相同的时间请求两个非冲突更改时,VR服务器计算机120执行两个更改的合成。在大多数情况下,合成的顺序应该不重要。然而,在顺序要紧的情况下,例如,关于围绕不同轴的三维旋转,那么VR服务器计算机120可以生成冲突状态152并且调用VE冲突解决管理器170。
如果存在冲突状态152,那么VR服务器计算机120调用VE冲突解决管理器170,其被配置为通过选择处于冲突状态152的待定对象更改154中的一个待定对象更改154来解决冲突。如本文描述的,在一些实现方式中,VE冲突解决管理器170参考规则集合420来进行选择。
规则集合420被配置为提供规则集合以选择要将冲突状态下的哪个待定对象更改154选择为虚拟环境中的更改。规则集合420可以用相同的OT语言410表示,该OT语言410用于表示待定对象更改154。例如,一个这种规则可以表示为“Move(edge,+)>Move(edge,-)”,意味着向右移动优先于向左移动。这种规则使第一请求优先于第二请求。
因此,在冲突状态下,VR服务器计算机120选择处于冲突状态152的待定对象更改154中的一个待定对象更改154。通过这种方式,VR服务器计算机120确保所有用户的一致的虚拟环境。
在任何一种情况下,无论是否存在冲突,VE通信管理器都将对于对象的任何净更改传送给用户装置114(1)、…、114(N)中的每一个。在存在冲突并且仅进行一个更改的情况下,请求未得到授予的用户会经由例如文本消息、视觉提示(例如,闪烁)和音频消息将更改传送给他们。在上述示例中,仅用户112(2)需要被传送对于对象320的更改,因为用户112(1)已经具有显示的更改。
图5A和5B是类似于图3A和3B的示意图,除了VR显示器360示出了接受第一更改324而不是更改326的效果。在图5A中,每个用户300和350都在其显示器310和360中看到他们的相应更改。在图5B中,更改326已经消失,并且示出了与更改324相同的新更改524。用户350应该感觉到位于标记为326的位置处的对象已经移动到标记为524的位置。在大多数情况下,该运动是流畅的,例如,包括中间状态,并且是持续的,使得更改不会令用户350不愉快。在一个示例中,在一个或多个中间状态下呈现对象320的位置326到526的更改,并且向用户350而不是用户300示出中间状态的呈现。通过这种方式,用户350看到虚拟对象320被动画成已解决状态。
图6图示了可以与此处描述的技术一起使用的通用计算机装置600和通用移动计算机装置650的示例。
如图6所示,计算装置600旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型计算机和其它合适的计算机。计算装置650旨在表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话和其它类似的计算装置。此处示出的部件、它们的连接和关系以及它们的功能仅仅旨在作为示例,并且不旨在限制本文中描述和/或要求的本发明的实现方式。
计算装置600包括:处理器602、存储器604、存储装置606、连接至存储器604和高速扩展端口610的高速接口608以及连接至低速总线614和存储装置606的低速接口612。部件602、604、606、608、610和612中的每一个都使用各种总线互相连接,并且都可以安装在公共主板上或者以其它方式适当地安装。处理器602可以对在计算装置600内执行的指令进行处理,包括存储在存储器604中或者存储装置606上以在外部输入/输出装置(诸如,被耦合至高速接口608的显示器616)上显示GUI的图形信息的指令。在其它实现方式中,若合适,可以将多个处理器和/或多个总线与多个存储器和多种存储器一起使用。而且,可以连接多个计算装置600,每个装置都提供部分必要的操作(例如,作为服务器阵列、一组刀片服务器或者多处理器系统)。
存储器604存储在计算装置600内的信息。在一个实现方式中,存储器604是一个或多个易失性存储器单元。在另一实现方式中,存储器604是一个或多个非易失性存储器单元。存储器604还可以是另一形式的计算机可读介质,诸如,磁盘或光盘。
存储装置606能够为计算装置600提供海量存储。在一个实现方式中,存储装置606可以是或者包含计算机可读介质,诸如,软盘装置、硬盘装置、光盘装置或磁带装置、闪速存储器或其它类似的固态存储器装置或者装置的阵列(包括存储区域网络中的装置或者其它配置的装置)。计算机程序产品可以有形地实施在信息载体中。计算机程序产品还可以包含指令,该指令在被执行时执行一种或多种方法,诸如,上文描述的那些方法。信息载体是计算机可读介质或者机器可读介质,诸如,存储器604、存储装置606或者在处理器602上的存储器。
高速控制器608管理计算装置500的带宽密集型操作,而低速控制器612管理较低的带宽密集型操作。这种功能分配仅是示例性的。在一个实现方式中,高速控制器608被耦合至存储器604、显示器616(例如,通过图形处理器或者加速器)和高速扩展端口610,该高速扩展端口610可以接受各种扩展卡(未示出)。在实现方式中,低速控制器612被耦合至存储装置506和低速扩展端口614。可以包括各种通信端口(例如,USB、蓝牙、以太网和无线以太网)的低速扩展端口可以通过网络适配器被耦合至一个或多个输入/输出装置,诸如,键盘、指向装置、扫描仪或者网路装置(诸如,交换机或者路由器)。
如图所示,可以利用多种不同形式来实施计算装置600。例如,可以将计算装置600实施为标准服务器620,或者多次实施在一组这样的服务器中。还可以将计算装置600实施为机架式服务器系统624的一部分。另外,计算装置600可以实施在个人计算机(诸如,膝上型计算机622)中。可替代地,来自计算装置600的部件可以与移动装置(未示出)(诸如,装置650)中的其它部件组合。每个这种装置都可以包含一个或多个计算装置600、650,并且整个系统可以由彼此通信的多个计算装置600、650组成。
除了其它部件之外,计算装置650还包括处理器652、存储器664、输入/输出装置(诸如,显示器654)、通信接口666和收发器668。装置650还可以设置有存储装置,诸如,微型硬盘或者其它装置,以提供附加存储。部件650、652、664、654、666和668中的每一个都使用各种总线互相连接,并且若干部件可以安装在公共主板上或者以其它方式适当地安装。
处理器652可以执行在计算装置650内的指令,包括存储在存储器664中的指令。可以将处理器实施为包括单独的和多个模拟和数字处理器的芯片的芯片集。例如,处理器可以提供对装置650的其它部件的协调,诸如,对用户界面、由装置650运行的应用和通过装置650进行的无线通信的控制。
处理器652可以通过被耦合至显示器654的控制接口658和显示器接口656来与用户通信。例如,显示器654可以是TFT LCD(薄膜晶体管液晶显示器)或者OLED(有机发光二极管)显示器或者其它合适的显示技术。显示接口656可以包括用于驱动显示器654向用户呈现图形和其它信息的合适的电路系统。控制接口658可以接收来自用户的命令并且对命令进行转换以提交至处理器652。另外,可以提供外部接口662以与处理器652通信,以便使装置650能够与其它装置进行邻近区域通信。在一些实现方式中,外部接口662可以提供,例如,有线通信,或者在其它实现方式中可以提供无线通信,并且还可以使用多个接口。
存储器664存储在计算装置650内的信息。可以将存储器664实施为一个或多个计算机可读介质、一个或多个易失性存储器单元或者一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器674并且通过扩展接口672将扩展存储器674连接至装置650,该扩展接口672可以包括,例如,SIMM(单线存储器模块)卡接口。这种扩展存储器674可以为装置650提供额外的存储空间,或者还可以存储装置650的应用或者其它信息。具体地,扩展存储器674可以包括用于执行或者补充上文描述的过程的指令,并且还可以包括安全信息。因此,例如,可以将扩展存储器674提供为装置650的安全模块,并且可以利用允许安全使用装置650的指令来对其进行编程。另外,可以经由SIMM卡与附加信息(诸如,将识别信息通过不可侵入的方式放在SIMM卡上)一起来提供安全应用。
存储器可以包括,例如,闪速存储器和/或NVRAM存储器,如下文所描述的。在一个实现方式中,计算机程序产品有形地实施在信息载体中。计算机程序产品包含指令,该指令在被执行时执行一种或多种方法,诸如,上文描述的那些方法。信息载体是计算机可读介质或者机器可读介质,诸如,存储器664、扩展存储器674或者在处理器652上的存储器,其例如可以被容纳在收发器668或者外部接口662上。
装置650可以通过通信接口666无线地通信,若需要,该通信接口666可以包括数字信号处理电路系统。通信接口666可以提供在各种模式或者协议下的通信,诸如,GSM语音呼叫、SMS、EMS或者MMS消息发送、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS等。这种通信可以,例如,通过射频收发器668发生。另外,短程通信可以通过使用,诸如,蓝牙、WiFi或者其它这种收发器(未示出)发生。另外,GPS(全球定位系统)接收器模块670可以将附加的与导航或者位置有关的无线数据提供给装置650,若合适,该无线数据可以供在装置650上运行的应用使用。
装置650还可以使用音频编解码器660进行可听地通信,该音频编解码器660可以接收来自用户的口头信息并且将口头信息转换为可用的数字信息。音频编解码器660同样可以为用户生成可听见的声音,诸如,通过扬声器,例如,在装置650的手机中的扬声器。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括通过在装置650上操作的应用生成的声音。
如图所示,可以利用多种不同形式来实施计算装置650。例如,可以将计算装置650实施为蜂窝电话680。还可以将计算装置650实施为智能电话682、个人数字助理或者其它类似的移动装置的一部分。
图7图示了图3和5所示的头戴式显示器的示例实现方式。在图7中,佩戴HMD 700的用户正拿着便携手持式电子装置702。手持式电子装置702可以是,例如,智能电话、控制器、控制杆或可以与HMD 700配对和通信以在由HMD 700生成的沉浸式虚拟环境中进行交互的另一便携手持式电子装置。手持式电子装置702可以经由,例如,有线连接或无线连接(诸如,例如,WiFi或蓝牙连接)与HMD 700可操作地耦合或配对。手持式电子装置702与HMD 700的这种配对或者可操作的耦合可以实现手持式电子装置702与HMD 700之间的通信和手持式电子装置702与HMD 700之间的数据交换。这可以使手持式电子装置602充当与HMD 700通信的控制器以在由HMD 700生成的沉浸式虚拟环境中进行交互。即,对手持式电子装置702的操纵(诸如,例如,由手持式电子装置702发出并且被引导至虚拟对象或特征以进行选择的光束或射线和/或在手持式电子装置702的触摸表面上接收到的输入和/或手持式电子装置702的移动)可以被转换为由HMD 700生成的沉浸式虚拟环境中的对应选择或移动或其它类型的交互。例如,HMD 700与手持式电子装置702一起可以如上述那样生成虚拟环境,并且可以操纵手持式电子装置702以实现用户相对于上述虚拟环境中的虚拟特征的比例或视角的更改。
图8A和8B是示例HMD的透视图,诸如,例如,图7中的用户佩戴的HMD 700,并且图8C图示了示例手持式电子装置,诸如,例如,图7所示的手持式电子装置702。
手持式电子装置802可以包括容纳装置802的内部部件的壳体803以及可由用户访问的壳体803外部的用户界面804。用户界面804可以包括被配置为接收用户触摸输入的触敏表面806。用户界面804还可以包括用于由用户操纵的其它部件,诸如,例如,致动按钮、旋钮、控制杆等。在一些实现方式中,用户界面804的至少一部分可以被配置为触摸屏,用户界面804的该部分被配置为向用户显示用户界面项,并且还用于在触敏表面806上接收来自用户的触摸输入。手持式电子装置802还可以包括光源808,该光源808被配置为例如响应于在用户界面804处接收到的用户输入通过壳体803中的端口选择性地发出光,例如,光束或射线。
HMD 800可以包括被耦合至框架820的壳体810,其具有音频输出装置830,包括,例如,安装在也被耦合至框架820的耳机中的扬声器。在图8B中,壳体810的前部810a远离壳体810的基部810b旋转,使得容纳在壳体810中的一些部件可见。显示器840可以安装在壳体810的前部810a的内侧。当前部810a相对于壳体810的基部810b处于关闭位置时,透镜850可以安装在壳体810中,处于用户眼睛与显示器840之间。在一些实现方式中,HMD 800可以包括感测系统860(包括各种传感器)和控制系统870(包括处理器890和各种控制系统装置)以促进HMD 800的操作。
在一些实现方式中,HMD 800可以包括照相机880以拍摄静止图像和移动图像。由照相机880拍摄到的图像可以用于帮助追踪用户和/或手持式电子装置802在真实世界中的物理位置或者相对于虚拟环境的物理环境,和/或可以在显示器840上以通过模式将其显示给用户,使用户能够在不移除HMD 800的情况下暂时离开虚拟环境并且返回到物理环境或者改变HMD 800的配置以将壳体810移出用户的视线。
在一些实现方式中,HMD 800可以包括注视追踪装置865以检测并追踪用户的眼睛注视。注视追踪装置865可以包括,例如,图像传感器865A或者多个图像传感器865A以拍摄用户眼睛(例如,用户眼睛的特定部分,诸如,例如,瞳孔)的图像以检测并追踪用户注视的方向和移动。在一些实现方式中,HMD 800可以被配置为使得检测到的注视被处理为用户输入以将其转换为沉浸式虚拟体验中的相应交互。
此处描述的系统和技术的各种实现方式可以在数字电子电路系统、集成电路系统、特别设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实现方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现方式,该可编程系统包括可以是专用或者通用的、被耦合为从其接收数据和指令并且向其传输数据和指令的至少一个可编程处理器、存储系统、至少一个输入装置和至少一个输出装置。
这些计算机程序(也称为程序、软件、软件应用或者代码)包括可编程处理器的机器指令,并且可以利用高级程序和/或面向对象的编程语言和/或汇编/机器语言来实施这些计算机程序。如本文使用的,术语“机器可读介质”、“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后端部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的客户端计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实现方式交互)、或者这种后端部件、中间件部件或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件互相连接。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
已经描述了若干实施例。然而,要理解,可以在不脱离本说明书的精神和范围的情况下做出各种修改。
在一个示例中,在诸如VR服务器计算机120的电子设备中,对象在VR环境中被提供为网图,该网图包括多个顶点、边缘和面。
在另一示例中,在诸如VR服务器计算机120的电子设备中,被配置为识别冲突状况的控制电路系统进一步被配置为识别被执行了第一操纵和第二操纵的对象的网图的公共顶点、边缘或面。
在另一示例中,在诸如VR服务器计算机120的电子设备中,被配置为解决冲突的控制电路系统进一步被配置为:(i)将第一操纵表示为第一操作转换以及(ii)将第二操纵表示为第二操作转换;以及将预定义规则应用于第一操作转换和第二操作转换以产生对第一操纵的授予和对第二操纵的拒绝。
在另一示例中,在诸如VR服务器计算机120的电子设备中,控制电路系统进一步被配置为记录第一操纵的二阶效应。
还要理解,当元件被称为在另一元件上,连接至、电连接至、耦合至或被电耦合至另一元件时,它可以直接在另一元件上,连接至或耦合至另一元件,或者可以存在一个或多个中间元件。相反,当元件被称为直接在另一元件上,直接连接至或直接耦合至另一元件时,不存在中间元件。尽管在整个详细描述中可以不使用术语“直接在其上”、“直接连接至”、或“直接耦合至”,但是被示出为直接在其上、直接连接或直接耦合的元件可以这样表示。可以修正本申请的权利要求以叙述说明书中所描述或附图中所示出的示例性关系。
虽然已经如本文描述的那样图示了所描述的实现方式的某些特征,但是对于本领域的技术人员来说,会发生许多修改、取代、改变和等同物。因此,要理解,随附权利要求书旨在涵盖所有的这种修改和变更,这所有的这种修改和变更落入实现方式的范围内。应该理解的是,它们仅作为示例呈现,而非限制,并且可以进行形式和细节上的各种改变。除了互相排斥的组合以外,本文描述的设备和/或方法的任何部分都可以按照任何组合进行组合。本文描述的实现方式可以包括所描述的不同实现方式的功能、部件和/或特征的各种组合和/或子组合。
另外,在附图中描绘的逻辑流程不需要所示的特定顺序或者相继顺序,以实现期望的结果。另外,可以从所描述的流程提供其它步骤或者可以从所描述的流程删除步骤,并且可以将其它部件添加至所描述的系统或者从所描述的系统移除其它部件。因此,其它实施例在以下权利要求书的范围内。

Claims (15)

1.一种方法,包括:
由被配置为产生虚拟现实(VR)环境的VR服务器的处理电路系统,接收来自第一用户的执行所述VR环境中的对象从当前状态到第一状态的第一操纵的第一请求以及来自第二用户的执行所述VR环境中的所述对象从所述当前状态到第二状态的第二操纵的第二请求;
生成指示所述第一请求与所述第二请求之间的冲突的冲突状态;
在执行所述第一操纵之后向所述第一用户提供所述对象的图像;
在执行所述第二操纵之后向所述第二用户提供所述对象的图像;
解决所述冲突以产生指示对所述第一请求的授予和对所述第二请求的拒绝的已解决状况;以及
响应于产生所述已解决状况,向所述第二用户提供所述对象到所述第一状态的操纵的图像。
2.根据权利要求1所述的方法,其中,向所述第二用户提供所述对象到所述第一状态的操纵的图像包括通过中间状态集合生成所述对象从所述第二状态到所述第一状态的操纵。
3.根据权利要求1所述的方法,进一步包括:
响应于接收到所述第一请求和所述第二请求,在执行所述第二操纵之后向所述第一用户提供所述对象的图像并且在执行所述第一操纵之后向所述第二用户提供所述对象的图像,所述第一用户和第二用户中的每一个都被提供有所述对象到所述第一状态和所述第二状态的所述操纵的相应图像;以及
响应于产生所述已解决状况,向所述第一用户提供所述第二状态下的所述对象的删除,以及
其中,向所述第二用户提供所述对象到所述第一状态的操纵的图像包括向所述第二用户提供所述第二状态下的所述对象的所述删除。
4.根据权利要求1所述的方法,其中,所述对象在所述VR环境中被提供为网图,所述网图包括多个顶点、边缘和面;
其中,生成所述冲突状态包括识别被执行了所述第一操纵和所述第二操纵的所述对象的所述网图的公共顶点、边缘或面。
5.根据权利要求1所述的方法,其中,解决所述冲突包括:
(i)将所述第一操纵表示为第一操作转换以及(ii)将所述第二操纵表示为第二操作转换;
将预定义规则应用于所述第一操作转换和所述第二操作转换以产生对所述第一操纵的所述授予和对所述第二操纵的所述拒绝。
6.根据权利要求1所述的方法,进一步包括记录所述第一操纵的二阶效应。
7.一种计算机程序产品,包括非传递的存储介质,所述计算机程序产品包括代码,所述代码在由被配置为产生第一用户和第二用户所沉浸的虚拟现实(VR)环境的VR服务器的处理电路系统执行时使所述处理电路系统执行方法,所述方法包括:
接收来自第一用户的执行所述VR环境中的对象从当前状态到第一状态的第一操纵的第一请求以及来自第二用户的执行所述VR环境中的所述对象从所述当前状态到第二状态的第二操纵的第二请求;
生成指示所述第一请求与所述第二请求之间的冲突的冲突状态;
在执行所述第一操纵之后向所述第一用户提供所述对象的图像;
在执行所述第二操纵之后向所述第二用户提供所述对象的图像;
解决所述冲突以产生指示对所述第一请求的授予和对所述第二请求的拒绝的已解决状况;以及
响应于产生所述已解决状况,向所述第二用户提供所述对象到所述第一状态的操纵的图像。
8.根据权利要求7所述的计算机程序产品,其中,向所述第二用户提供所述对象到所述第一状态的操纵的图像包括通过中间状态集合生成所述对象从所述第二状态到所述第一状态的操纵。
9.根据权利要求7所述的计算机程序产品,其中,所述方法进一步包括:
响应于接收到所述第一请求和所述第二请求,在执行所述第二操纵之后向所述第一用户提供所述对象的图像并且在执行所述第一操纵之后向所述第二用户提供所述对象的图像,所述第一用户和第二用户中的每一个都被提供有所述对象到所述第一状态和所述第二状态的所述操纵的相应图像;以及
响应于产生所述已解决状况,向所述第一用户提供所述第二状态下的所述对象的删除,以及
其中,向所述第二用户提供所述对象到所述第一状态的操纵的图像包括向所述第二用户提供所述第二状态下的所述对象的所述删除。
10.根据权利要求7所述的计算机程序产品,其中,所述对象在所述VR环境中被提供为网图,所述网图包括多个顶点、边缘和面;
其中,生成所述冲突状态包括识别被执行了所述第一操纵和所述第二操纵的所述对象的所述网图的公共顶点、边缘或面。
11.根据权利要求7所述的计算机程序产品,其中,解决所述冲突包括:
(i)将所述第一操纵表示为第一操作转换以及(ii)将所述第二操纵表示为第二操作转换;
将预定义规则应用于所述第一操作转换和所述第二操作转换以产生对所述第一操纵的所述授予和对所述第二操纵的所述拒绝。
12.根据权利要求7所述的计算机程序产品,其中,所述方法进一步包括记录所述第一操纵的二阶效应。
13.一种电子设备,被配置为产生第一用户和第二用户所沉浸的VR环境,所述电子设备包括:
存储器;以及
控制电路系统,所述控制电路系统被耦合至所述存储器,所述控制电路系统被配置为:
接收来自第一用户的执行所述VR环境中的对象从当前状态到第一状态的第一操纵的第一请求以及来自第二用户的执行所述VR环境中的所述对象从所述当前状态到第二状态的第二操纵的第二请求;
生成指示所述第一请求与所述第二请求之间的冲突的冲突状态;
在执行所述第一操纵之后向所述第一用户提供所述对象的图像;
在执行所述第二操纵之后向所述第二用户提供所述对象的图像;
解决所述冲突以产生指示对所述第一请求的授予和对所述第二请求的拒绝的已解决状况;以及
响应于产生所述已解决状况,向所述第二用户提供所述对象到所述第一状态的操纵的图像。
14.根据权利要求13所述的电子设备,其中,被配置为向所述第二用户提供所述对象到所述第一状态的操纵的图像的所述控制电路系统进一步被配置为通过中间状态集合生成所述对象从所述第二状态到所述第一状态的操纵。
15.根据权利要求13所述的电子设备,其中,所述控制电路系统进一步被配置为:
响应于接收到所述第一请求和所述第二请求,在执行所述第二操纵之后向所述第一用户提供所述对象的图像并且在执行所述第一操纵之后向所述第二用户提供所述对象的图像,所述第一用户和第二用户中的每一个都被提供有所述对象到所述第一状态和所述第二状态的所述操纵的相应图像;以及
响应于产生所述已解决状况,向所述第一用户提供所述第二状态下的所述对象的删除,以及
其中,被配置为向所述第二用户提供所述对象到所述第一状态的操纵的图像的所述控制电路系统进一步被配置为向所述第二用户提供所述第二状态下的所述对象的所述删除。
CN201780069141.0A 2016-12-02 2017-12-01 虚拟现实中的对象的协同操纵 Active CN109923509B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/367,953 2016-12-02
US15/367,953 US20180158243A1 (en) 2016-12-02 2016-12-02 Collaborative manipulation of objects in virtual reality
PCT/US2017/064148 WO2018102649A1 (en) 2016-12-02 2017-12-01 Collaborative manipulation of objects in virtual reality

Publications (2)

Publication Number Publication Date
CN109923509A true CN109923509A (zh) 2019-06-21
CN109923509B CN109923509B (zh) 2022-08-09

Family

ID=60997526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780069141.0A Active CN109923509B (zh) 2016-12-02 2017-12-01 虚拟现实中的对象的协同操纵

Country Status (6)

Country Link
US (1) US20180158243A1 (zh)
EP (1) EP3549003B1 (zh)
JP (1) JP6782846B2 (zh)
KR (1) KR102282297B1 (zh)
CN (1) CN109923509B (zh)
WO (1) WO2018102649A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10871934B2 (en) * 2017-05-04 2020-12-22 Microsoft Technology Licensing, Llc Virtual content displayed with shared anchor
US20180359448A1 (en) * 2017-06-07 2018-12-13 Digital Myths Studio, Inc. Multiparty collaborative interaction in a virtual reality environment
JP6848834B2 (ja) * 2017-11-29 2021-03-24 トヨタ自動車株式会社 タンクの搭載構造及び車両
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
US11137874B2 (en) 2019-02-22 2021-10-05 Microsoft Technology Licensing, Llc Ergonomic mixed reality information delivery system for dynamic workflows
CN113841416A (zh) * 2019-05-31 2021-12-24 倬咏技术拓展有限公司 互动沉浸洞穴网络
US11790908B2 (en) * 2021-02-09 2023-10-17 International Business Machines Corporation Extended reality based voice command device management
US20240069643A1 (en) * 2022-08-31 2024-02-29 Youjean Cho Physical gesture interaction with objects based on intuitive design
US20240069642A1 (en) * 2022-08-31 2024-02-29 Youjean Cho Scissor hand gesture for a collaborative object

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173850A1 (en) * 2005-01-28 2006-08-03 Auer Wolfgang F Method and apparatus for collision resolution in an asynchronous database system
US20100302233A1 (en) * 2009-05-26 2010-12-02 Holland David Ames Virtual Diving System and Method
US20110078590A1 (en) * 2009-09-25 2011-03-31 Nokia Corporation Method and apparatus for collaborative graphical creation
CN102023706A (zh) * 2009-09-15 2011-04-20 帕洛阿尔托研究中心公司 用于与虚拟环境中的对象进行交互的系统
CN102413168A (zh) * 2010-09-30 2012-04-11 微软公司 呈现同步对象的可用性状态
US20130148891A1 (en) * 2011-12-13 2013-06-13 Sap Ag Usage of visual reader as an input provider in portals
US20130262373A1 (en) * 2012-03-30 2013-10-03 Microsoft Corporation Tracking Co-Authoring Conflicts Using Document Comments
US20130346168A1 (en) * 2011-07-18 2013-12-26 Dylan T X Zhou Wearable augmented reality eyeglass communication device including mobile phone and mobile computing via virtual touch screen gesture control and neuron command
US20150138063A1 (en) * 2013-11-19 2015-05-21 Microsoft Corporation Motion control of a virtual environment
US20150222664A1 (en) * 2012-03-28 2015-08-06 Google Inc. Conflict resolution in extension induced modifications to web requests and web page content
CN105808079A (zh) * 2014-12-29 2016-07-27 鸿合科技有限公司 一种利用手势快速对齐对象的方法和装置
US20160323328A1 (en) * 2015-04-30 2016-11-03 AT&T Intellect Property I, LP Apparatus and method for managing events in a computer supported collaborative work environment
US20160328127A1 (en) * 2015-05-05 2016-11-10 Facebook, Inc. Methods and Systems for Viewing Embedded Videos

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5597869B2 (ja) * 2010-03-31 2014-10-01 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、及び、画像生成装置
US9563265B2 (en) * 2012-01-12 2017-02-07 Qualcomm Incorporated Augmented reality with sound and geometric analysis
US9639984B2 (en) * 2013-06-03 2017-05-02 Daqri, Llc Data manipulation based on real world object manipulation
WO2015102338A1 (ko) * 2014-01-06 2015-07-09 엘지전자 주식회사 이동 단말기 및 그 제어 방법
JP6715826B2 (ja) * 2014-08-25 2020-07-01 ザ エスエスシージー グループ,エルエルシー コンテンツ管理およびプレゼンテーションシステムならびに方法
JP2016085642A (ja) * 2014-10-27 2016-05-19 富士通株式会社 操作支援方法、操作支援プログラムおよび操作支援装置
US20170359407A1 (en) * 2016-06-08 2017-12-14 Maximum Play, Inc. Methods and systems for processing commands in a distributed computing system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173850A1 (en) * 2005-01-28 2006-08-03 Auer Wolfgang F Method and apparatus for collision resolution in an asynchronous database system
US20100302233A1 (en) * 2009-05-26 2010-12-02 Holland David Ames Virtual Diving System and Method
CN102023706A (zh) * 2009-09-15 2011-04-20 帕洛阿尔托研究中心公司 用于与虚拟环境中的对象进行交互的系统
US20110078590A1 (en) * 2009-09-25 2011-03-31 Nokia Corporation Method and apparatus for collaborative graphical creation
CN102413168A (zh) * 2010-09-30 2012-04-11 微软公司 呈现同步对象的可用性状态
US20130346168A1 (en) * 2011-07-18 2013-12-26 Dylan T X Zhou Wearable augmented reality eyeglass communication device including mobile phone and mobile computing via virtual touch screen gesture control and neuron command
US20130148891A1 (en) * 2011-12-13 2013-06-13 Sap Ag Usage of visual reader as an input provider in portals
US20150222664A1 (en) * 2012-03-28 2015-08-06 Google Inc. Conflict resolution in extension induced modifications to web requests and web page content
US20130262373A1 (en) * 2012-03-30 2013-10-03 Microsoft Corporation Tracking Co-Authoring Conflicts Using Document Comments
US20150138063A1 (en) * 2013-11-19 2015-05-21 Microsoft Corporation Motion control of a virtual environment
CN105808079A (zh) * 2014-12-29 2016-07-27 鸿合科技有限公司 一种利用手势快速对齐对象的方法和装置
US20160323328A1 (en) * 2015-04-30 2016-11-03 AT&T Intellect Property I, LP Apparatus and method for managing events in a computer supported collaborative work environment
US20160328127A1 (en) * 2015-05-05 2016-11-10 Facebook, Inc. Methods and Systems for Viewing Embedded Videos

Also Published As

Publication number Publication date
EP3549003A1 (en) 2019-10-09
JP2020501261A (ja) 2020-01-16
JP6782846B2 (ja) 2020-11-11
US20180158243A1 (en) 2018-06-07
KR20190056412A (ko) 2019-05-24
CN109923509B (zh) 2022-08-09
KR102282297B1 (ko) 2021-07-28
EP3549003B1 (en) 2020-05-13
WO2018102649A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
CN109923509A (zh) 虚拟现实中的对象的协同操纵
US10643394B2 (en) Augmented reality
CN110830786B (zh) 混合2d/3d内容的检测和显示
US11043031B2 (en) Content display property management
AU2017204739B2 (en) Massive simultaneous remote digital presence world
US11372655B2 (en) Computer-generated reality platform for generating computer-generated reality environments
US10725297B2 (en) Method and system for implementing a virtual representation of a physical environment using a virtual reality environment
TWI581178B (zh) 混合實境顯示器中使用者控制的真實物件的消失
US20170053445A1 (en) Augmented Reality
US10403045B2 (en) Photorealistic augmented reality system
CN107850779A (zh) 虚拟位置定位锚
CN107787472A (zh) 用于虚拟现实中的凝视交互的悬停行为
CN108073276A (zh) 增强和/或虚拟现实环境的拖拽虚拟元件
CN108697935A (zh) 虚拟环境中的化身
JP7405085B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US11914836B2 (en) Hand presence over keyboard inclusiveness
US20230037750A1 (en) Systems and methods for generating stabilized images of a real environment in artificial reality
CN116964542A (zh) 用于在虚拟现实中提供空间感知的系统和方法
CN113678173A (zh) 用于虚拟对象的基于图绘的放置的方法和设备
Neumann Design and implementation of multi-modal AR-based interaction for cooperative planning tasks
US20230259194A1 (en) Spatial Anchor Sharing for Multiple Virtual Reality Systems in Shared Real-World Environments
WO2023177773A1 (en) Stereoscopic features in virtual reality
WO2023212571A1 (en) Systems, methods, and media for displaying interactive extended reality content

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