CN108780356B - 控制或渲染共存虚拟环境的方法及相关存储介质 - Google Patents

控制或渲染共存虚拟环境的方法及相关存储介质 Download PDF

Info

Publication number
CN108780356B
CN108780356B CN201780016968.5A CN201780016968A CN108780356B CN 108780356 B CN108780356 B CN 108780356B CN 201780016968 A CN201780016968 A CN 201780016968A CN 108780356 B CN108780356 B CN 108780356B
Authority
CN
China
Prior art keywords
virtual environment
avatar
user
coexisting
coexistence
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.)
Active
Application number
CN201780016968.5A
Other languages
English (en)
Other versions
CN108780356A (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 CN108780356A publication Critical patent/CN108780356A/zh
Application granted granted Critical
Publication of CN108780356B publication Critical patent/CN108780356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文公开了一种用于控制第一用户和第二用户的共存虚拟环境的方法,所述方法包括:确定在所述共存虚拟环境中的第一化身的受限空间,所述第一化身对应于所述共存虚拟环境的所述第一用户;从与所述第一用户相关联的第一计算设备接收用户位置数据,并且确定在所述共存虚拟环境内的所述第一化身的位置;当所述第一化身的位置在所述第一化身的受限空间内时,将第一共存虚拟环境修改数据传送给所述第一计算设备;以及将第二共存虚拟环境修改数据传送给与所述第二用户相关联的第二计算设备。

Description

控制或渲染共存虚拟环境的方法及相关存储介质
相关申请的交叉引用
本申请要求于2017年5月15日提交的美国申请No.15/595,369的优先权并且是其继续申请,所述美国申请要求标题为“CO-PRESENCE HANDLING IN VIRTUAL REALITY(虚拟现实中的共存处置)”且于2016年5月16日提交的美国临时申请No.62/336,932的优先权,所述两个美国申请特此以引用的方式并入本文中。
本申请要求标题为“CO-PRESENCE HANDLING IN VIRTUAL REALITY(虚拟现实中的共存处置)”且于2016年5月16日提交的美国临时申请No.62/336,932的优先权,所述美国临时申请的内容特此以引用的方式并入本文中。
技术领域
本文献涉及用于计算机系统的图形用户界面,且更具体涉及在VR和相关应用中使用的虚拟现实(VR)显示器。
背景技术
虚拟现实(VR)系统可以生成三维(3D)浸入式虚拟环境。用户可以通过与各种电子设备交互来体验该3D浸入式虚拟环境,所述各种电子设备诸如例如头盔或其它头戴式设备,包括:显示器、用户在查看显示设备时透过其来看的眼镜或护目镜、配备传感器的手套、包括传感器的外部手持式设备,以及其它这样的电子设备。一旦浸入在3D虚拟环境中,用户就可以通过物理移动和/或操纵电子设备来穿过虚拟环境移动并且移动到虚拟环境的其它区域,以与虚拟环境交互并且个性化与虚拟环境的交互。
在共存虚拟环境中,多于一个用户居于所述虚拟环境中。用户看见共存虚拟环境中的其它玩家的虚拟表示或化身。共存虚拟环境中的用户可以类似于用户与现实世界中的人交互的方式来与化身交互。例如,用户可以移动接近化身,触摸化身,与化身交谈或者向化身做手势,以如他们对真人采用的方式一样进行交流。共存可以增强虚拟环境的现实性,并且提供现实世界中用户可能无法获得的体验。
发明内容
在一个方面中,一种用于控制有关第一用户和第二用户的共存虚拟环境的方法包括确定在共存虚拟环境中的第一化身的受限空间。第一化身可以对应于共存虚拟环境的第一用户。所述方法从与第一用户相关联的第一用户计算设备接收用户位置数据,并且确定在共存虚拟环境内的第一化身的位置。当第一化身的位置在第一化身的受限空间内时,所述方法将第一共存虚拟环境修改数据传送给第一用户计算设备。所述方法还将第二共存虚拟环境修改数据传送给与第二用户相关联的第二用户计算设备。根据一些实施方式,第一共存虚拟环境修改数据与第二共存虚拟环境数据不同。
在一些实施方式中,第一化身的受限空间可以基于以下进行限定:共存虚拟环境的场境(context),共存虚拟环境内的区域,和/或通过已经由共存虚拟环境的一个或多个其他用户限定的安全空间。另外,第一共存虚拟环境修改数据可以包括使第一用户计算设备改变共存虚拟环境的色彩方案或者改变与由第一用户计算设备生成的共存虚拟环境相关联的音频流的指令。第一共存虚拟环境修改数据还可以包括:生成可以指令用户离开第一化身的受限空间的图形指示符的指令。第一共存虚拟环境修改数据还可以包括使第一用户计算设备渲染通知的指令,所述通知示出共存虚拟环境中不可见的其它化身的数目以及被所述方法提供了共存虚拟环境修改数据的其他用户的数目。
在一些实施方式中,第二共存虚拟环境修改数据可以包括第二用户计算设备使第一化身可见或第一化身的一部分在第二用户计算设备渲染的共存虚拟环境中不可见的指令。第二共存虚拟环境修改数据还可以包括使与由第二用户计算设备生成的共存虚拟环境相关联的音频流中的第一化身的音频静音的指令。第二共存虚拟环境修改数据还可以包括使第一用户计算设备渲染通知的指令,所述通知示出共存虚拟环境中不可见的其它化身的数目以及被所述方法提供了共存虚拟环境修改数据的其他用户的数目。
在一些实施方式中,当第一化身的位置在第一化身的受限空间内时,所述方法可以在未接收指示第一用户改变了第一化身的位置的用户位置数据的情况下,将第一化身重新定位到受限空间之外但是在共存虚拟环境内。在这样的实施方式中,所述方法可以将更新的位置数据传送给第一用户计算设备,所述更新的位置数据反映重新定位之后第一化身的位置。在一些实施方式中,所述方法可以将第一化身从共存虚拟环境中移除,并且在所述实施方式中,第一共存虚拟环境修改数据可以包括使第一用户计算设备渲染与共存虚拟环境不同的替代虚拟环境并且将用户放置在该环境内的指令。
该方面的其它实施例包括各自被配置来执行上面所概述的方法的操作的对应计算机系统、装置、和记录在一个或多个计算机存储设备上的计算机程序。
在另一方面,一种用于渲染共存虚拟环境的方法包括传送请求加入共存虚拟环境的消息,所述消息包括与虚拟现实用户设备相关联的初始用户位置数据。所述方法还可以包括响应于虚拟现实用户设备的移动而传送当前用户位置数据。所述方法可以接收虚拟环境修改数据,并且将所接收的虚拟环境修改数据应用于与虚拟现实用户设备相关联的共存虚拟环境的渲染。
在一些实施方式中,初始用户位置数据包括虚拟现实用户设备的初始位置和取向数据,并且所述当前用户位置数据包括虚拟现实用户设备的当前位置和取向数据。在一些实施方式中,初始用户位置数据包括在化身加入共存虚拟环境时,与参与共存虚拟环境的化身相关联的初始位置信息,并且当前位置数据包括与参与共存虚拟环境的化身相关联的当前位置信息。
在一些实施方式中,虚拟环境修改数据可以包括修改共存虚拟环境的色彩或在渲染共存虚拟环境的同时修改由虚拟现实用户设备生成的音频的指令。在一些实施方式中,虚拟环境修改数据可以包括使共存虚拟环境内的一个或多个化身或一个或多个化身的部分不可见的指令。虚拟环境修改数据还可以包括在共存虚拟环境的渲染上渲染通知叠加的指令,所述通知叠加示出共存虚拟环境中不可见的化身的数目和具有对共存虚拟环境的可视访问权的用户数目。
该方面的其它实施例包括各自被配置来执行上面所概述的方法的操作的对应计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序。
一个或多个实施例的细节在以下附图和描述中阐述。其它特征根据描述和附图将是显而易见的。
附图说明
图1A示出与所公开的实施例一致的示例共存虚拟环境系统。
图1B示出与所公开的实施例一致的另一示例共存虚拟环境系统。
图2A示出与所公开的实施例一致的示例头戴式显示器的透视图。
图2B示出与所公开的实施例一致的示例头戴式显示器的另一透视图。
图2C示出与所公开的实施例一致的移动设备的透视图。
图3A示出与所公开的实施例一致的示例共存虚拟环境。
图3B示出与所公开的实施例一致的另一示例共存虚拟环境。
图3C示出与所公开的实施例一致的另一示例共存虚拟环境。
图3D示出与所公开的实施例一致的另一示例共存虚拟环境。
图4示出与所公开的实施例一致的另一示例共存虚拟环境。
图5示出用于渲染共存虚拟环境的过程的流程图。
图6示出用于控制第一用户和第二用户的共存虚拟环境的过程的流程图。
图7示出与所公开的实施例一致的计算机设备和移动计算机设备的示例。
各附图中相似附图标记指示相似的元件。
具体实施方式
虽然共存虚拟环境提供给予用户在现实世界中该用户可能不具有的交互式体验的益处,但是一些用户可以利用共存虚拟环境并做出在现实世界中他们通常不会做的行为。这样的行为可以包括:未经核准的接触,侵入其他用户的个人空间,在游戏中作弊,或者在现实世界中通常不会容忍的任何其它类型的行为,或者由于社会规范和社会压力用户可能不会做出的行为。例如,在共存虚拟环境中,用户可以走近另一个化身并且在身体上侵犯所述化身,或者举另一个例子而言,用户可以通过离开她的座位并越过另一化身的肩部看该化身的牌来在纸牌游戏中作弊。举另一例子而言,在用户在跳舞的共存虚拟环境中,用户可以过于靠近另一个化身,这可能使该化身的用户不舒服。部分由于共存虚拟环境的匿名性,用户可能会认为做出这样的行为更容易,这可能会使其他用户放弃参与共存虚拟环境。
因此,所公开的实施例处置共存虚拟环境中的行为。在一些实施例中,共存管理器为共存虚拟环境中的用户限定受限空间,并且将共存虚拟环境修改数据提供给用户的计算设备,从而指令所述计算设备改变其渲染共存虚拟环境的方式。共存管理器维护与共存虚拟环境有关的数据,所述数据可以包括:共存虚拟环境的大小、共存虚拟环境内的对象的位置和大小、共存虚拟环境内的每个用户的位置、以及共存虚拟环境内的每个用户的化身的受限空间。
可以基于与共存虚拟环境内的对象的距离来限定受限空间,并且受限空间因应用而异。在一些实施例中,受限空间由来自对象在共存虚拟环境内占据的空间的球体半径限定。例如,在幻想、探索、共存虚拟环境应用中,用户可能无法以比两米更近的距离来接近湖泊,并且在该实施方式中,受限空间将包括在距离由湖泊占据的点集两米半径内的所有点。
受限空间还可以包括容许的空间的反转(reverse),其中容许的空间可以类似地由距对象在共存虚拟环境内占据的点的球体半径来限定。例如,在纸牌游戏共存虚拟环境应用中,容许的空间可以包括:距离由用户在纸牌桌边的座椅占据的点一米的半径。在这样的实施例中,受限空间将包括共存虚拟环境中除了落在距用户座椅一米半径内的点外的所有点。
在一些实施例中,共存虚拟环境的用户可以在其化身周围限定安全空间以防止其它化身过于靠近它们,并且安全空间可以进一步为共存虚拟环境中的给定化身限定受限空间。例如,用户可以限定0.25m的安全空间,并且进入该用户化身的任何点的0.25m内的区域的任何化身将进入受限空间。以这种方式,对于其它化身和相应用户而言,可以妨碍或阻碍安全空间内的虚拟空间中的信息的可访问性和可见性。换言之,用户的安全空间可以限制另一个化身的用户对安全空间采取一个或多个动作的能力。例如,安全空间可以防止或限制其它化身移动靠近所述化身。在一些实施例中,安全空间的大小(例如,体积)可以根据用户的身体部位而变化。例如,用户手周围的安全空间可能小于用户脸部周围的安全空间。在一些实施例中,用户可以基于应用来限定安全空间。例如,用户可以在用于战斗模拟的共存虚拟环境中限定安全空间的第一集合,并且在用于商务会议的共存虚拟环境中限定安全空间的第二集合。另外,用户可以限定安全空间偏好的全局集合,其在用户尚未对于特定的共存虚拟环境应用覆写所述偏好的情况下限定用户的默认安全空间。在一些实施例中,当用户的计算设备加入由共存管理器管理的共存虚拟环境时,共存管理器组件接收与用户相对应的安全空间数据。当共存管理器接收该安全空间数据时,它可以进一步为参与共存虚拟环境的其他用户限定受限空间。
如上面所提及,当共存管理器检测到用户已将其化身移动到化身的受限空间中时,共存管理器可以将共存虚拟环境修改数据传送给参与共存虚拟环境的用户的计算设备。共存虚拟环境修改数据可以包括有关改变其化身(或其一部分)进入化身的受限空间的用户的共存虚拟环境的外观的指令。例如,当用户进入受限空间时,虚拟环境可以从彩色变为黑白,或者与虚拟环境相关联的音频可能会失真、抑制或静音。在一些实施例中,共存管理器响应于用户进入受限空间而提供改变用户和用户的化身的位置的共存虚拟环境修改数据。例如,当进入受限空间时,共存管理器可以将用户重新定位在受限空间之外但在共存虚拟环境内,或者共存管理器可以通过将用户以及其化身置于替代的虚拟环境中而从共存虚拟环境中完全移除用户以及其化身。
共存虚拟环境修改数据还可以包括:为共存虚拟环境的其他用户(即,化身尚未进入受限空间的那些用户)改变共存虚拟环境的外观的指令。例如,当第一用户的化身进入受限空间时,共存虚拟环境修改数据可以包括改变第一用户的化身的外观的指令。外观改变可以包括:例如使第一用户的化身或第一用户的化身的一部分不可见。替选地,外观改变可以包括:例如将第一用户的化身渲染为廓线形式,渲染为虚线廓线形式,渲染为半透明(例如,75%透明),以不同色彩渲染,或者通过改变第一用户的化身的大小来渲染。共存虚拟环境修改数据还可以包括:修改第一用户的化身的一部分而不是第一用户的化身的全部的指令。例如,在一些实施例中,共存虚拟环境修改数据可以包括:改变侵占受限空间的第一用户的化身的多个部分的外观的指令。
图1A示出虚拟现实计算机系统100的一个实施例,所述虚拟现实计算机系统100被配置来提供用户130和150的共存虚拟环境。在一个实施例中,虚拟现实计算机系统100可以包括虚拟现实服务器110、虚拟现实用户设备135和虚拟现实用户设备155。如图1A中所示,用户130操作虚拟现实用户设备135,且用户150操作虚拟现实用户设备155,以参与共存虚拟环境。在一些实施例中,虚拟现实用户设备135和虚拟现实用户设备155可以通过网络180与虚拟现实服务器110通信。虽然图1A中所描绘的实施例示出两个用户操作虚拟现实用户设备来与虚拟现实服务器110通信,但是在其它实施例中,多于两个虚拟现实用户设备可以与虚拟现实服务器110通信,从而允许多于两个用户参与共存虚拟环境。
在一些实施例中,虚拟现实服务器110是计算设备,诸如下面所描述的图7中所示出的计算机设备700。虚拟现实服务器110可以包括为共存管理器120和一个或多个应用125提供操作和功能的软件或固件。
在一些实施例中,应用125可以包括服务器侧逻辑和处理以便在共存虚拟环境中提供游戏、服务或实用程序。例如,应用125可以包括用于纸牌游戏、跳舞游戏、虚拟现实商务会议应用、购物应用、虚拟运动应用、或可以在共存虚拟环境中提供的任何其它应用的服务器侧逻辑和处理。应用125可以包括与在虚拟现实用户设备上执行的客户端侧应用通信的功能和操作。使用图1A的示例实施例,应用125可以包括与在VR用户设备135上执行的共存客户端应用143和/或在VR用户设备155上执行的共存客户端应用162通信的功能和操作。
根据一些实施例,在虚拟现实服务器110上执行的应用125可以与共存管理器120对接,以管理共存虚拟环境。在一些实施例中,这样的对接可以经由由共存管理器120所暴露的API发生。在一些实施例中,共存管理器120可以执行管理与共存虚拟环境中的用户130、150相对应的化身的受限空间和容许的空间的功能和操作。根据一些实施例,共存管理器120通过维护关于以下的信息来管理受限空间和容许的空间:共存虚拟环境的大小和形状,共存虚拟环境内的对象,和共存虚拟环境内的化身。虽然共存管理器120在图1A中被示出为与应用125分开的功能组件,但是在一些实施例中,应用125中的一个或多个可以执行共存管理器120的功能和操作。
例如,共存管理器120可以包括存储表示共存虚拟环境的空间的点的数据结构。存储在数据结构中的点可以包括例如x,y,z坐标。共存管理器120还可以包括存储关于共存虚拟环境中的对象的信息的数据结构,并且所述信息可以包括由共存虚拟环境中的对象占据的点集。例如,当共存虚拟环境是在虚拟游戏房间中发生的虚拟纸牌游戏时,共存管理器120可以包括存储表示虚拟游戏房间中的空间的每个点的点集的数据结构。共存管理器120还可以包括存储表示纸牌桌、纸牌、座椅和参与虚拟纸牌游戏的化身的对象的数据结构。所述数据结构可以包括标识由纸牌桌、纸牌、座椅和化身占据的共存虚拟环境内的点的信息。
在一些实施例中,受限空间可以包括距离对象特定半径的点集。例如,共存虚拟环境可以包括一个对象,在共存虚拟环境中不允许化身比用户感知为1m的距离更接近该对象。在这样的示例中,共存管理器120可以将受限空间限定成等于共存虚拟环境中距离对象1m的感知空间的点集,从而在对象周围创建不容许化身侵占的半径。然后,共存管理器120可以为参与共存虚拟环境的每个化身关联对象周围的受限空间。
受限空间还可以被限定为包括安全空间。安全空间是共存虚拟环境的用户关于其化身限定的受限空间。例如,用户可以在其化身周围限定0.25m的安全空间。共存管理器120可以限定包括与距离化身0.25m(共存虚拟环境中的感知距离)相对应的点集的受限空间,从而在化身周围创建不容许共存虚拟环境中的其它化身侵占的半径。因为安全空间是关于化身限定的,并且化身可以在共存虚拟环境内移动,所以共存管理器120可以基于化身的、与安全空间相关联的移动来重新限定与用户限定的安全空间相对应的受限空间。
还可以基于容许的空间来限定受限空间。从概念上讲,容许的空间与受限空间的反转,因为容许的空间是容许化身侵占的空间。在一些实施例中,容许的空间被限定成与受限空间类似。例如,容许的空间可以包括在距共存虚拟环境中的对象占据的空间的特定半径内的点集。在一个示例实施方式中,VR服务器110可以托管虚拟纸牌游戏。为了防止虚拟纸牌游戏期间作弊,为虚拟纸牌游戏提供逻辑和处理的应用125可以在虚拟纸牌游戏期间在化身就坐的座椅周围限定3m的容许的空间。使用容许的空间的该定义,共存管理器120可以限定整个共存虚拟环境中、除了座椅占据的空间和距离座椅占据的空间3m范围内的点集的受限空间。共存管理器120可以监视由用户130和150控制的化身的移动,并且如果任何一个化身进入它们相应的受限空间,则共存管理器120可以生成如下面更加详细地描述的共存虚拟环境修改数据。
在一些实施例中,共存管理器120可以确定化身在共存虚拟环境内的位置,并且确定化身的位置是否落入该化身的受限空间内。当共存管理器120确定化身在其受限空间内时,共存管理器120可以生成共存虚拟环境修改数据,所述共存虚拟环境修改数据可以提供指令给在虚拟现实用户设备上执行的共存客户端应用(诸如共存客户端应用143、162),以修改共存虚拟环境的渲染。在一些实施例中,共存虚拟环境修改数据可以包括改变以下内容的指令:共存虚拟环境的色彩,与共存虚拟环境相关联的音频,共存虚拟环境内的一个或多个化身的外观,以及为共存虚拟环境的用户提供信息的一个或多个通知叠加(overlay)。
例如,共存管理器120可以确定与用户130相关联的化身已经进入其受限空间。作为响应,共存管理器120可以生成共存虚拟环境修改数据,所述共存虚拟环境修改数据指令共存客户端应用143将共存虚拟环境的渲染从彩色变成黑白。通过改变由VR用户设备135显示的共存虚拟环境,可以向用户130提供其化身已经进入受限空间的通知。共存管理器120还可以生成指令共存客户端应用162将用户130的化身的渲染从可见变成不可见的共存虚拟环境修改数据。通过改变由VR用户设备155显示的共存虚拟环境,可以向用户150提供用户130的化身已经进入受限空间的通知。
如图1A中所示,用户130操作VR用户设备135。VR用户设备135可以包括头戴式显示器(HMD)壳体138和移动设备140。在一些实施例中,移动设备140可以被放置到HMD壳体138中以创建VR用户设备135,如下面相关于图2更加详细地描述。在这样的实施例中,移动设备140提供执行共存客户端应用143所需的处理,并且为VR用户设备135渲染共存虚拟环境以供用户130使用。
根据一些实施例中,移动设备140可以包括感测系统145,所述感测系统145可以包括:诸如包括在例如相机和麦克风中的图像传感器146、音频传感器147;惯性测量单元148;诸如包括在手持式电子设备、或智能电话的触敏表面中的触摸传感器149;以及其它这样的传感器和/或传感器的不同组合。在一些实施例中,共存客户端应用143可以与感测系统145通信,以确定VR用户设备135的位置和取向。
在一些实施例中,移动设备140可以包括共存客户端应用143。共存客户端应用143可以包括客户端逻辑和处理以供提供处于共存虚拟环境中的游戏、服务或实用程序。在一些实施例中,共存客户端应用143可以包括逻辑和处理以供指令VR用户设备来渲染共存虚拟环境。例如,共存客户端应用143可以提供指令给移动设备140的图形处理器(未图示)以供渲染共存虚拟环境。在一些实施例中,共存客户端应用143可以与在VR服务器110上执行的一个或多个应用125通信,以获得关于共存虚拟环境的信息。例如,共存客户端应用可以接收数据,所述数据可以被移动设备140使用来渲染共存虚拟环境。在一些实施例中,共存客户端应用143可以与应用125通信,以接收共存虚拟环境修改数据,共存客户端应用143可以使用所述共存虚拟环境修改数据来改变VR用户设备135显示共存虚拟环境的方式。
根据一些实施例,共存客户端应用可以提供信息给应用125,并且然后共存客户端应用143可以将位置和取向信息传送给应用125。在一些实施例中,共存客户端应用可以传送由移动设备140接收的输入数据,其包括:由图像传感器146捕获的图像数据,由音频传感器147捕获的音频数据,和/或由触摸传感器149捕获的触屏事件。例如,在一些实施例中,HMD壳体138可以包括电容式用户输入按钮,当按压所述电容式用户输入按钮时在移动设备140的触摸屏显示器144上注册触摸事件,就好像用户130用手指触摸了触摸屏显示器144。在这样的示例中,共存客户端应用143可以将触摸事件传送给应用125。
在另一示例中,移动设备140的图像传感器146可以捕获用户130的身体部位运动,诸如来自用户130的手、手臂、腿或其他身体部位的运动。共存客户端应用143可以在移动设备140的触摸屏显示器144上渲染这些身体部位的表示,并且将关于这些图像的数据传送给应用125。然后,应用125可以将共存虚拟环境修改数据提供给共存客户端应用162,以使得共存客户端应用162可以使用捕获的身体移动来渲染与用户130相对应的化身。
如图1A中所示,用户150操作VR用户设备155。VR用户设备155可以包括HMD系统165和用户计算机系统160。在一些实施例中,VR用户设备155与VR用户设备135的不同之处可以在于,HMD系统165包括专用图像传感器166、音频传感器167、IMU 168、和显示器168,而VR用户设备135并入通用移动设备140(诸如图7中所示出的移动设备782)以利用其图像传感器146、音频传感器147、IMU 148和显示器144。VR用户设备155与VR用户设备135的不同之处还可以在于,HMD系统165可以作为外围设备连接成与用户计算机系统160通信,所述用户计算机系统160可以是通用个人计算系统(诸如,膝上型计算机722)。然而,VR用户设备155的类似命名的组件的功能可以与VR用户设备135的类似命名的组件相同。例如,在一些实施例中,共存客户端应用162可以执行与共存客户端应用143相同的功能。但是,在一些实施例中,共存客户端应用162与共存客户端应用143的不同之处可以在于,共存客户端应用162可以被配置来在移动设备140的操作系统内执行,所述操作系统可以与用户计算机系统160的操作系统不同。
虽然图1A示出不同硬件配置的VR用户设备,但是在其它实施方式中,与VR服务器110通信的VR用户设备可以具有相同或类似的硬件配置。例如,VR用户设备可以与VR用户设备135类似,其中通用移动设备被安置在HMD壳体内,或者VR用户设备可以与VR用户设备155类似,其中专用HMD系统与通用用户计算机系统通信。
图1B示出虚拟现实计算系统100的另一实施例。在图1B的实施例中,VR用户设备135和VR用户设备155直接通信而不是经由VR服务器110通信。在这样的实施例中,由VR服务器110的组件执行的逻辑和处理可以由VR用户设备135或VR用户设备155中的一个执行,也就是说,VR用户设备135或VR用户设备155中的一个充当VR服务器。在另一实施例中,由VR服务器110的组件执行的逻辑和处理可以被VR用户设备135或VR用户设备155二者共享。
如图1B的实施例中所示,VR用户设备135包括共存管理器121的实例,且VR用户设备155包括共存管理器122的实例。在一些实施例中,共存管理器121和共存管理器122可以执行与如上所述的共存管理器120相同或类似的功能。根据一些实施例,当VR用户设备135和VR用户设备155参与共存虚拟环境时,共存管理器121或共存管理器122中的一个可以执行与共存管理器120相同的操作。例如,在一个实施例中,当共存管理器122可能不活动时,共存管理器121可以执行上面相关于共存管理器120所描述的操作,或者替选地,当共存管理器121保持不活动时,共存管理器122可以执行上面相关于共存管理器120所描述的操作。而且,在图1B的实施例中,共存客户端应用143和共存客户端应用160可以执行上面所描述的应用125的操作。
图2A和图2B是诸如由图1A和图1B中的用户130所穿戴的HMD壳体138的示例HMD的透视图,且图2C示出诸如例如图1A和图1B中的移动设备140的示例手持式电子设备。
手持式电子设备202可以包括:壳体203,设备202的内部组件容纳在所述壳体203中;以及触摸屏206,所述触摸屏在壳体203的外侧,用户可访问该触摸屏。触摸屏206可以包括触敏表面,所述触敏表面被配置来接收用户触摸输入;手持式电子设备202还可以包括供用户操纵的其它组件,诸如例如致动按钮、旋钮、操纵杆等。在一些实施例中,触摸屏206的至少一部分可以被配置来向用户显示用户界面项,并且还接收来自用户的触摸输入。根据一些实施例,触摸屏206可以由例如共存客户端应用143配置来渲染共存虚拟环境。
HMD 200可以包括耦合至框架220的壳体210,其中音频输出设备230包括例如安装在头戴装置中的扬声器,该音频输出设备230也可以耦合至框架220。在图2B中,壳体210的前部部分210a从壳体210的底座部分210b旋转离开,以使得手持式电子设备202可以安置在HMD 200内。在一些实施例中,手持式电子设备202可以安装在壳体210的前部部分210a的面向内部的侧面上,以使得触摸屏206可以使用透镜250来查看。当前部部分210a处于抵靠壳体210的底座部分210b的闭合位置时,透镜250可以安装在壳体210中的、用户的眼睛与触摸屏206之间。在一些实施例中,HMD 200可以包括安置在前部部分210a上的专用显示器。在这样的实施例中,专用显示器可以由通过HMD 200内的处理器(例如,下面所讨论的处理器290)执行的共存客户端应用或者通过在HMD 200外部的处理器(例如,用户计算机系统160)执行的共存客户端应用进行控制。
在一些实施例中,HMD 200可以包括感测系统260,所述感测系统260包括各个传感器和包括处理器290的控制系统270以及各个控制系统设备,以促进HMD 200的操作。在这样的实施方式中,感测系统260可以结合手持式电子设备202的感测系统来操作,以向共存客户端应用和/或共存管理器提供位置和取向数据。在一些实施例中,感测系统260、控制系统270和处理器290可以操作,以将位置和取向数据提供给在诸如用户计算机系统160的外部计算系统上执行的共存客户端应用。
在一些实施例中,HMD 200可以包括相机280来捕获静止的和移动的图像。由相机280捕获的图像可以用来帮助跟踪真实世界中的用户和/或手持式电子设备202的物理位置,或相对于虚拟环境的物理环境,和/或可以以穿透模式(pass through mode)向用户显示,从而允许用户临时离开虚拟环境并返回物理环境而无需移除HMD 200或以其它方式改变HMD 200的配置。
在一些实施例中,HMD 200可以包括凝视跟踪设备265以检测和跟踪用户的眼睛凝视。凝视跟踪设备265可以包括例如图像传感器265A或多个图像传感器265A,以捕获用户眼睛的图像,例如用户眼睛——诸如例如瞳孔的特定位置,以检测和跟踪用户凝视的方向和移动。在一些实施方式中,HMD 200可以被配置,以使得检测到的凝视被处理为用户输入,以被转换成共存虚拟环境中的对应交互。
图3A至图3D示出与所公开的实施例一致的、由VR用户设备生成的共存虚拟环境300的示例渲染,并且在操作中被提供作为所公开的实施例的非限制性示例。共存虚拟环境300可以由例如VR用户设备135、155渲染,并且分别显示在触摸屏显示器144或显示器168上。下面参考VR用户设备135、155、VR服务器110以及其相关联的组件描述了图3A至图3D,仅用于解释的目的,并且被描述成由VR用户设备135、155、VR服务器110以及其相关联的组件执行的任何功能或操作是非限制性的。
图3A示出用于玩虚拟纸牌游戏的共存虚拟环境300的渲染。图3A示出由VR用户设备135渲染(例如,如由共存客户端应用143基于从VR服务器110接收的指令而渲染)的共存虚拟环境300,用户130操作所述VR用户设备135以控制化身310。如图3A中所示,三个其它化身即化身315、化身320和化身325在共存虚拟环境300中。在以下操作性示例中,化身315可以由用户150通过操作VR用户设备155来进行控制。如图3A中所示,当化身310坐在纸牌桌(坐在图3C和图3D的座椅385上,其从该角度看不到)处时,VR用户设备135以与共存虚拟环境300的意图用途和操作一致的方式渲染共存虚拟环境300。例如,VR用户设备135可以将共存虚拟环境300渲染为彩色,并且生成包括声音的音频流,所述声音诸如洗牌、化身315、化身320和/或化身325的声音、周边噪声或与虚拟纸牌游戏中的提示相对应的声音。而且,当化身310坐下时,用户130可以通过以下来参与虚拟纸牌游戏和虚拟共存环境300:例如环顾四周,查看他的牌,弃牌,或者与化身315、320和325交谈。
根据一些实施例,共存虚拟环境300的渲染可以包括通知叠加350。通知叠加350可以显示例如虚拟纸牌游戏中的有效玩家的数目,虚拟纸牌游戏的观看者的数目,或者由于例如进入其相应受限空间而变得无效的玩家的数目。在图3A的实施例中,通知叠加350显示有四个玩家有效地参与共存虚拟环境300的虚拟纸牌游戏。
图3B示出共存虚拟环境300内的区域360和区域365。在图3B的示例实施方式中,区域360表示化身110可以参与到共存虚拟环境300中的容许的空间。区域360可以被限定成例如落入座椅385(图3C和图3D的座椅385,其从该角度不可见)的2m范围内的区域,或者被限定为桌子的座椅385所处的一侧。区域365表示化身310的受限空间,并且可以针对共存虚拟环境300限定为共存虚拟环境300内的、除了落在区域360内的点之外的点集。
与所公开的实施例一致,如果用户130控制化身310进入区域365,则共存管理器120可以将共存虚拟环境修改数据发送给VR用户设备135,所述共存虚拟环境修改数据包括改变共存虚拟环境300的其渲染的指令。共存虚拟环境修改数据还可以包括禁用与参与虚拟纸牌游戏的化身310有关的功能的指令,所述功能诸如处置牌、与其它化身交谈、或者获得积分或点数的能力。
图3C示出从控制化身310的用户的视角的、由VR用户设备135渲染的共存虚拟环境300的示例渲染。如图3C中所示,用户130已控制化身310移动到受限空间(例如,区域365)。当用户130控制VR用户设备135来移动化身310,VR用户设备135可以将用户位置数据传送给共存管理器120。共存管理器120可以将化身310的当前位置与其受限空间进行比较,并且当其检测出化身310已经移动到区域365中时,共存管理器120可以将共存虚拟环境修改数据发送给VR用户设备135,从而指令VR用户设备135改变其渲染共存虚拟环境300的方式。如果化身310的任何部分在区域365内(包括但不限于头、手、手臂、躯干、腿、脚、和/或化身310的任何其它部分),则VR用户设备135可以改变其渲染共存虚拟环境300的方式。例如,VR用户设备135可以以不同的色彩方案、以黑白色或以廓线形式渲染共存虚拟环境300。共存虚拟环境修改数据还可以包括使VR用户设备135修改其针对共存虚拟环境300生成的音频的指令。例如,VR用户设备135可以基于共存虚拟环境修改数据而使其生成的音频静音、消音或失真。
根据一些实施例,共存虚拟环境修改数据可以包括使VR用户设备135生成示出化身310的容许的空间的通知叠加380的指令。例如,图3C示出通知叠加380,所述通知叠加380指示共存虚拟环境300中化身必须返回的区域,化身返回该区域以使得共存虚拟环境300返回其默认或正常状态,例如色彩和未失真的音频。在一些实施例中,共存虚拟环境修改数据可以包括使VR用户设备135生成通知叠加的指令,所述通知叠加显示指令从而通知用户该用户可以采取来返回容许的空间的一个或多个动作,所述通知叠加诸如通知叠加370、375。
在一些实施例中,共存虚拟环境修改数据可以包括使VR用户设备135更新通知叠加的指令。例如,如图3C中所示,VR用户设备135更新了其对共存虚拟环境300的渲染以包括对通知叠加350的更新,其示出一旦化身310进入受限空间(例如,区域365),则虚拟纸牌游戏中就有三个有效玩家和一个未在玩虚拟纸牌游戏的不可见观众。在一些实施例中,通知叠加350可以显示通知用户130他是不可见观众中的一个的信息。
图3D示出当化身310进入受限空间时由VR用户设备155——与化身315相关联的VR用户设备——对共存虚拟环境300的渲染。在VR用户设备155渲染共存虚拟环境300时,化身110不再可见。渲染还可以包括通知叠加390,所述通知叠加390提供一个玩家已经离开虚拟纸牌桌并且不再是虚拟纸牌游戏的有效参与者的信息。VR用户设备155还可以更新通知叠加350,以示出有一个未在玩游戏的不可见观众并且还存在三个有效玩家。VR用户设备155可以响应于共存管理器120确定化身310已经进入受限空间而基于由共存管理器120生成的共存虚拟环境修改数据来渲染共存虚拟环境300。另外,在化身310返回其容许的空间区域360的情况下,VR用户设备155可以接收指令VR用户设备155将化身310渲染为可见的共存虚拟环境修改数据。
图4示出由未在控制化身410或化身420的用户操作的VR用户设备所渲染的共存虚拟环境400的一个实施例。共存虚拟环境400可以是用户的化身可以在虚拟环境空间四处自由移动并与虚拟环境内的其它化身交互的虚拟环境,诸如跳舞游戏、跳舞应用或商业联网应用。
在图4的示出的实施例中,控制化身410的用户已经限定了安全空间430、440、445和450。控制化身410的用户已经将安全空间430、440、445和450限定为不同的大小。例如,与化身410的头和肩部区域相对应的安全空间430比与化身410的手相对应的安全空间440和445更大。另外,化身410的用户已经限定了与化身410的腰部以下相对应的大安全空间450。在一些实施例中,与参与共存虚拟环境的用户相关联的VR用户设备可以渲染图4中所示出的与可以是共存虚拟环境400上的叠加的安全空间430、440、445和450相对应的阴影区域,而在其它实施例中,与参与共存虚拟环境的用户相关联的VR用户设备可以不渲染它们。根据一些实施例,安全空间430、440、445和450中的一个或多个的可见性可以由限定它们的用户或由参与共存虚拟环境400的其它用户打开或关闭。
在图4的实施例中,化身420已经接近化身410,并且其手臂的部分460已经进入安全空间430。因此,渲染共存虚拟环境400的VR用户设备已经接收了指令VR用户设备将化身420的部分460渲染为不可见的共存虚拟环境修改数据。在一些实施例中,共存虚拟环境修改数据可以指令VR用户设备以廓线渲染部分460、将部分460渲染为是半透明的、或者使用不同的色彩方案(诸如,黑白)来渲染部分460。在一些实施例中,共存虚拟环境修改数据可以指令VR用户设备在部分460已经进入安全空间430时将所有化身420渲染为不可见、用廓线渲染、渲染为半透明的、或使用不同的色彩方案进行渲染。
可以存在用户不希望将其安全空间打开的一些应用。例如,共存虚拟环境可以包括模拟拳击比赛。在这样的实施例中,用户可能希望关闭其安全空间,因为化身之间的接触对于拳击比赛而言是必要的。因此,所公开的实施例可以允许用户在一些情况下选择性地关闭其安全空间。例如,VR用户设备可以生成包括安全空间偏好设置的用户界面。使用所述用户界面,用户可以调整其安全空间的大小,或针对特定应用禁用其中的一个或全部。在安全空间偏好被修改之后,VR用户设备可以将安全空间偏好信息传送给共存管理器。
图5示出表示用于渲染共存虚拟环境的示例过程500的流程图。根据一些实施例,过程500可以由VR用户设备的一个或多个组件执行。例如,过程500可以由共存客户端应用143、162执行。虽然下面的讨论将过程500描述成由共存客户端应用执行,但是在不脱离本公开的精神和范围的情况下,被配置来生成虚拟环境的计算机系统的其它组件也可以执行过程500。
过程500从步骤510处开始,其中共存客户端应用将通信发送给托管一个或多个虚拟现实应用的VR服务器,从而请求加入与虚拟现实应用中的一个相关联的共存虚拟环境。加入共存虚拟环境的请求可以包括VR用户设备的初始位置和取向信息。例如,在一些实施例中,初始位置和取向信息可以包括:由操作VR用户设备的用户穿戴的HMD的位置信息。在一些实施例中,共存客户端应用将初始位置和取向信息设置为零,并且VR用户设备的任何后续移动(诸如,改变VR用户设备的HMD的位置)将相对于零进行描述。
在一些实施例中,在共存客户端应用发送通信以加入共存虚拟环境之后,其可以从VR服务器接收描述化身(对应于操作VR用户设备的用户)在共存虚拟环境内的位置的数据对象。使用数据对象,当共存客户端应用检测出VR用户设备的位置或取向的改变时,其可以发送以数据对象格式的额外用户位置数据。
一旦共存客户端应用加入共存虚拟环境,其就可以与VR用户设备的感测系统或HMD系统通信,以检测VR用户设备(或其HMD)的位置或取向何时已经改变。当VR用户设备的位置和取向改变时,在步骤520处,共存客户端应用可以将当前用户位置数据传送给VR服务器。当前用户位置数据可以包括从VR用户设备的初始位置和取向的取向或位置上的相对改变。在一些实施例中,如上所述,用户位置数据可以包括描述用户在共存虚拟环境内的位置的数据对象。在这样的实施例中,数据对象可以使用从VR用户设备的感测系统或HMD系统获得的传感器数据来操纵。随着用户在共存虚拟环境中控制他们的化身(步骤530:否),共存客户端应用可以不断地执行步骤520,以使得VR服务器关于用户的位置和取向不断被更新。
当VR用户设备渲染共存虚拟环境时,共存客户端应用可以接收共存虚拟环境修改数据(步骤530:是)。如上面所讨论,共存虚拟环境修改数据可以包括修改共存客户端应用在VR用户设备上渲染共存虚拟环境的方式的指令。例如,共存虚拟环境修改数据可以提供指令来改变共存虚拟环境的色彩方案,改变对象在共存虚拟环境内的边缘(例如,使边缘为虚线而不是实线),改变共存虚拟环境内的对象或化身的大小,或改变一个或多个化身在共存虚拟环境中的可见性或透明度。
根据一些实施例,共存虚拟环境修改数据可以包括使共存客户端应用渲染替代共存虚拟环境并且将用户的化身重新定位到替代共存虚拟环境内的位置的指令。例如,共存虚拟环境修改数据可以包括渲染空房间而不是游戏房间的指令。
共存虚拟环境修改数据还可以包括渲染重叠在由VR用户设备渲染的共存虚拟环境上的一个或多个通知叠加的指令。通知叠加可以包括例如通知VR用户设备的用户在何处移动其化身的区域的廓线或突出显示,关于共存虚拟环境内可见化身的数目的信息,或关于共存虚拟环境内对应的用户可以查看共存虚拟环境的不可见化身的数目的信息。通知叠加还可以包括文本描述,所述文本描述向操作VR用户设备的用户提供查看共存虚拟环境的指导。
一旦客户端应用接收了共存虚拟环境修改数据,在步骤540处,其就可以将该修改数据应用于所渲染的共存虚拟环境。一旦其根据修改数据渲染共存虚拟环境,过程500就可以返回步骤520,在步骤520处过程500将不断地将当前用户位置数据传送给VR服务器。
图6示出表示用于控制至少被第一用户和第二用户体验的共存虚拟环境的示例过程600的流程图。根据一些实施例,过程600可以由VR服务器的一个或多个组件执行。例如,过程600可以由共存管理器120执行。在一些实施例中,过程600可以由VR用户设备的一个或多个组件执行。例如,过程600可以由共存管理器121或122执行。虽然以下讨论将过程600描述成由共存管理器执行,但是在不脱离本公开的精神和范围的情况下,被配置来生成或管理虚拟环境的计算机系统的其它组件也可以执行过程600。
根据一些实施例,共存管理器在步骤610处开始过程600,在步骤610处共存管理器确定化身在共存虚拟环境中的受限空间。与所公开的实施例一致,有关化身的受限空间可以包括共存虚拟环境内化身无法占据、侵占或进入的三维点的集合。受限空间可以使用多个标准来限定。例如,受限空间可以通过以下来包括在共存虚拟环境中的对象的半径内的点集:由共存虚拟环境中的其他用户限定的安全空间,允许化身占据的点集(例如,容许的空间),或这些的组合。受限空间还可以基于共存虚拟环境的场境来限定。可以根据实施方式基于以下内容而广泛地或狭义地限定场境:共存虚拟环境是什么样的,共存虚拟环境中的化身的性质,和/或能够在共存虚拟环境中执行的一个或多个活动的特性,仅举几个说明性示例。例如,用户可以为第一共存虚拟环境应用限定安全空间的第一集合(例如,此时场境可以是桌面游戏),并且为第二共存虚拟环境应用限定安全空间的第二集合(例如,此时场境可以是跳舞体验)。在第一示例中,受限空间在一些实施方式中可以基于应在桌面游戏的参与者周围为该参与者预留多少空间量的概念进行限定。在第二示例中,受限空间在一些实施方式中可以基于应在跳舞体验的参与者周围为该参与者预留多少空间量的概念进行限定。因此,特定化身的受限空间可以根据针对共存虚拟环境的应用而变化。
在步骤615处,共存管理器接收用户位置数据。根据一些实施例,用户位置数据可以从由参与共存虚拟环境的用户操作的一个或多个VR用户设备接收。用户位置数据可以包括:用户相对于初始位置的相对位置和取向,或者在用户的VR用户设备请求加入共存虚拟环境时用户的位置和取向。在一些实施例中,共存管理器通过从VR用户设备的感测系统或从部署在用户的HMD内的传感器获得用户位置数据而接收用户位置数据。在这样的实施例中,共存管理器可以使用从传感器获得的传感器数据,并且将其与在共存虚拟环境内的化身移动相关联。在共存管理器接收用户位置数据之后,在步骤620处,其可以确定化身在共存虚拟环境内的位置。
如果共存管理器确定化身在其容许的空间中,也就是其尚未进入受限空间(步骤630:否),则化身在步骤615处接收额外的用户位置数据之前不会执行任何操作。但是,如果计算系统检测出化身已经移动到受限空间中(步骤630:是),则计算系统执行过程600的步骤640和650,在所述步骤640和650处其提供经由共存虚拟环境修改数据修改共存虚拟环境的指令。
在步骤640处,共存管理器将共存虚拟环境修改数据传送给控制进入了受限空间的化身的用户的VR用户设备。共存虚拟环境修改数据可以提供指令来以这样的方式修改共存虚拟环境:向体验共存虚拟环境的用户指示他们已经进入受限空间。例如,共存虚拟环境修改数据可以包括指令来将共存虚拟环境渲染为黑白而不是彩色。与所公开的实施例一致,共存虚拟环境修改数据还可以包括指令来渲染一个或多个通知叠加,从而向用户提供其化身已经移动到受限空间中的信息。这样的通知叠加可以包括:标志、箭头、文本框——其包括关于如何返回容许的空间的指令;或者诸如突出显示、描绘廓线或色彩改变的指示符——其示出容许化身占据共存虚拟环境内的哪个空间。共存虚拟环境修改数据还可以包括指令来禁用化身动作。例如,共存虚拟环境修改数据可以包括这样的指令:使VR用户设备禁用共存虚拟环境内的移动,禁用用户参加共存虚拟环境中的活动(诸如,玩游戏)的能力,或者与共存虚拟环境中的其它化身交流。
在一些实施例中,共存虚拟环境修改数据可以包括指令来改变已经进入受限空间的化身的位置。例如,共存虚拟环境修改数据可以包括使VR用户设备(或由其执行的客户端共存应用)生成替代虚拟环境并且将用户的化身放置在所述替代虚拟环境中的指令。在一些实施例中,共存虚拟环境修改数据可以包括指令来将化身从受限空间移动到容许的空间内的点或者共存虚拟环境内的指定起始点。例如,在虚拟纸牌游戏的共存虚拟环境中,当化身离开其座椅并且试图走到另一玩家后面时,共存虚拟环境修改数据可以包括指令来自动地将该化身从其当前位置——在其它玩家后面——移除,并且使其返回其在纸牌桌处的座椅——该化身加入虚拟环境时起始之处。
在步骤650处,共存管理器将共存虚拟环境修改数据传送给由体验共存虚拟环境的其他用户操作的一个或多个VR用户设备。在一些实施例中,共存虚拟环境修改数据可以提供指令来以这样的方式修改由其他用户体验的共存虚拟环境:向他们指示化身已经进入受限空间。例如,共存虚拟环境修改数据可以提供指令来渲染共存虚拟环境,以使得进入了受限空间的化身或化身的一部分的外观改变。例如,化身可以变得不可见或消失,表现为半透明,表现为不同的颜色,表现为廓线,或表现为冻结。
在共存管理器将共存虚拟环境修改数据传送给体验共存虚拟环境的用户的VR用户设备之后,过程600返回到步骤615,直到共存管理器接收更新的用户位置数据为止。当共存管理器接收更新的用户位置数据并且确定该用户已经将其化身从受限空间移出时(步骤630:是),则共存管理器执行步骤640和650以传送共存虚拟环境修改数据,其包括指令来在用户进入受限空间之前将由VR用户设备所渲染的共存虚拟环境恢复到其相应状态。
图7示出与所公开的实施例一致的计算机设备700和移动计算机设备750的示例。计算设备700可以包括处理器702、存储器704、存储设备706、连接至存储器704和高速扩展接口710的高速接口708以及连接至低速总线714和存储设备706的低速接口712。组件702、704、706、708、710和712使用各种总线互连,并且可以安装在公共母板上或者视需要以其它方式安装。处理器702可以处理用于在计算设备700内执行的指令,其包括存储在存储器704中或存储在存储设备706上以在外部输入/输出设备(诸如,耦合至高速接口708的显示器716)上显示GUI的图形信息的指令。在一些实施例中,可以视需要连同多个处理器和/或多个总线,一起使用多个存储器和多种类型的存储器。另外,可以连接多个计算设备700,其中每个设备提供必要操作的部分(例如,作为服务器群、刀片式服务器群组或多处理器系统)。
存储器704将信息存储在计算设备700内。在一个实施例中,存储器704是一个或多个易失性存储器单元。在另一实施例中,存储器704是一个或多个非易失性存储器单元。存储器704还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备706能够为计算设备700提供大容量存储。在一个实施例中,存储设备706可以是或含有计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、快闪存储器或其它类似的固态存储器设备、或设备的阵列——包括在存储区域网络中或呈其它配置的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以含有指令,当所述指令被执行时执行一个或多个方法,诸如本文所描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器704、存储设备706或处理器702上的存储器。
高速控制器708管理计算设备700的带宽密集型操作,而低速控制器712管理较低带宽密集型操作。这样的功能分配仅是示例性的。在一个实施例中,高速控制器708耦合至存储器704、显示器716(例如,经由图形处理器或加速度计)以及高速扩展端口710,所述高速扩展端口710可以接受各种扩展卡(未图示)。低速控制器712可以耦合至存储设备706和低速扩展端口714。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合至一个或多个输入/输出设备——诸如键盘、指示设备、扫描仪或例如经由网络适配器耦合至诸如交换机或路由器的联网设备。
计算设备700可以以多个不同的形式来实现,如附图中所示。例如,它可以被实现为标准服务器720或在这样的服务器的群组中多次实现。它还可以被实现为机架式服务器系统724的一部分。另外,它可以在诸如膝上型计算机722等个人计算机中实现。或者,来自计算设备700的组件可以与诸如设备750的移动设备(未图示)中的其它组件组合。这样的设备中的每个可以含有计算设备700、750中的一个或多个,并且完整的系统可以由相互通信的多个计算设备700、750组成。
除了其它组件以外,计算设备750还包括处理器752、存储器764、诸如显示器754的输入/输出设备、通信接口766和收发器768。设备750还可以设置有诸如微型驱动器或其它设备的存储设备来提供额外的存储。组件750、752、764、754、766和768中的每个使用各种总线进行互连,并且所述组件中的多个组件可以被安装在公共母板上或以其它合适的方式进行安装。
处理器752可以执行计算设备750内的指令,包括存储在存储器764中的指令。所述处理器可以被实现为包括单独的和多个模拟和数字处理器的芯片的芯片组。所述处理器可以例如为设备750的其它组件提供协调,诸如用户界面的控制、由设备750运行的应用和设备750的无线通信。
处理器752可以经由控制接口758和耦合至显示器754的显示器接口756与用户通信。显示器754可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其它合适的显示器技术。显示器接口756可以包括用于驱动显示器754来向用户呈现图形和其它信息的合适电路。控制接口758可以从用户接收命令,并且对所述命令进行转换以便提交给处理器752。另外,外部接口762可以与处理器752的通信,以便实现设备750与其它设备的近区域通信。在一些实施例中,外部接口762可以提供例如有线或无线通信,并且还可以使用多个接口。
存储器764将信息存储在计算设备750内。存储器764可以被实现为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器784,并且经由扩展接口782连接至设备750,所述扩展接口782可以包括例如SIMM(单列存储器模块)卡接口。这样的扩展存储器784可以为设备750提供额外存储空间,或者还可以存储设备750的应用或其它信息。具体地,扩展存储器784可以包括指令来执行或补充上面所描述的过程,并且还可以包括安全信息。因此,例如,扩展存储器784可以是设备750的安全模块,并且可以使用容许设备750的安全使用的指令进行编程。另外,安全应用可以与额外信息一起经由SIMM卡提供,诸如以不可非法侵入的方式将识别信息放在SIMM卡上。
存储器可以包括例如如下面所讨论的快闪存储器和/或NVRAM存储器。在一个实施例中,计算机程序产品有形地体现在信息载体中。计算机程序产品含有指令,当所述指令被执行时执行一个或多个方法,诸如上面所描述的那些方法。信息载体是可以例如通过收发器768或外部接口762接收的计算机或机器可读介质,诸如存储器764、扩展存储器784或处理器752上的存储器。
设备750可以经由通信接口766无线地通信,所述通信接口766可以视需要包括数字信号处理电路。通信接口766可以根据各种模式或协议提供通信,所述模式或协议诸如GSM语音呼叫、SMS、EMS或MMS消息收发、CDMA、TDMA、PDC、WCDMA、CDM92000或GPRS。这样的通信可以例如经由射频收发器768发生。另外,短程通信可以诸如使用蓝牙、Wi-Fi或其它这样的收发器(未图示)发生。另外,GPS(全球定位系统)接收器模块780可以为设备750提供额外的导航相关和位置相关的无线数据,所述数据可以视需要被在设备750上运行的应用适当地使用。
设备750还可以使用音频编解码器760进行可听通信,所述音频编解码器760可以从用户接收口述信息,并且将所述口述信息转换成可使用的数字信息。音频编解码器760同样可以在例如设备750的送受话器中为用户生成可听声音,诸如通过扬声器生成。这样的声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备750上操作的应用所生成的声音。
计算设备750可以以若干不同的形式实现,如附图中所示。例如,它可以被实现为蜂窝电话780。它还可以被实现为智能电话782、个人数字助理或其它类似的移动设备的一部分。
此处所描述的系统和技术的各个实施方式可以在数字电子电路、集成电路、特别设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或它们的组合中实现。这些各个实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,所述可编程系统包括可以是专用的或通用的至少一个可编程处理器、至少一个输入设备、和至少一个输出设备,所述处理器被耦合以从存储系统接收数据和指令,并且将数据和指令传输给所述存储系统。
这些计算机程序(也称作程序、软件、软件应用或代码)包括可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用,术语“机器可读介质”、“计算机可读介质”指代用来提供机器指令和/或数据给可编程处理器的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,此处所描述的系统和技术可以在计算机上实现,所述计算机具有:用于向用户显示信息的显示器设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及可以被用户用来提供输入给计算机的键盘和指示设备(例如,鼠标或轨迹球)。其它类别的设备也可以用来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以接收来自用户的任何形式的输入,包括声学、语音或触觉输入。
此处所描述的系统和技术可以在计算系统中实现,所述计算系统包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户经由所述图形用户界面或Web浏览器可以与此处所描述的系统和技术的实施例交互),或后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常经由通信网络交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
在一些实施例中,图7中所示出的计算设备可以包括与虚拟现实头戴装置(VR头戴装置/HMD设备790)对接的传感器。例如,包括在图7中所示出的计算设备750或其它计算设备上的一个或多个传感器可以向VR头戴装置790提供输入,或一般而言向VR空间提供输入。传感器可以包括但不限于触摸屏、加速度计、陀螺仪、压力传感器、生物识别传感器、温度传感器、湿度传感器和环境光传感器。计算设备750可以使用传感器来确定VR空间中的计算设备的绝对位置和/或检测的旋转,所述绝对位置和/或检测的旋转然后可以被用作向VR空间的输入。例如,计算设备750可以被并入VR空间以作为虚拟对象,诸如控制器、激光指示器、键盘、武器等。当并入到VR空间中时用户对计算设备/虚拟对象的定位可以允许用户定位计算设备以在VR空间中以某些方式查看虚拟对象。
在一些实施例中,包括在计算设备750上并且连接至计算设备750的一个或多个输入设备可以用作至VR空间的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板、指示设备、鼠标、轨迹球、操纵杆、相机、麦克风、具有输入功能的耳机或耳塞、游戏控制台、或其它可连接输入设备。用户在计算设备并入VR空间中时与包括在计算设备750上的输入设备交互可以致使VR空间中发生特定动作。
在一些实施例中,包括在计算设备750上的一个或多个输出设备可以将输出和/或反馈提供给VR空间中的VR头戴装置790的用户。输出和反馈可以是视觉的、触觉的或听觉的。输出和/或反馈可以包括但不限于渲染VR空间或虚拟环境,振动、打开和关闭或闪烁和/或闪光一个或多个灯或闪光灯,发出警报,播放铃声,播放歌曲和播放音频文件。输出设备可以包括但不限于振动马达、振动线圈、压电设备、静电设备、发光二极管(LED)、闪光灯和扬声器。
在一些实施例中,计算设备750可以放置在VR头戴装置790内以创建VR系统。VR头戴装置790可以包括一个或多个定位元件,所述一个或多个定位元件允许将诸如智能电话782的计算设备750放置在VR头戴装置790内的适当位置。在这样的实施例中,智能电话782的显示器可以渲染表示VR空间或虚拟环境的立体图像。
在一些实施例中,计算设备750可以表现为为计算机生成的3D环境中的另一对象。用户与计算设备750的交互(例如,旋转,摇动,触摸触摸屏,跨触摸屏上滑动手指)可以被解释成与VR空间中的对象的交互。仅举一个示例而言,计算设备可以是激光指示器。在这样的示例中,计算设备750显示为计算机生成的3D环境中的虚拟激光指示器。当用户操纵计算设备750时,VR空间中的用户看到激光指示器的移动。用户接收与计算设备750或VR头戴装置790上的VR环境中的计算设备750的交互的反馈。
在一些实施例中,计算设备750可以包括触摸屏。例如,用户可以以这样的特定方式与触摸屏交互:可以用与VR空间中发生的情况来模拟触摸屏上发生的情况。例如,用户可以使用捏放型运动来缩放在触摸屏上显示的内容。触摸屏上的该捏放型运动可以致使提供在VR空间中的信息被缩放。在另一示例中,计算设备可以被渲染为计算机生成的3D环境中的虚拟书。在VR空间中,可以在VR空间中显示书的页数,并且用户手指跨触摸屏的滑动可以被解释成是翻动/翻转虚拟书的页面。随着翻动/翻转每个页面,除了看到页面内容改变以外,还可以向用户提供音频反馈,诸如翻动书的页面的声音。
在一些实施例中,除了计算设备以外的一个或多个输入设备(例如,鼠标、键盘)也可以渲染在计算机生成的3D环境中。所渲染的输入设备(例如,所渲染的鼠标、所渲染的键盘)当被渲染在VR空间中时可以被用来控制VR空间中的对象。
计算设备700意图表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片式服务器、大型主机和其它合适的计算机。计算设备750意图表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其它类似的计算设备。此处所示出的组件、它们的连接和关系以及它们的功能意在仅是示例性的,且并非意在限制所公开的实施例。
已经描述了若干实施例。然而,应理解,在不脱离本说明书的精神和范围的情况下可以做出各种修改。
以下示例中概述了进一步的实施方式:
示例1:一种用于控制共存虚拟环境的方法,所述方法包括确定在所述共存虚拟环境中的第一化身的受限空间,所述第一化身对应于所述共存虚拟环境的第一用户;从与所述第一用户相关联的第一计算设备接收用户位置数据,并且确定在所述共存虚拟环境内的所述第一化身的位置;以及确定所述第一化身的位置在所述第一化身的受限空间内,并且响应于所述确定而将第一共存虚拟环境修改数据传送给所述第一计算设备。
示例2:根据示例1所述的方法,进一步包括:响应于所述确定而将第二共存虚拟环境修改数据传送给与所述共存虚拟环境的第二用户相关联的第二计算设备。
示例3:根据示例2所述的方法,其中所述第一共存虚拟环境修改数据与所述第二共存虚拟环境修改数据不同。
示例4:根据示例2或3所述的方法,其中第一化身的受限空间是基于已经由第二用户限定的安全空间而限定的。
示例5:根据示例2至4中任一项所述的方法,其中,所述第二共存虚拟环境修改数据包括:所述第二计算设备使所述第一化身的至少一部分在由所述第二计算设备对所述共存虚拟环境的渲染中不可见的指令。
示例6:根据示例2至5中任一项所述的方法,其中所述第二共存虚拟环境修改数据包括使与由第二计算设备生成的共存虚拟环境相关联的音频流中的第一化身的音频静音的指令。
示例7:根据示例1至6中任一项所述的方法,其中所述第一化身的受限空间是基于共存虚拟环境的场境而限定的。
示例8:根据示例1至7中任一项所述的方法,其中所述第一化身的受限空间是基于共存虚拟环境内的区域而限定的。
示例9:根据示例1至8中任一项所述的方法,其中,所述第一共存虚拟环境修改数据包括:使所述第一计算设备改变所述共存虚拟环境的色彩方案的指令。
示例10:根据示例1至9中任一项所述的方法,其中,所述第一共存虚拟环境修改数据包括:使所述第一计算设备改变与由所述第一计算设备生成的所述共存虚拟环境相关联的音频流的指令。
示例11:根据示例1至10中任一项所述的方法,其中,所述第一共存虚拟环境修改数据包括:生成指令所述第一用户将所述第一化身从所述第一化身的受限空间移除的图形指示符的指令。
示例12:根据示例1至11中任一项所述的方法,其中,所述第一共存虚拟环境修改数据包括:使所述第一计算设备渲染通知的指令,所述通知示出所述共存虚拟环境中不可见的其它化身的数目以及被提供了共存虚拟环境修改数据的其他用户的数目。
示例13:根据示例1至12中任一项所述的方法,其中,基于所述第一化身的位置在所述第一化身的受限空间内的所述确定,所述方法进一步包括:在未接收指示所述第一用户改变了所述第一化身的位置的用户位置数据的情况下,将所述第一化身重新定位到所述受限空间之外但是在所述共存虚拟环境内。
示例14:根据示例13所述的方法,进一步包括:将更新的位置数据传送给所述第一计算设备,所述更新的位置数据反映重新定位之后所述第一化身的位置。
示例15:根据示例1至14中任一项所述的方法,其中所述第一共存虚拟环境修改数据对应于响应于所述确定而将第一化身从共存虚拟环境移除。
示例16:根据示例15所述的方法,其中,所述第一共存虚拟环境修改数据包括:使所述第一计算设备渲染与所述共存虚拟环境不同的替代虚拟环境并且将所述第一化身放置在所述替代虚拟环境内的指令。
示例17:一种用于渲染共存虚拟环境的方法,所述方法包括:传送请求加入共存虚拟环境的消息;响应于虚拟现实用户设备的移动而传送当前用户位置数据,其中,所述共存虚拟环境包括与所述虚拟现实用户设备相关联的化身,并且其中,所述化身的当前位置基于所述当前用户位置数据;以及接收虚拟环境修改数据,并且将所接收的虚拟环境修改数据应用于与所述虚拟现实用户设备相关联的所述共存虚拟环境的渲染,所述虚拟环境修改数据反映所述化身的当前位置在所述化身的受限空间内的确定。
示例18:根据示例17所述的方法,进一步包括:传送包括所述虚拟现实用户设备的初始位置和取向数据的初始用户位置数据,并且其中,所述当前用户位置数据包括所述虚拟现实用户设备的当前位置和取向数据。
示例19:根据示例18所述的方法,其中,所述初始用户位置数据包括:在化身加入所述共存虚拟环境时,与参与所述共存虚拟环境的所述化身相关联的所述初始位置数据,并且其中,所述当前位置数据包括与参与所述共存虚拟环境的所述化身相关联的当前位置信息。
示例20:根据示例17至19中任一项所述的方法,其中所述虚拟环境修改数据包括修改共存虚拟环境的色彩的指令。
示例21:根据示例17至20中任一项所述的方法,其中,所述虚拟环境修改数据包括:在渲染所述共存虚拟环境的同时修改由所述虚拟现实用户设备生成的音频的指令。
示例22:根据示例17至21中任一项所述的方法,其中虚拟环境修改数据包括使共存虚拟环境内的化身的至少一部分不可见的指令。
示例23:根据示例17至22中任一项所述的方法,其中,所述虚拟环境修改数据包括:在所述共存虚拟环境的渲染上渲染通知叠加的指令,所述通知叠加示出所述共存虚拟环境中不可见的化身的数目和具有对所述共存虚拟环境的可视访问权的用户的数目。
另外,附图中所示出的逻辑流程不要求所示出的特定次序或顺序次序来实现期望的结果。另外,可以提供其它步骤,或者可以从所描述的流程中除去步骤,并且可以将其它组件添加到所描述的系统或从所描述的系统中移除。

Claims (23)

1.一种用于控制作为具有多于一个用户的虚拟环境的共存虚拟环境的方法,所述方法包括:
确定在所述共存虚拟环境中的第一化身的受限空间,所述第一化身对应于所述共存虚拟环境的第一用户;
从与所述第一用户相关联的第一计算设备接收所感测的用户位置数据,其中,从所述第一计算设备接收所感测的用户位置数据进一步包括使用惯性测量单元确定所述第一计算设备的位置和取向,并且基于所感测的用户位置数据确定在所述共存虚拟环境内的所述第一化身的位置;以及
确定所述第一化身的位置在所述第一化身的受限空间内,并且响应于所述确定而将第一共存虚拟环境修改数据传送给所述第一计算设备,其中,基于所述第一化身的位置在所述第一化身的受限空间内的所述确定,所述方法进一步包括:在未接收指示所述第一用户改变了所述第一化身的位置的用户位置数据的情况下,将所述第一化身重新定位到所述受限空间之外但是在所述共存虚拟环境内。
2.根据权利要求1所述的方法,进一步包括:响应于所述确定而将第二共存虚拟环境修改数据传送给与所述共存虚拟环境的第二用户相关联的第二计算设备。
3.根据权利要求2所述的方法,其中,所述第一共存虚拟环境修改数据与所述第二共存虚拟环境修改数据不同。
4.根据权利要求2所述的方法,其中,所述第一化身的受限空间是基于已经由所述第二用户限定的安全空间而限定的。
5.根据权利要求2所述的方法,其中,所述第二共存虚拟环境修改数据包括:所述第二计算设备使所述第一化身的至少一部分在由所述第二计算设备对所述共存虚拟环境的渲染中不可见的指令。
6.根据权利要求2所述的方法,其中,所述第二共存虚拟环境修改数据包括:使与由所述第二计算设备生成的所述共存虚拟环境相关联的音频流中的所述第一化身的音频静音的指令。
7.根据权利要求1所述的方法,其中,所述第一化身的受限空间是基于所述共存虚拟环境的场境来限定的。
8.根据权利要求1所述的方法,其中,所述第一化身的受限空间是基于所述共存虚拟环境内的区域来限定的。
9.根据权利要求1所述的方法,其中,所述第一共存虚拟环境修改数据包括:使所述第一计算设备改变所述共存虚拟环境的色彩方案的指令。
10.根据权利要求1所述的方法,其中,所述第一共存虚拟环境修改数据包括:使所述第一计算设备改变与由所述第一计算设备生成的所述共存虚拟环境相关联的音频流的指令。
11.根据权利要求1所述的方法,其中,所述第一共存虚拟环境修改数据包括:生成指令所述第一用户将所述第一化身从所述第一化身的受限空间移除的图形指示符的指令。
12.根据权利要求1所述的方法,其中,所述第一共存虚拟环境修改数据包括:使所述第一计算设备渲染通知的指令,所述通知示出所述共存虚拟环境中不可见的其它化身的数目以及被提供了共存虚拟环境修改数据的其他用户的数目。
13.根据权利要求12所述的方法,进一步包括:将更新的位置数据传送给所述第一计算设备,所述更新的位置数据反映重新定位之后所述第一化身的位置。
14.根据权利要求1所述的方法,其中,所述第一共存虚拟环境修改数据对应于响应于所述确定而将所述第一化身从所述共存虚拟环境移除。
15.根据权利要求14所述的方法,其中,所述第一共存虚拟环境修改数据包括:使所述第一计算设备渲染与所述共存虚拟环境不同的替代虚拟环境并且将所述第一化身放置在所述替代虚拟环境内的指令。
16.一种用于渲染作为具有多于一个的用户的虚拟环境的共存虚拟环境的方法,所述方法包括:
传送请求加入共存虚拟环境的消息;
响应于虚拟现实用户设备的移动而传送当前用户位置数据,其中,所述虚拟现实用户设备的位置和取向是使用惯性测量单元确定的,其中,所述共存虚拟环境包括与所述虚拟现实用户设备相关联的化身,并且其中,所述化身的当前位置基于所述当前用户位置数据;以及
接收虚拟环境修改数据,并且将所接收的虚拟环境修改数据应用于与所述虚拟现实用户设备相关联的所述共存虚拟环境的渲染,所述虚拟环境修改数据反映所述化身的当前位置在所述化身的受限空间内的确定,其中,基于所述化身的当前位置在所述受限空间内的所述确定,所述方法进一步包括:在未接收指示所述用户改变了所述化身的位置的用户位置数据的情况下,将所述化身重新定位到所述受限空间之外但是在所述共存虚拟环境内。
17.根据权利要求16所述的方法,进一步包括:传送包括所述虚拟现实用户设备的初始位置和取向数据的初始用户位置数据,并且其中,所述当前用户位置数据包括所述虚拟现实用户设备的当前位置和取向数据。
18.根据权利要求16所述的方法,其中,初始用户位置数据包括:在化身加入所述共存虚拟环境时,与参与所述共存虚拟环境的所述化身相关联的初始位置数据,并且其中,所述当前位置数据包括与参与所述共存虚拟环境的所述化身相关联的当前位置信息。
19.根据权利要求16所述的方法,其中,所述虚拟环境修改数据包括修改所述共存虚拟环境的色彩的指令。
20.根据权利要求16所述的方法,其中,所述虚拟环境修改数据包括:在渲染所述共存虚拟环境的同时修改由所述虚拟现实用户设备生成的音频的指令。
21.根据权利要求16所述的方法,其中,所述虚拟环境修改数据包括:使所述共存虚拟环境内的所述化身的至少一部分不可见的指令。
22.根据权利要求16所述的方法,其中,所述虚拟环境修改数据包括:在所述共存虚拟环境的渲染上渲染通知叠加的指令,所述通知叠加示出所述共存虚拟环境中不可见的化身的数目以及具有对所述共存虚拟环境的可视访问权的用户的数目。
23.一种包括存储于其中的指令的非暂时性计算机可读存储介质,所述指令当由处理器执行时,使得所述处理器执行根据权利要求1-22中的任一项所述的方法的操作。
CN201780016968.5A 2016-05-16 2017-05-16 控制或渲染共存虚拟环境的方法及相关存储介质 Active CN108780356B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662336932P 2016-05-16 2016-05-16
US62/336,932 2016-05-16
US15/595,369 US10722800B2 (en) 2016-05-16 2017-05-15 Co-presence handling in virtual reality
US15/595,369 2017-05-15
PCT/US2017/032843 WO2017201005A1 (en) 2016-05-16 2017-05-16 Co-presence handling in virtual reality

Publications (2)

Publication Number Publication Date
CN108780356A CN108780356A (zh) 2018-11-09
CN108780356B true CN108780356B (zh) 2021-09-03

Family

ID=60297298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780016968.5A Active CN108780356B (zh) 2016-05-16 2017-05-16 控制或渲染共存虚拟环境的方法及相关存储介质

Country Status (4)

Country Link
US (1) US10722800B2 (zh)
EP (1) EP3458937B1 (zh)
CN (1) CN108780356B (zh)
WO (1) WO2017201005A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569605B (zh) * 2016-11-03 2019-06-18 腾讯科技(深圳)有限公司 基于虚拟现实的控制方法和装置
DE102018201336A1 (de) * 2018-01-29 2019-08-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Virtual-Reality-Konferenzsystem
JP7250809B2 (ja) * 2018-03-13 2023-04-03 ロナルド ウィンストン 仮想現実システムおよび方法
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
CN110634189B (zh) * 2018-06-25 2023-11-07 苹果公司 用于在沉浸式混合现实体验期间用户警报的系统和方法
KR102508286B1 (ko) * 2018-08-27 2023-03-09 삼성전자 주식회사 가상 현실에서 정보를 제공하는 전자 장치 및 방법
CN112955850A (zh) * 2018-09-20 2021-06-11 苹果公司 用于衰减模拟现实(sr)空间中的联合用户交互的方法和设备
US20200169586A1 (en) * 2018-11-26 2020-05-28 Facebook Technologies, Llc Perspective Shuffling in Virtual Co-Experiencing Systems
US10846898B2 (en) * 2019-03-28 2020-11-24 Nanning Fugui Precision Industrial Co., Ltd. Method and device for setting a multi-user virtual reality chat environment
WO2020214484A1 (en) * 2019-04-15 2020-10-22 Ocelot Laboratories Llc Attenuating mode
JP7397883B2 (ja) * 2019-05-31 2023-12-13 アップル インコーポレイテッド 環境に基づく通信データの提示
EP3942401A1 (en) 2019-06-20 2022-01-26 Dirtt Environmental Solutions Ltd. Voice communication system within a mixed-reality environment
US11119568B2 (en) 2019-09-24 2021-09-14 Facebook Technologies, Llc Suspend mode feature for artificial reality systems
GB2590422B (en) 2019-12-17 2024-03-06 Sony Interactive Entertainment Inc Content generation system and method
WO2021163626A1 (en) * 2020-02-14 2021-08-19 Magic Leap, Inc. Session manager
US20210286502A1 (en) * 2020-03-16 2021-09-16 Apple Inc. Devices, Methods, and Graphical User Interfaces for Providing Computer-Generated Experiences
US11240621B2 (en) * 2020-04-11 2022-02-01 LI Creative Technologies, Inc. Three-dimensional audio systems
JP2022003498A (ja) * 2020-06-23 2022-01-11 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、方法、プログラム及び情報処理システム
US11410518B2 (en) * 2020-06-29 2022-08-09 At&T Intellectual Property I, L.P. Cross-reality safety service
US11282278B1 (en) * 2021-04-02 2022-03-22 At&T Intellectual Property I, L.P. Providing adaptive asynchronous interactions in extended reality environments
US11436806B1 (en) * 2021-04-07 2022-09-06 Penumbra, Inc. Dual perspective rendering in virtual reality
US11810245B2 (en) * 2021-08-25 2023-11-07 Verizon Patent And Licensing Inc. Methods and systems for prioritized replication of a virtual world
WO2023241781A1 (en) * 2022-06-13 2023-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Rendering representations of users on a user interface of a virtual reality communication device
JP7321471B1 (ja) 2022-06-21 2023-08-07 グリー株式会社 情報処理システム、情報処理方法、及びプログラム
GB2622251A (en) * 2022-09-08 2024-03-13 Sony Interactive Entertainment Inc Systems and methods of protecting personal space in multi-user virtual environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010019925A1 (en) * 2008-08-15 2010-02-18 Brown Technology Partnerships Method and apparatus for estimating body shape
CN101689279A (zh) * 2007-06-21 2010-03-31 微软公司 实况游戏大厅

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219045B1 (en) * 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
US5884029A (en) 1996-11-14 1999-03-16 International Business Machines Corporation User interaction with intelligent virtual objects, avatars, which interact with other avatars controlled by different users
US20040254728A1 (en) 2002-10-25 2004-12-16 Poropat George Vladimir Collision warning system and method
DE202004005257U1 (de) * 2004-04-02 2004-05-27 Wilhelm Karmann Gmbh Verschlussvorrichtung für ein Verdeck eines Cabriolet-Kraftfahrzeuges
US7605804B2 (en) 2005-04-29 2009-10-20 Microsoft Corporation System and method for fine cursor positioning using a low resolution imaging touch screen
US7613569B2 (en) 2005-07-19 2009-11-03 Toyota Motor Engineering & Manufacturing North America, Inc. Crash prediction network with visual input for vehicle
US8668334B2 (en) 2006-02-27 2014-03-11 Vital Art And Science Incorporated Vision measurement and training system and method of operation thereof
US8077153B2 (en) 2006-04-19 2011-12-13 Microsoft Corporation Precise selection techniques for multi-touch screens
NZ595423A (en) * 2006-06-16 2013-10-25 Resmed Ltd Forehead supports for facial masks
US8384665B1 (en) 2006-07-14 2013-02-26 Ailive, Inc. Method and system for making a selection in 3D virtual environment
US20090089685A1 (en) * 2007-09-28 2009-04-02 Mordecai Nicole Y System and Method of Communicating Between A Virtual World and Real World
EP2085279B1 (en) 2008-01-29 2011-05-25 Ford Global Technologies, LLC A system for collision course prediction
US8990705B2 (en) * 2008-07-01 2015-03-24 International Business Machines Corporation Color modifications of objects in a virtual universe based on user display settings
JP5159477B2 (ja) * 2008-07-08 2013-03-06 株式会社東芝 不揮発性半導体記憶装置およびその消去検証方法
US8241131B2 (en) * 2008-09-26 2012-08-14 International Business Machines Corporation Avatar protection within a virtual universe
US8957835B2 (en) 2008-09-30 2015-02-17 Apple Inc. Head-mounted display apparatus for retaining a portable electronic device with display
US8120857B2 (en) 2008-10-15 2012-02-21 Gentex Corporation Apparatus and method for mounting and calibrating a helmet-mounted display
US8878873B2 (en) * 2008-12-19 2014-11-04 International Business Machines Corporation Enhanced visibility of avatars satisfying a profile
US9176579B2 (en) 2008-12-29 2015-11-03 Avaya Inc. Visual indication of user interests in a computer-generated virtual environment
JP5507880B2 (ja) 2009-05-07 2014-05-28 任天堂株式会社 情報処理プログラムおよび情報処理装置
US8280966B2 (en) * 2009-10-22 2012-10-02 Sap Ag System and method of controlling access to information in a virtual computing environment
US8564591B2 (en) 2009-11-30 2013-10-22 International Business Machines Corporation Rendering of artifacts in a virtual universe environment in response to user tags
US9323056B2 (en) 2009-12-17 2016-04-26 Bae Systems Plc Method of aligning a helmet mounted display
US9245177B2 (en) 2010-06-02 2016-01-26 Microsoft Technology Licensing, Llc Limiting avatar gesture display
US8648970B2 (en) 2010-08-02 2014-02-11 Chip Goal Electronics Corporation, Roc Remote controllable video display system and controller and method therefor
CN102254346A (zh) 2011-06-30 2011-11-23 上海大学 基于云计算的增强现实虚实碰撞检测方法
HK1170113A2 (en) 2011-10-03 2013-02-15 Chu Man Fong Waterproof housing for digital devices having capacitive touch screen and its actuator mechanism
US9186148B2 (en) * 2012-01-05 2015-11-17 Ethicon Endo-Surgery, Inc. Tissue stapler anvil feature to prevent premature jaw opening
US9183676B2 (en) 2012-04-27 2015-11-10 Microsoft Technology Licensing, Llc Displaying a collision between real and virtual objects
WO2013181026A1 (en) 2012-06-02 2013-12-05 Social Communications Company Interfacing with a spatial virtual communications environment
WO2014185146A1 (ja) 2013-05-15 2014-11-20 ソニー株式会社 表示制御装置、表示制御方法および記録媒体
US9529194B2 (en) 2013-11-21 2016-12-27 Samsung Electronics Co., Ltd. Head-mounted display apparatus
JP2017511041A (ja) 2014-02-18 2017-04-13 マージ ラブス インコーポレイテッド モバイルコンピューティングデバイスと共に使用するためのヘッドマウントディスプレイゴーグル
US9727136B2 (en) 2014-05-19 2017-08-08 Microsoft Technology Licensing, Llc Gaze detection calibration
US9551873B2 (en) 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
US10311638B2 (en) 2014-07-25 2019-06-04 Microsoft Technology Licensing, Llc Anti-trip when immersed in a virtual reality environment
KR20160026323A (ko) 2014-08-29 2016-03-09 삼성전자주식회사 움직임에 기반하여 알림 정보를 제어하는 방법 및 장치
US9818225B2 (en) 2014-09-30 2017-11-14 Sony Interactive Entertainment Inc. Synchronizing multiple head-mounted displays to a unified space and correlating movement of objects in the unified space
EP3239818A4 (en) 2014-12-26 2018-07-11 Nikon Corporation Control device, electronic instrument, control method, and program
US9696795B2 (en) 2015-02-13 2017-07-04 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments
JP6459711B2 (ja) 2015-03-30 2019-01-30 セイコーエプソン株式会社 表示装置、及び、表示装置の制御方法
US10062208B2 (en) * 2015-04-09 2018-08-28 Cinemoi North America, LLC Systems and methods to provide interactive virtual environments
US9995940B2 (en) 2015-05-18 2018-06-12 Oculus Vr, Llc Laminated alignment structure for eyecup assemblies in a virtual reality headset
US20170011554A1 (en) * 2015-07-01 2017-01-12 Survios, Inc. Systems and methods for dynamic spectating
US10192361B2 (en) 2015-07-06 2019-01-29 Seiko Epson Corporation Head-mounted display device and computer program
KR20170046415A (ko) 2015-10-21 2017-05-02 엘지전자 주식회사 이동 단말기 및 그 제어방법
US10445860B2 (en) 2015-12-08 2019-10-15 Facebook Technologies, Llc Autofocus virtual reality headset
US20170243327A1 (en) 2016-02-19 2017-08-24 Lenovo (Singapore) Pte. Ltd. Determining whether to rotate content based on identification of angular velocity and/or acceleration of device
JP6852355B2 (ja) 2016-11-09 2021-03-31 セイコーエプソン株式会社 プログラム、頭部装着型表示装置
US10228773B2 (en) 2017-01-02 2019-03-12 Merge Labs, Inc. Three-dimensional augmented reality object user interface functions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689279A (zh) * 2007-06-21 2010-03-31 微软公司 实况游戏大厅
WO2010019925A1 (en) * 2008-08-15 2010-02-18 Brown Technology Partnerships Method and apparatus for estimating body shape

Also Published As

Publication number Publication date
EP3458937A1 (en) 2019-03-27
EP3458937B1 (en) 2023-12-06
US10722800B2 (en) 2020-07-28
WO2017201005A1 (en) 2017-11-23
CN108780356A (zh) 2018-11-09
US20170326457A1 (en) 2017-11-16

Similar Documents

Publication Publication Date Title
CN108780356B (zh) 控制或渲染共存虚拟环境的方法及相关存储介质
JP7109408B2 (ja) 広範囲同時遠隔ディジタル提示世界
CN109891369B (zh) 虚拟会议中的信息隐私
KR102098316B1 (ko) 증강 및/또는 가상 현실 환경에서의 텔레포테이션
JP7008730B2 (ja) 画像に挿入される画像コンテンツについての影生成
CN108697935B (zh) 虚拟环境中的化身
US20170287215A1 (en) Pass-through camera user interface elements for virtual reality
US11416067B2 (en) Suspend mode feature for artificial reality systems
EP3740849B1 (en) Hybrid placement of objects in an augmented reality environment
TW202206978A (zh) 用於擴展現實的隱私控制介面
EP3814876B1 (en) Placement and manipulation of objects in augmented reality environment
CN108700944A (zh) 与在虚拟现实环境中的运动有关的系统和方法
US20230221830A1 (en) User interface modes for three-dimensional display
US11816757B1 (en) Device-side capture of data representative of an artificial reality environment

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