CN108697935A - 虚拟环境中的化身 - Google Patents
虚拟环境中的化身 Download PDFInfo
- Publication number
- CN108697935A CN108697935A CN201780013044.XA CN201780013044A CN108697935A CN 108697935 A CN108697935 A CN 108697935A CN 201780013044 A CN201780013044 A CN 201780013044A CN 108697935 A CN108697935 A CN 108697935A
- Authority
- CN
- China
- Prior art keywords
- incarnation
- user
- value
- display
- virtual environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000008859 change Effects 0.000 claims abstract description 52
- 230000015654 memory Effects 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 34
- 230000009466 transformation Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 21
- 230000001815 facial effect Effects 0.000 claims description 17
- 230000003993 interaction Effects 0.000 claims description 17
- 238000005516 engineering process Methods 0.000 abstract description 15
- 238000004891 communication Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000007654 immersion Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 208000027534 Emotional disease Diseases 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 241000287181 Sturnus vulgaris Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/024—Multi-user, collaborative environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2024—Style variation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
在虚拟现实系统中生成虚拟环境的技术包含在保持所述第一用户正与之交互的对象的空间位置的情况下在第二用户的用户界面内改变表示第一用户的化身的属性。以这种方式,所述第二用户可以在其用户界面内仅看到非威胁的或另外令人愉快的化身,而其它用户可能不会感觉到对在其相应的用户界面中显示的所述虚拟环境的任何改变。
Description
相关申请的交叉引用
本申请要求2016年5月4日提交的第62/331,939号美国临时申请和2016年12月5日提交的第62/430,180号美国临时申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本说明书大体上涉及在虚拟现实(VR)环境中表示用户。
附图说明
图1是用于执行在虚拟现实(VR)空间中表示用户的改进技术的示例电子环境的框图。
图2是描绘用于执行在VR空间中表示用户的改进技术的另一示例电子环境的框图。
图3A是描绘包括一对化身的示例VR空间的图。
图3B是描绘其中一个化身已被调整大小的示例VR空间的图。
图4A是描绘包括一对化身的示例VR空间的图。
图4B是描绘其中一个化身的面部特征被替换的示例VR空间的图。
图5A是描绘包括一对化身的示例VR空间的图。
图5B是描绘其中一个化身的外观已经改变的示例VR空间的图。
图6是描绘执行在虚拟现实(VR)空间中表示用户的改进技术的示例方法的流程图。
图7是描绘执行在虚拟现实(VR)空间中表示用户的改进技术的另一示例方法的流程图。
图8示出了可用于实现本文描述的技术的计算机设备和移动计算机设备的示例。
图9是描绘示例VR头戴式显示器(HMD)的图。
图10A、10B和10C是描绘示例VR HMD和控制器的图。
各附图中的相同附图标记表示相同元件。
具体实施方式
传统的虚拟环境包括表示用户的化身。表示相应用户的每个化身在包括该相应用户可访问的用户界面的显示器上显示。用户界面允许相应用户控制虚拟环境内用户的化身的动作和外观。因为虚拟环境包括表示每个用户的化身,所以每个用户可以看到虚拟环境中的其它(例如,所有其它)化身。
然而,如果一个或多个其它化身看起来对特定用户构成威胁,则特定用户在参与传统虚拟环境时可能经历负面心理影响。例如,如果用户的化身比游戏中的另一用户的化身大得多,则另一用户可能发现在存在更大化身的情况下难以正常地玩游戏。
与其中第一用户的化身可能对第二用户提供不愉快体验的传统虚拟环境相反,改进技术涉及在保持第一用户与之交互的对象的空间位置的情况下在第二用户的用户界面内改变表示第一用户的化身的属性。以这种方式,第二用户可以避免看到可能干扰其用户界面内的正常使用的图像,而其它用户可能不会感觉到在其相应的用户界面中显示的对虚拟环境的任何改变。
图1是用于执行在VR空间中表示用户的改进技术的一个实施例的示例电子环境100的框图。示例电子环境100包括多个VR控制器110(1)、...、110(N)。示例环境100还包括虚拟环境(VE)服务器计算机120和网络150。
每个VR控制器,例如VR控制器110(1)可以采用头戴式显示器(HMD)的形式,其由相应的用户112(1)佩戴以提供沉浸式虚拟环境。在示例电子环境100中,每个用户(例如,佩戴相应VR控制器(即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控制器110(1)、...、110(N)和相应的用户设备114(1)、...、114(N)。
虚拟环境服务器计算机120被配置成生成用于沉浸式虚拟环境的数据140,并且通过网络150将所述数据传输到用户设备114(1)、...、114(N)中的每一个。如图1所示,虚拟环境服务器计算机120被实现为通过网络150与用户设备114(1)、...、114(N)通信的计算机系统。
在一些实施方案中,例如,虚拟环境服务器计算机120可以是有线设备和/或无线设备(例如,支持Wi-Fi的设备),并且可以是例如计算实体(例如,个人计算设备)、服务器设备(例如,web服务器)、移动电话、触摸屏设备、个人数字助理(PDA)、膝上型计算机、包括一个或多个处理器或与之相关联的电视、平板设备、电子阅读器等。这样的设备可以被配置成基于一个或多个平台(例如,一个或多个类似或不同的平台)操作,所述平台可以包括一种或多种类型的硬件、软件、固件、操作系统、运行时库等。
虚拟环境服务器计算机120包括网络接口122、处理单元124的集合和存储器126。网络接口122包括例如以太网适配器、令牌环适配器等,用于将从网络150接收的电子和/或光信号转换成电子形式以供虚拟环境服务器计算机120使用。所述处理单元124的集合包括一个或多个处理芯片和/或组合件。存储器126包括易失性存储器(例如,RAM)和非易失性存储器,例如一个或多个ROM、磁盘驱动器、固态驱动器等。所述处理单元124的集合和存储器126一起形成控制电路,所述控制电路被配置和布置成执行如本文所述的各种方法和功能。
虚拟环境服务器计算机120的组件(例如,模块、处理单元124)可以被配置成基于可以包括一种或多种类型的硬件、软件、固件、操作系统、运行时库等一个或多个平台(例如,一个或多个类似或不同平台)进行操作。在一些实施方案中,虚拟环境服务器计算机120的组件可以被配置成在设备集群(例如,服务器场)内操作。在这样的实施方案中,虚拟环境服务器计算机120的组件的功能和处理可以分布到设备集群的若干设备。
虚拟环境服务器计算机120的组件可以是或可以包括被配置成处理属性的任何类型的硬件和/或软件。在一些实施方案中,图1中的虚拟环境服务器计算机120的组件中示出的组件的一个或多个部分可以是或可以包括基于硬件的模块(例如,数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器)、固件模块和/或基于软件的模块(例如,计算机代码的模块、可以在计算机处执行的计算机可读指令集)。例如,在一些实施方案中,虚拟环境服务器计算机120的组件的一个或多个部分可以是或可以包括被配置成由至少一个处理器(未示出)执行的软件模块。在一些实施方案中,组件的功能可以包括在与图1中所示的不同的模块和/或不同的组件中。
在一些实施例中,虚拟环境服务器计算机120的一个或多个组件可以是或可以包括配置成处理存储在存储器中的指令的处理器。例如,VE创建管理器130(和/或其一部分)和/或属性值管理器132(和/或其一部分)可以是处理器和存储器的组合,其被配置成执行与实现一个或多个功能的进程相关的指令。
尽管未示出,但是在一些实施方案中,虚拟环境服务器计算机120的组件(或其部分)可以被配置成在例如数据中心(例如,云计算环境)、计算机系统、一个或多个服务器/主机设备等内操作。在一些实施方案中,虚拟环境服务器计算机120的组件(或其部分)可以被配置成在网络内操作。因此,虚拟环境服务器计算机120的组件(或其部分)可以被配置成在可以包括一个或多个设备和/或一个或多个服务器设备的各种类型的网络环境中起作用。例如,网络可以是或可以包括局域网(LAN)、广域网(WAN)等。网络可以是或可以包括无线网络和/或使用例如网关设备、网桥、交换机等实现的无线网络。网络可以包括一个或多个段和/或可以具有基于诸如互联网协议(IP)和/或专有协议的各种协议的部分。网络可以包括互联网的至少一部分。
在一些实施方案中,存储器126可以是任何类型的存储器,例如随机存取存储器、磁盘驱动器存储器、闪存等。在一些实施方案中,存储器126可实施为与虚拟环境服务器计算机120的组件相关联的不止一个存储器组件(例如,不止一个RAM组件或磁盘驱动器存储器)。在一些实施方案中,126可以是数据库存储器。在一些实施方案中,存储器126可以是或可以包括非本地存储器。例如,存储器126可以是或可以包括由多个设备(未示出)共享的存储器。在一些实施方案中,存储器126可以与网络内的服务器设备(未示出)相关联,并且被配置成服务于客户端设备200的组件和/或虚拟环境服务器计算机120的组件。
VE创建管理器130被配置成生成待由VR控制器110(1)、...、110(N)实现为沉浸式虚拟环境的数据(即,VE数据140)。例如,VE创建管理器130生成待实现为表示用户112(1)、...、112(N)的化身以及用户112(1)、...、112(N)经由化身与之进行交互的对象的数据。
属性值管理器132被配置成在VE数据140流传输到用户设备114(1)、...、114(N)时改变化身的一个或多个方面(aspect)。例如,属性值管理器132响应于一个化身的一个方面采用了预定义外形(例如,巨人、吸血鬼)而改变该方面。
如上所述,VE数据140是由VR控制器110(1)、...、110(N)实现为沉浸式虚拟环境的数据。VE数据140包括待实现为表示相应用户112(1)、...、112(N)的化身142(1)、...、142(N)的数据。VE数据140还包括待实现为用户112(1)、...、112(N)经由其相应的化身142(1)、...、142(N)与之交互的对象146(1)、...、146(M)的数据。
待实现为化身(例如,化身142(1))的数据包括属性值144(1,1)、...、144(1,N)。每个属性值,例如144(1,N)是化身142(1)的属性的值,其中所述属性描述在VR控制器110(N)中显示的化身142(1)的方面。应理解,为简单起见,图1仅示出了可以具有N个不同值的一个属性,每个值描述化身142(1)的相同方面,但是如在不同VR控制器110(1)、...、110(N)中显示的那样。然而,每个化身(例如,化身142(1))可以具有许多方面,每个方面由不同的相应属性描述。
待实现为对象(例如,对象146(1))的数据包括化身标识符148(1)。化身标识符148(1)识别化身,相应用户经由该化身与对象146(1)交互。例如,如果用户112(N)经由化身142(N)与对象146(1)交互,则化身标识符148(1)可以取值等于N。应理解,待实现为对象146(1)的数据还可以包含定义对象146(1)的各个方面的属性值,但是为了简化下面的讨论,这些未在图1中示出。
网络150提供用户设备114(1)、...、114(N)与VE服务器计算机120之间的网络连接。网络150可以实现通常用于通过互联网或其它网络进行通信的各种协议和拓扑中的任何一种。此外,网络150可以包括在这种通信中使用的各种组件(例如,电缆、交换机/路由器、网关/网桥等)。
在示例操作期间,VE服务器计算机120经由用户设备114(N)从用户112(N)接收参与沉浸式虚拟环境内的活动的请求。例如,活动可以是视频游戏,并且请求可以包括定义表示用户112(N)的化身142(N)的数据。在一些布置中,沉浸式虚拟环境尚不存在。在这种情况下,VE服务器计算机120创建沉浸式虚拟环境。然而,迄今为止假设存在至少一个其它用户(例如,用户112(1))参与由化身142(1)表示的活动。
响应于所述请求,VE服务器计算机120生成表示用户112(N)的化身142(N)。例如,VE服务器计算机120可以从包含在请求中的数据生成化身142(N)。替选地,VE服务器计算机120可以根据存储在数据库中的数据生成化身142(N)(例如,所述请求可以包含识别用户112(N)的标识符,并且可以使用所述标识符从数据库获取该数据)。
在生成化身142(N)之后,VE服务器计算机120对每个现有化身(例如,142(1))执行化身比较操作。例如,VE服务器计算机120可能已经接收到关于用户112(N)的用户偏好的信息。在一个示例中,用户偏好可以陈述化身142(N)不得矮于任何其它化身,例如142(1)。在这个示例中,假设属性值144(1,1)、...、144(1,N)描述在相应的VR控制器110(1)、...、110(N)中显示的化身142(1)的高度,对于其它属性值也是如此。在这种情况下,VE服务器计算机120将属性值144(1,N)与属性值144(N,N)进行比较。如果属性值144(1,N)大于属性值144(N,N)(即,如在VR控制器110(N)中显示的,化身142(1)高于化身142(N)),则VE服务器计算机120将属性值144(1,N)改变为不同的值。在这种情况下,VE服务器计算机120将属性值144(1,N)减小到小于或等于属性值144(N,N)的值。
应理解,在以上示例中,属性值144(1,N)描述了在VR控制器110(N)中显示的化身142(1)的高度。属性值144(1,N)不描述在VR控制器110(1)或电子环境100中的任何其它VR控制器中显示的化身142(1)的高度。因此,即使用户112(N)将看见化身142(1)具有与化身142(N)相同的高度或比化身142(N)矮,但用户112(1)将看不到任何改变。如果化身142(1)是巨人,则用户112(1)将看到化身142(1)为巨人,而用户112(N)可看到化身142(1)为具有正常高度或甚至更小一些的人物。
应进一步理解,用户112(1)经由化身142(1)与之交互的任何对象146(1)、...、146(M)都不会由于属性值142(1,N)的改变而经历任何改变。例如,假设用户112(1)经由化身142(1)与对象146(1)交互(即,化身标识符148(1)等于1)。当VR控制器110(N)中显示的化身142(1)矮于VR控制器110(1)中显示的化身142(1)时,无论VR控制器110(1)、...、110(N)可以显示什么,对象146(1)都不变。留下这样的对象146(1)的优点可在于所有用户112(1)、...、112(N)的体验的一致性。例如,所有用户112(1)、...、112(N)应看到并体验相同的视频游戏,而不管他们各自如何感知化身142(1)、...、142(N)。
在对每个现有化身执行化身比较操作之后,VE服务器计算机120经由网络150将VE数据140在数据流中传输到用户设备114(1)、...、114(N)。一旦接收到,每个用户设备(例如,用户设备114(N))处理来自数据流的VE数据,并将VE数据140呈现给相应VR控制器(例如110(N))的显示器。
在一些布置中,VE服务器计算机120不向用户112(1)通知在VR控制器110(N)中显示的对化身142(1)的任何改变。然而,在一些布置中,VE服务器计算机120在改变属性值144(1,N)时向用户设备114(1)发送消息以向用户112(1)通知改变。
虽然以上示例示出了服务器或VR控制器如何被配置成在另一用户的显示器中改变一个用户的化身的外观,但是应理解,可能有两个以上的用户在虚拟环境中具有化身。在这种情况下,可以将每个用户的VR控制器配置为使所述用户以不同的方式看到另一个用户的化身。
图2是用于执行在VR空间中表示用户的改进技术的另一实施例的另一示例电子环境200的框图。示例电子环境200包括VR控制器210(1)、用户设备214(1)、VE服务器计算机280和网络290。应理解,示例电子环境200包括图2中未示出的其它VR控制器和用户设备。
VR控制器210(1)类似于图1中所示的VR控制器110(1)、...、110(N)中的任何一个。如图2所示,VR控制器210(1)包括处理单元216的集合、设备接口218、VR显示器260和VR用户接口270。在一些配置中,VR控制器210(1)采用头戴式显示器(HMD)的形式。
所述处理单元216的集合包括一个或多个处理芯片和/或组合件。所述处理单元216的集合被配置成执行用于处理VR控制器210(1)内的通用数据以促进VR控制器210(1)的操作的指令。例如,所述处理单元216的集合可以执行来自VR控制器内的各种传感器的用于控制表示用户212(1)的化身的运动的指令。
设备接口218包括用于与用户设备214(1)交换数据的硬件和/或软件。例如,当用户设备214(1)通过网络290从VE服务器计算机280接收VE数据242时,设备接口218接收用于在VR显示器260上显示沉浸式虚拟环境的指令。此外,设备接口218将关于由用户212(1)在VR控制器210(1)处发起的沉浸式虚拟环境的改变的信息发送回用户设备214(1)。
VR显示器260是被配置成向用户212(1)提供沉浸式虚拟环境的显示器。在一些布置中,当VR控制器210(1)采用HMD的形式时,VR显示器260安装在包含VR控制器210(1)的外壳的面向内侧中。然后可以借助于光学组合件将VR显示器260上显示的图像聚焦到用户212(1)的视网膜上。
VR用户接口270被配置成从用户212(1)获取输入并将所述输入转译成将由处理单元216和/或设备接口218执行的指令。在一个示例中,这样的输入可以采取控件(通过控件272(1)、...、272(P))的形式来控制表示用户212(1)的化身的运动。在另一示例中,控件(例如,272(1))可以控制沉浸式虚拟环境的其它方面,例如其它化身的外观。如图2所示,VR用户接口270与VR显示器260分开设置。在这种情况下,VR用户接口270可以具有控件270(1),例如操纵杆界面、鼠标界面等。然而,在其它布置中,VR用户接口270嵌入在VR显示器260内。在这种情况下,控件272(1)、...、272(P)可以是虚拟的并且覆盖在沉浸式虚拟环境上。然后可以通过用户212(1)的运动来激活每个控件,例如控件272(1)。
用户设备214(1)类似于图1中所示的用户设备114(1)、...、114(N)中的任何一个。用户设备214(1)包括网络接口222、处理单元224的集合、存储器226和VR接口228。在一些配置中,用户设备214(1)可以是例如智能手机、控制器、操纵杆,或可与VR控制器210(1)配对并与之通信用于在沉浸式虚拟环境中进行交互的另一用户设备。用户设备214(1)可以通过例如有线连接或无线连接(例如,WiFi或蓝牙连接)与VR控制器210(1)可操作地耦合或配对。用户设备214(1)和VR控制器210(1)的这种配对或可操作的耦合可以提供用户设备214(1)与VR控制器210(1)之间的通信以及用户设备214(1)与VR控制器210(1)之间的数据交换。这可以允许用户设备214(1)用作与VR控制器210(1)通信的控制器,用于在沉浸式虚拟环境中进行交互。也就是说,用户设备214(1)的操纵,例如,由用户设备214(1)发射并且被引导到虚拟对象或特征以供选择的光束或射线,和/或在用户设备214(1)的触摸表面上接收到的输入,和/或用户设备214(1)的移动,可以在所提供的沉浸式虚拟环境中通过VR控制器210(1)转译成相应的选择、移动或其它类型的交互。
网络接口222包括例如以太网适配器、令牌环适配器等,用于将从网络290接收的电子和/或光信号转换成电子形式以供VE服务器计算机280使用。处理单元224的集合包括一个或多个处理芯片和/或组合件。存储器226包括易失性存储器(例如,RAM)和非易失性存储器两者,例如一个或多个ROM、磁盘驱动器、固态驱动器等。所述处理单元224的集合和存储器226一起形成控制电路,所述控制电路被配置和布置成执行如本文所述的各种方法和功能。
用户设备214(1)的组件(例如,模块、处理单元224)可以被配置成基于可以包括一种或多种类型的硬件、软件、固件、操作系统、运行时库等一个或多个平台(例如,一个或多个类似或不同平台)进行操作。用户设备214(1)的组件可以是或可以包括被配置成处理属性的任何类型的硬件和/或软件。在一些实施方案中,图2中的用户设备214(1)的组件中示出的组件的一个或多个部分可以是或可以包括基于硬件的模块(例如,数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器)、固件模块和/或基于软件的模块(例如,计算机代码的模块、可以在计算机处执行的计算机可读指令集)。例如,在一些实施方案中,用户设备214(1)的组件的一个或多个部分可以是或可以包括被配置成由至少一个处理器(未示出)执行的软件模块。在一些实施方案中,组件的功能可以包括在与图2中所示的不同的模块和/或不同的组件中。
在一些实施例中,用户设备214(1)的一个或多个组件可以是或可以包括被配置成处理存储在存储器中的指令的处理器。例如,VR用户界面管理器230(和/或其一部分)、显示管理器(和/或其一部分)、VE数据流管理器240(和/或其一部分)以及VE化身属性管理器250(和/或其一部分)可以是处理器和存储器的组合,其被配置成执行与实现一个或多个功能的进程有关的指令。
在一些实施方案中,存储器126可以是任何类型的存储器,例如随机存取存储器、磁盘驱动器存储器、闪存等。
VR用户界面管理器230被配置成经由VR接口228接收和处理来自VR用户接口270的输入。此外,VR用户界面管理器230包括控件管理器232(1)、...、232(P),其接收和处理来自每个相应控件272(1)、...、272(P)的输入。
显示管理器234被配置成呈现VE数据242以在VR显示器260上显示。显示管理器通过呈现VE数据242而产生为VR显示器260格式化的呈现数据,并将此呈现的数据通过VR接口228发送到VR控制器。
VE数据流管理器240被配置成通过网络290从VE服务器计算机280接收VE数据流。一旦接收到数据流,VE数据流管理器240就解析数据流以对描述沉浸式虚拟环境的各个方面的任何属性值进行更新。VE数据流管理器240可以将流的快照存储为VE数据242。然后,VE数据242可以采用描述沉浸式虚拟环境的各个方面的各种属性的最新值的形式。在快速改变的虚拟环境中,属性的值可以不断改变。
VE化身属性管理器250被配置成改变描述表示沉浸式虚拟环境内的另一用户的化身的方面的属性值。根据由用户提供的一些指令或一些其它预定义指令,VE化身属性管理器250与VE数据流管理器240一起工作,以在通过网络290从VE服务器计算机280接收的数据流中查找由化身标识符252和属性标识符254标识的属性。VE化身属性管理器250在存储任何新的VE数据242之前改变这种属性的值,以供显示管理器234呈现。
在一些布置中,VE化身属性管理器250根据预定义规则确定化身标识符252和属性标识符254。例如,假设化身穿着外衣,其中包含不适合儿童的标语。那么用户设备214(1)可以在存储器中存储规则,声明如果用户212(1)的年龄小于十六岁,则应该将外衣改变为其它东西。然而,在其它布置中,VE化身属性管理器250可以根据用户212(1)通过控件(例如,控件272(1))进行的实时选择来确定化身标识符252和属性标识符254。
VR接口228包括用于与VR控制器210(1)交换数据的硬件和/或软件。例如,当用户设备214(1)通过网络290从VE服务器计算机280接收VE数据242时,VR接口228接收用于在VR显示器260上显示沉浸式虚拟环境的呈现数据。此外,VR接口228将关于由用户212(1)在VR控制器210(1)处发起的沉浸式虚拟环境的改变的信息接收回用户设备214(1)。
VE服务器计算机280类似于图1中所示的VE服务器计算机120。VE服务器计算机280包含硬件和软件,用于生成表示沉浸式虚拟环境的数据流并将其传输到用户设备,包括用户设备214(1)。
网络290以与网络150(图1)类似的方式提供用户设备214(1)与VE服务器计算机280之间的网络连接。
在示例操作期间,用户设备214(1)经由VE数据流管理器240通过网络290从VE服务器计算机280接收表示沉浸式虚拟环境的数据流。例如,为了最小化所使用的带宽,VE服务器计算机280可以仅将新属性值(即,已经改变的值)传输到用户设备214(1)。然而,当用户212(1)刚加入虚拟环境时,VE服务器计算机280可以传输定义虚拟环境的各个方面的所有属性的值,包括虚拟环境中的每个属性的所有方面。
在VE数据流管理器240接收到后,VE属性管理器250搜索描述用户212(1)可能发现令人不愉快的化身的各方面的任何属性值。搜索到的属性可以通过化身标识符252和属性标识符254来标识。在上述示例中,这样的属性值可以是表示沉浸式虚拟环境中的另一个用户的化身所穿的外衣(例如,T恤)上的标语的文本串。其它属性值可以描述化身的其它方面,包括化身的高度、化身的面部特征或化身的整体外观。
然后,VE化身属性管理器250基于预定义参数来改变由化身标识符252和属性标识符254识别的属性值。在一个示例中,这样的预定义参数可以包括在存储在用户设备214(1)中的规则中。在一些实施方案中,这样的规则可以陈述:如果用户212(1)未满十六岁,则来自化身所穿的外衣上的标语的任何文本串不得包含黑名单上的任何词。如果文本串中包含任何这样的词,则通过改变数据流中标识的属性的值来改变标语或完全改变外衣。
一旦这些属性的值已经改变,VE数据流管理器240将属性值存储为VE数据242。然后,显示管理器234为VR显示器260提供呈现数据,并将此呈现数据经由VR接口228传输到VR控制器210(1)。
在一些布置中,用户212(1)还可以在化身已经在VR显示器260上呈现之后改变定义化身的各方面的属性值。这样的布置对应于用户212(1)正经历对VR显示器260上另一用户的化身的负面情绪反应。这里,用户212(1)可以经由控件(例如,识别化身和属性的控件272(1))提供输入。经由此控件272(1)提供的输入经由设备接口218被中继到控件管理器232(1)。然后,控件管理器232(1)处理此输入以用于VE化身属性管理器250。此时,VE化身属性管理器250可以对所识别的化身和属性的传入数据流执行查找操作。替选地,VE化身属性管理器250可以将化身标识符252和属性标识符254发送到VE服务器计算机280,使得VE服务器计算机280可以实现用户212(1)所期望的改变。
图3A示出了用户观看表示另一用户的化身的示例场景。这里,用户使用连接到用户设备302的VR控制器300(如图所示,HMD)来观看沉浸式虚拟环境。HMD 300包含VR显示器260。通过VR显示器,用户看到两个化身:一个化身310表示他/她/他们自己,另一个化身320表示另一个用户。另一个化身320被看到握持棒330。
在这种情况下,用户在看到用户正在与看起来像巨人的东西进行交互时可能经历负面的情绪反应。在这种情况下,用户则可以选择识别化身320和令人不安的化身320的方面(即,高度)的控件。
图3B示出了这种选择的结果。这里,元件与图3A中大体相同,除了化身320已经变成化身340之外。化身340与化身310的高度相同,并且可能不会干扰用户在虚拟环境中的正常活动。
在一些实施方案中,棒330保持并将继续保持在由巨人化身320握持的位置。因此,即使棒330看起来与化身340断开连接,这种断开也被认为相比棒330与沉浸式虚拟环境中的其它任何东西之间的交互的彻底改变破坏性更少。然而,在一些布置中,可以根据预定义的规则和/或模型来改变沉浸式虚拟环境内的对象和/或其位置。
此外,在一些布置中,可以根据一些预定义的规则和/或模型来改变对象。这种规则的一个示例可以采取对象上的点与化身上的点之间的距离的最大变化的陈述的形式。沿着这些线,假设巨人化身与第一用户的显示器中的对象接触,但是在第二用户的显示器中,巨人化身被缩小以显示为正常大小的化身。此规则可以使VR控制器显示缩小的化身,其仍然与对象保持联系。然而,第一用户对所述对象采取的动作将保持不变。根据此示例规则,已经改变的对象的外观。
作为另一示例,假设两个用户正在虚拟环境中玩游戏。在此游戏中,第一用户由巨人化身表示,而第二用户由正常大小的化身表示。如果第二用户不希望与巨人化身交互,则第二用户可以配置第二用户的VR控制器,以将第一用户的巨人化身的大小减小到与第一用户的化身相同的大小(例如,高度、体积)。然而,为了避免玩游戏中的冲突,在一些实施方案中,游戏规则保持不变。
作为上述场景的具体示例变体,如果第一用户的化身不适合门口,因此当第一用户的化身可能通过虚拟环境中的门口时,即使是第一用户的化身的缩小尺寸的版本也将不被允许通过门口。即使从第二用户的角度来看,第一用户的化身具有允许第一用户的化身通过门口的大小,情况也是如此。第一用户的视角将来自巨人化身的角度,因此第一用户将没有希望能够通过门口。在一些实施方案中,如果视角不改变游戏内用户的动作,则可以改变视角。
通常,假设第一用户和对象经由化身的交互导致对象在某个路径中移动。那么对化身在第二用户的显示器上的外观的任何改变将不会影响由第一用户和对象的交互引起的对象的路径。这是关于虚拟环境的物理特性的更一般的陈述,无论化身的外观是否可能在不同用户的显示器上。
图4A示出了用户观看表示另一用户的化身的另一示例场景。这里,用户使用连接到用户设备302的VR控制器300(如图所示,HMD)来观看沉浸式虚拟环境。HMD 300包含VR显示器260。通过VR显示器,用户看到表示另一个用户的化身420。化身420被示出为握持棒430。
在这种情况下,用户在看到用户正在与具有令人恐惧的面部特征(例如,骨架的面部特征)的化身320进行交互时可能经历负面的情绪响应。在这种情况下,那么用户可以选择识别化身320和令人不安的化身320的方面(即,面部特征)的控件。
图4B示出了这种选择的结果。这里,元件与图3A中大体相同,除了化身420已经变成化身440之外。化身440现在具有亲切的面部特征(例如,可爱的兔子的面部特征),并且可能不干扰用户在虚拟环境内的正常活动。
图5A示出了用户观看表示另一用户的化身的示例场景。这里,用户使用连接到用户设备302的VR控制器300(如图所示,HMD)来观看沉浸式虚拟环境。HMD 300包含VR显示器260。通过VR显示器,用户看到两个化身:一个化身510表示用户,另一个化身520表示另一个用户。显示另一个化身520握持棒530。
在这种情况下,用户在看到他/她/他们正在与看起来像巨人的东西进行交互时可能经历负面的情绪反应。在这种情况下,用户则可以选择识别化身320和要改变的化身320的方面(即,整体外观)的控件。
图5B示出了这种选择的结果。这里,元件与图5A中大体相同,除了化身520已经变成化身540之外。化身540现在看起来是小兔子,并且可能不会干扰用户在虚拟环境中的正常活动。同样,在此实施方案中,棒530保持并将继续保持在由巨人化身520握持的位置。
图6示出了描述改进技术的一个实施例所针对的方法600的流程图。方法600可以由结合图2描述的软件构造来执行,所述软件构造驻留在用户设备214(1)的存储器226中并由所述处理单元224的集合运行。
在602处,用户设备通过网络接收数据流,所述数据流定义虚拟环境,所述虚拟环境包括(i)表示虚拟环境内的第一用户的化身,以及(ii)第一用户经由虚拟环境内的化身与之交互的对象。
在604处,用户设备在显示器上将虚拟环境显示在第二用户可访问的用户界面内。如图2所示,用户界面和显示器包括在连接到用户设备的VR控制器中。
在606处,当在用户界面内显示虚拟环境时,用户设备接收对改变在显示器上的用户界面内显示的化身的方面的请求,化身的方面由数据流中的属性的第一值定义。可以通过基于规则的系统或直接从用户自动生成请求。
在608处,响应于接收到请求,用户设备对通过网络接收的数据流执行变换,所述变换(i)当接收到数据流时将化身的属性的值从第一值改变为第二值,并且(ii)当化身的方面由属性的第一值定义时,保持对象相对于化身在虚拟环境内的空间位置。
图7示出了描述改进技术的一个实施例所针对的方法700的流程图。方法700可以由结合图1描述的软件构造来执行,所述软件构造驻留在VE服务器计算机120的存储器126中并由所述处理单元124的集合运行。
在702处,VE服务器计算机创建虚拟环境,所述虚拟环境被显示在第一设备的第一显示器上的第一用户界面内和第二设备的第二显示器上的第二用户界面内。
在704处,响应于来自第一用户的经由第一设备的请求,VE服务器计算机生成(i)表示虚拟环境内的第一用户的化身和(ii)第一用户经由虚拟环境中的化身与之交互的对象。化身具有第一属性和第二属性,化身的第一属性描述在第一显示器上的第一用户界面内显示的化身的方面,化身的第二属性描述在第二显示器上的第二用户界面内显示的化身的方面,化身的第一属性和化身的第二属性各自具有等于第一值的值。如在第一显示器上的第一用户界面内显示的并且如在第二显示器上的第二用户界面内显示的,对象在虚拟环境内具有相对于化身的空间位置。
在706处,在生成化身之后,VE服务器计算机将化身的第二属性的值从第一值改变为第二值,以改变在第二显示器上的第二用户界面内显示的化身的方面,同时(i)化身的第一属性的值保持等于第一值,并且(ii)对象的空间位置相对于在第一显示器上的第一用户界面内显示的化身保持不变。
在一些实施方案中,VE服务器计算机120可以提供虚拟镜像,用户可以通过虚拟镜像来检查其化身。例如,在大多数虚拟环境中,用户不知道其化身如何出现在虚拟环境中,因为VE服务器计算机120从第一人称视角(即用户自己的视角)向用户呈现虚拟环境。
在一些实施方案中,虚拟镜像是虚拟环境内的对象,其在用户可访问的用户界面的显示器上向用户显示其化身的图像。虚拟镜像可以是虚拟环境中的永久对象,或替选地可以是按需显示的瞬态对象。
虚拟镜像可以在虚拟环境中呈现镜子的外观,因为它具有形状(例如,矩形、圆形、椭圆形),并且当用户的化身站在其前面时,它将显示如将根据镜子附近的光的几何光学模型显示的化身的前面。这种镜子可以出现在固定位置或用户在虚拟环境中(例如,在墙壁上)选择的位置。镜像解决了沉浸在虚拟环境中的用户通常仅具有虚拟环境的有限视野因而使得沉浸其中的用户通常不能查看其自身化身的问题。虚拟镜像克服了这种限制。
然而,在其它实施方案中,虚拟镜像可以采用按钮或一些其它控件的形式,所述控件当被启用时通过用户的化身的图像替换虚拟环境的图像。这具有以下优点:正面观看化身而不是取决于化身相对于镜子所处位置的某个投影角度。
在一些实施方案中,在镜子中(即,由于启用镜子而在显示器上)查看其化身后,用户可以向VE服务器计算机120发送对改变化身的方面的请求。例如,用户可能希望改变化身的面部的一个方面,例如微笑,使得它看起来更令用户满意。
图8示出了可以与本文描述的技术一起使用的通用计算机设备800和通用移动计算机设备850的示例。计算设备800包括处理器802、存储器804、存储设备806、连接到存储器804和高速扩展端口810的高速接口808,以及连接到低速总线814和存储设备806的低速接口812。组件802、804、806、808、810和812中的每一个使用各种总线互连,并且可以适当地安装在公共主板上或以其它方式安装。处理器802可以处理在计算设备600内执行的指令,包括存储在存储器804或存储设备806上的指令,以在外部输入/输出设备(例如耦合到高速接口808的显示器816)上显示GUI的图形信息。在一些实施方案中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。另外,可以连接多个计算设备800,每个设备提供必要操作的部分(例如,作为服务器库、刀片服务器集或多处理器系统)。
存储器804存储计算设备600内的信息。在一个实施方案中,存储器804是易失性存储器单元。在另一实施方案中,存储器804是非易失性存储器单元。存储器804还可以是另一种形式的计算机可读介质,例如磁盘或光盘。
存储设备806能够为计算设备600提供大容量存储。在一个实施方案中,存储设备806可以是或包含计算机可读介质,例如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其它类似的固态存储设备,或设备阵列,包括存储区域网络中的设备或其它配置。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,这些指令在被执行时执行一个或多个方法,例如上面描述的那些方法。信息载体是计算机或机器可读介质,例如存储器804、存储设备806或处理器802上的存储器。
高速控制器808管理计算设备800的带宽密集型操作,而低速控制器812管理较低带宽密集型操作。这种功能分配仅是示例性的。在一个实施方案中,高速控制器808耦合到存储器804、显示器816(例如,通过图形处理器或加速器),并耦合到高速扩展端口810,高速扩展端口810可以接受各种扩展卡(未示出)。在实施方案中,低速控制器812耦合到存储设备806和低速扩展端口814。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合到一个或多个输入/输出设备,例如键盘、指示设备、扫描仪,或诸如交换机或路由器的网络设备,例如,通过网络适配器。
计算设备800可以多种不同的形式实现,如图中所示。例如,它可以实现为标准服务器820,或者在这样的服务器组中实现多次。它还可以实现为机架服务器系统824的一部分。此外,它可以在例如膝上型计算机822的个人计算机中实现。替选地,来自计算设备800的组件可以与移动设备(未示出)(例如设备850)中的其它组件组合。这些设备中的每一个可以包含计算设备600、850中的一个或多个,并且整个系统可以由彼此通信的多个计算设备600、850组成。
计算设备850包括处理器852、存储器864、诸如显示器854的输入/输出设备、通信接口866和收发器868,以及其它组件。设备850还可以设置有存储设备,例如微驱动器或其它设备,以提供额外的存储。组件850、852、864、854、866和868中的每一个使用各种总线互连,并且若干组件可以适当地安装在公共主板上或以其它方式安装。
处理器852可以执行计算设备850内的指令,包括存储在存储器864中的指令。处理器可以实现为芯片的芯片集,其包括单独的和多个模拟和数字处理器。例如,处理器可以提供用于设备850的其它组件的协同,例如用户界面的控制、设备850运行的应用,以及设备850的无线通信。
处理器852可以通过控制接口858和耦合到显示器854的显示器接口856与用户通信。显示器854可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器,或其它适当的显示技术。显示器接口856可以包括用于驱动显示器854以向用户呈现图形和其它信息的适当电路。控制接口858可以从用户接收命令并将它们转换以提交给处理器852。此外,可以提供与处理器852通信的外部接口862,以便使设备850能够与其它设备进行近区域通信。外部接口862可以例如在一些实施方案中提供有线通信,或者在其它实施方案中提供无线通信,并且还可以使用多个接口。
存储器864存储计算设备850内的信息。存储器864可以实现为计算机可读介质、易失性存储器单元或非易失性存储器单元中的一个或多个。还可以提供扩展存储器874并通过扩展接口872连接到设备850,扩展接口872可以包括例如SIMM(单列直插存储器模块)卡接口。这样的扩展存储器874可以为设备850提供额外的存储空间,或者还可以存储设备850的应用程序或其它信息。具体地,扩展存储器874可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器874可以作为设备850的安全模块提供,并且可以用允许安全使用设备850的指令编程。此外,可以通过SIMM卡提供安全应用程序以及附加信息,例如以不可黑客的方式在SIMM卡上放置识别信息。
存储器可以包括例如闪存和/或NVRAM存储器,如下所述。在一个实施方案中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含在执行时执行一种或多种方法(例如上述方法)的指令。信息载体是计算机或机器可读介质,例如存储器864、扩展存储器874或处理器852上的存储器,其可以例如通过收发器868或外部接口862接收。
设备850可以通过通信接口866无线通信,通信接口866可以在必要时包括数字信号处理电路。通信接口866可以提供各种模式或协议下的通信,例如GSM语音呼叫、SMS、EMS或MMS消息传送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这种通信可以例如通过射频收发器868发生。此外,可以发生短程通信,例如使用蓝牙、Wi-Fi或其它这样的收发器(未示出)。另外,GPS(全球定位系统)接收器模块870可以向设备850提供附加的导航和位置相关的无线数据,其可以由在设备850上运行的应用程序适当地使用。
设备850还可以使用音频编解码器860可听地通信,音频编解码器860可以从用户接收语音信息并将其转换为可用的数字信息。音频编解码器860同样可以为用户产生可听声音,例如通过扬声器,例如在设备850的电话听筒中。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备850上操作的应用程序生成的声音。
计算设备850可以多种不同的形式实现,如图中所示。例如,它可以实现为蜂窝电话880。它还可以实现为智能手机882、个人数字助理或其它类似移动设备的一部分。
这里描述的系统和技术的各种实施方案可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方案可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方案,所述可编程系统包括至少一个可编程处理器,其可以是专用的或通用的,经过耦合从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备传输数据和指令。
这些计算机程序(也称为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”指的是用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括将机器指令作为机器可读信号接收的机器可读介质。术语“机器可读信号”指的是用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,本文描述的系统和技术可以在计算机上实现,所述计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)显示屏)以及用户可以通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
本文描述的系统和技术可以在计算系统中实现,所述计算系统包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过其与本文描述的系统和技术的实施方案交互),或者这种后端组件、中间件组件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系由于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
在一些实施方案中,图8中描绘的计算设备可以包括与虚拟现实(VR耳机890)接口连接的传感器。例如,包括在计算设备850或图8中描绘的其它计算设备上的一个或多个传感器可以向VR耳机890提供输入或者通常向VR空间提供输入。传感器可以包括但不限于触摸屏、加速计、陀螺仪、压力传感器、生物识别传感器、温度传感器、湿度传感器和环境光传感器。计算设备850可以使用传感器来确定VR空间中的计算设备的绝对位置和/或检测到的旋转,然后可以将其用作VR空间的输入。例如,计算设备850可以作为例如控制器、激光指示器、键盘、武器等虚拟对象结合到VR空间中。当结合到VR空间时,用户对计算设备/虚拟对象的定位可以允许用户定位计算设备以在VR空间中以某些方式查看虚拟对象。例如,如果虚拟对象表示激光指示器,则用户可以操纵计算设备,就好像它是实际的激光指示器一样。用户可以左右、上下、画圈等来移动计算设备,并以与使用激光指示器类似的方式使用设备。
在一些实施方案中,包括在计算设备850上或连接到计算设备850的一个或多个输入设备可以用作VR空间的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板、指示设备、鼠标、轨迹球、操纵杆、相机、麦克风、耳机或具有输入功能的芽、游戏控制器或其它可连接的输入设备。当计算设备850合并到VR空间中时与包括在所述计算设备上的输入设备交互的用户可以使特定动作在VR空间中发生。
在一些实施方案中,计算设备850的触摸屏可呈现为VR空间中的触摸板。用户可以与计算设备850的触摸屏交互。例如,在VR头戴式耳机890中,交互被呈现为VR空间中的呈现的触摸板上的移动。呈现的运动可以控制VR空间中的对象。
在一些实施方案中,计算设备850上包括的一个或多个输出设备可以向VR空间中的VR耳机890的用户提供输出和/或反馈。输出和反馈可以是视觉的、战术的或音频的。输出和/或反馈可以包括但不限于振动、打开和关闭或闪烁和/或闪现一个或多个灯或闪光灯、发出警报、播放铃声、播放歌曲以及播放音频文件。输出装置可以包括但不限于振动马达、振动线圈、压电装置、静电装置、发光二极管(LED)、闪光灯和扬声器。
在一些实施方案中,计算设备850可以表现为计算机生成的3D环境中的另一个对象。用户与计算设备850的交互(例如,旋转、摇动、触碰触摸屏;在触摸屏上滑动手指)可以被解释为与VR空间中的对象的交互。在VR空间中的激光指示器的示例中,计算设备850在计算机生成的3D环境中显示为虚拟激光指示器。当用户操纵计算设备850时,VR空间中的用户看到激光指示器的移动。用户从计算设备850上或VR耳机890上的VR空间中与计算设备850的交互接收反馈。
在一些实施方案中,除了计算设备之外的一个或多个输入设备(例如,鼠标、键盘)可以在计算机生成的3D环境中呈现。呈现的输入设备(例如,呈现的鼠标、呈现的键盘)可以在VR空间中呈现时用于控制VR空间中的对象。
计算设备800旨在表示各种形式的数字计算机,例如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。计算设备850旨在表示各种形式的移动设备,例如个人数字助理、蜂窝电话、智能手机和其它类似的计算设备。本文示出的组件、它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制本文档中描述和/或要求保护的本发明的实施方案。
图9示出了如图3-5所示的头戴式显示器的示例实施方案。在图9中,佩戴HMD 900的用户正握持便携式手持电子设备902。手持电子设备902可以是例如智能手机、控制器、操纵杆,或可以与HMD 900配对并与HMD 900通信以便在由HMD 900生成的沉浸式虚拟环境中进行交互的其它便携式手持电子设备。手持电子设备902可以通过例如有线连接或无线连接(例如WiFi或蓝牙连接)与HMD 900可操作地耦合或配对。手持电子设备902和HMD 900的这种配对或可操作的耦合可以提供手持电子设备902与HMD 900之间的通信以及手持电子设备902与HMD 900之间的数据交换。这可以允许手持电子设备902用作与HMD 900通信以用于在由HMD 900生成的沉浸式虚拟环境中进行交互的控制器。即,对手持电子设备902的操纵,例如由手持电子设备902发射并被引导到虚拟对象或特征用于选择的光束或光线,和/或在手持电子设备902的触摸表面上接收的输入,和/或手持电子设备902的移动,可以在由HMD 900生成的沉浸式虚拟环境中被转译为相应的选择或移动或其它类型的交互。例如,HMD 900与手持电子设备902一起可以生成如上所述的虚拟环境,并且可以操纵手持电子设备902以实现用户相对于虚拟环境中的虚拟特征的规模或视角的变化,如上所述。
图10A和10B是示例HMD(例如,图9中的用户佩戴的HMD 900)的透视图,并且图2C示出了示例性手持电子设备,例如图9中所示的手持电子设备902。
手持电子设备902可以包括其中接收设备902的内部组件的外壳903,以及用户可访问的外壳903外部的用户界面904。用户界面904可以包括被配置成接收用户触摸输入的触敏表面906。用户界面904还可以包括用于用户操纵的其它组件,例如,致动按钮、旋钮、操纵杆等。在一些实施方案中,用户界面904的至少一部分可以被配置成触摸屏,用户界面904的所述部分被配置成向用户显示用户界面项,并且还用于接收来自用户的触摸输入。手持电子设备902还可以包括光源908,例如响应于在用户界面904接收到的用户输入,光源908被配置成通过外壳903中的端口选择性地发射光,例如光束或光线。
HMD 900可以包括耦合到框架920的外壳910,其中音频输出设备930(包括例如安装在耳机中的扬声器)也耦合到框架920。在图2B中,外壳910的前部910a远离外壳910的基部910b旋转,使得容纳在外壳910中的一些部件是可见的。显示器940可以安装在外壳910的前部910a的面向内侧上。当前部910a相对外壳910的基座部分910b处于关闭位置时,镜头950可以安装在外壳910中,在用户的眼睛与显示器940之间。在一些实施方案中,HMD 900可以具有包括各种传感器的感测系统9160和包括处理器990和各种控制系统设备的控制系统970,以促进HMD 900的操作。
在一些实施方案中,HMD 900可以包括用于捕获静止和运动图像的相机980。由相机980捕获的图像可以用于帮助跟踪用户和/或手持电子设备902在现实世界中的物理位置,或者相对于虚拟环境的物理环境,和/或可以在通过模式下在显示器940上向用户显示,允许用户临时离开虚拟环境并返回到物理环境而无需移除HMD 900或以其它方式改变HMD900的配置以将外壳910移出用户视线。
在一些实施方案中,HMD 900可以包括凝视跟踪设备965以检测和跟踪用户眼睛的凝视。凝视跟踪设备965可以包括例如一个图像传感器965A或多个图像传感器965A,以捕获用户眼睛的图像,例如用户眼睛的特定部分(例如瞳孔)的图像,以检测并跟踪用户凝视的方向和移动。在一些实施方案中,HMD 900可以被配置成使得检测到的凝视被处理为用户输入以被转译为沉浸式虚拟体验中的对应交互。
在以下示例中描述了进一步的实施方案:
示例1:一种计算机实现的方法,所述方法包括:通过网络接收数据流,所述数据流定义虚拟环境,所述虚拟环境包括(i)表示所述虚拟环境内的第一用户的化身,以及(ii)所述第一用户经由所述虚拟环境内的所述化身与之交互的对象;在显示器上将所述虚拟环境显示在第二用户可访问的用户界面内;当在所述用户界面内显示所述虚拟环境时,接收对改变在所述显示器上的所述用户界面内显示的所述化身的方面的请求,所述化身的所述方面由所述数据流中的属性的第一值定义;以及响应于接收到所述请求,对通过所述网络接收的所述数据流执行变换,所述变换(i)当接收到所述数据流时,将所述化身的所述属性的值从所述第一值改变为第二值,并且(ii)当所述化身的所述方面由所述属性的所述第一值定义时,保持所述对象相对于所述化身在所述虚拟环境内的空间位置。
示例2:根据示例1所述的计算机实现的方法,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的高度;并且其中对通过所述网络接收的所述数据流执行所述变换包括:将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值。
示例3:根据示例2所述的计算机实现的方法,其中所述化身是第一化身;其中所述虚拟环境还包括表示所述虚拟环境内的第二用户的第二化身;并且其中将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值包括:将所述第一化身的高度减小到不大于所述第二化身的高度的高度。
示例4:根据示例1到3中任一项所述的计算机实现的方法,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的面部特征;并且其中对通过所述网络接收的所述数据流执行所述变换包括:改变在第二显示器上的第二用户界面内显示的化身的面部特征。
示例5:根据示例1到4中任一项所述的计算机实现的方法,其中在所述第二显示器上的所述第二用户界面内显示的所述化身的方面包括所述虚拟环境内的所述化身所穿的外衣;并且其中将所述化身的第二属性的值从第一值改变为第二值包括:改变在所述第二显示器上的所述第二用户界面内显示的所述化身所穿的所述外衣。
示例6:根据示例1到5中任一项所述的计算机实现的方法,还包括:接收来自所述第一用户的对在所述虚拟环境内生成虚拟镜像的第一请求,所述虚拟镜像被配置成在显示器上将所述化身的图像显示在所述第一用户可访问的用户界面内;响应于接收到所述请求,调整通过所述网络接收的所述数据流以产生所述虚拟镜像;并且其中接收对改变在所述显示器上的所述用户界面内显示的所述化身的所述方面的请求包括:在调整通过所述网络接收的所述数据流以产生所述虚拟镜像之后,接收来自所述第一用户的对改变所述化身的所述方面的第二请求。
示例7:一种计算机实现的方法,所述方法包括:创建虚拟环境,所述虚拟环境被显示在第一设备的第一显示器上的第一用户界面内和第二设备的第二显示器上的第二用户界面内;响应于来自第一用户的经由所述第一设备的请求,生成(i)表示所述虚拟环境内的第一用户的化身,以及(ii)所述第一用户经由所述虚拟环境内的所述化身与之交互的对象,所述化身具有第一属性和第二属性,所述化身的所述第一属性描述在所述第一显示器上的所述第一用户界面内显示的所述化身的方面,所述化身的所述第二属性描述在所述第二显示器上的所述第二用户界面内显示的所述化身的方面,所述化身的所述第一属性和所述化身的所述第二属性各自具有等于第一值的值,如在所述第一显示器上的所述第一用户界面内显示的并且如在所述第二显示器上的所述第二用户界面内显示的,所述对象在所述虚拟环境内具有相对于所述化身的空间位置;以及在生成所述化身之后,将所述化身的所述第二属性的所述值从所述第一值改变为第二值,以改变在所述第二显示器上的所述第二用户界面内显示的所述化身的所述方面,同时(i)所述化身的所述第一属性的所述值保持等于所述第一值,并且(ii)所述对象的所述空间位置相对于在所述第一显示器上的所述第一用户界面内显示的所述化身保持不变。
示例8:一种计算机程序产品,包括非临时性存储介质,所述计算机程序产品包括代码,所述代码在由计算机的处理电路执行时使所述处理电路执行方法,所述方法包括:通过网络接收数据流,所述数据流定义虚拟环境,所述虚拟环境包括(i)表示所述虚拟环境内的第一用户的化身,以及(ii)所述第一用户经由所述虚拟环境内的所述化身与之交互的对象;在显示器上将所述虚拟环境显示在第二用户可访问的用户界面内;当在所述用户界面内显示所述虚拟环境时,接收对改变在所述显示器上的所述用户界面内显示的所述化身的方面的请求,所述化身的所述方面由所述数据流中的属性的第一值定义;以及响应于接收到所述请求,对通过所述网络接收的所述数据流执行变换,所述变换(i)当接收到所述数据流时,将所述化身的所述属性的值从所述第一值改变为第二值,并且(ii)当所述化身的所述方面由所述属性的所述第一值定义时,保持所述对象相对于所述化身在所述虚拟环境内的空间位置。
示例9:根据示例8所述的计算机程序产品,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的高度;并且其中对通过所述网络接收的所述数据流执行所述变换包括:将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值。
示例10:根据示例9所述的计算机程序产品,其中所述化身是第一化身;其中所述虚拟环境还包括表示所述虚拟环境内的第二用户的第二化身;并且其中将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值包括:将所述第一化身的高度减小到不大于所述第二化身的高度的高度。
示例11:根据示例8到10中任一项所述的计算机程序产品,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的面部特征;并且其中对通过所述网络接收的所述数据流执行所述变换包括:改变在第二显示器上的第二用户界面内显示的化身的面部特征。
示例12:根据示例8到11中任一项所述的计算机程序产品,其中在所述第二显示器上的所述第二用户界面内显示的所述化身的方面包括所述虚拟环境内的所述化身所穿的外衣;并且其中将所述化身的第二属性的值从第一值改变为第二值包括:改变在所述第二显示器上的所述第二用户界面内显示的所述化身所穿的所述外衣。
示例13:根据示例8到12中任一项所述的计算机程序产品,其中在所述方法还包括:接收来自所述第一用户的对在所述虚拟环境内生成虚拟镜像的第一请求,所述虚拟镜像被配置成在显示器上将所述化身的图像显示在所述第一用户可访问的用户界面内;响应于接收到所述请求,调整通过所述网络接收的所述数据流以产生所述虚拟镜像;并且其中接收改变在所述显示器上的所述用户界面内显示的所述化身的所述方面的请求包括:在调整通过所述网络接收的所述数据流以产生所述虚拟镜像之后,接收来自所述第一用户的对改变所述化身的所述方面的第二请求。
示例14:一种电子装置,包括:网络接口;存储器;以及耦合到所述存储器的控制电路,所述控制电路被配置成:通过网络接收数据流,所述数据流描述虚拟环境,所述虚拟环境包括(i)表示所述虚拟环境内的第一用户的化身,以及(ii)所述第一用户通过所述虚拟环境内的所述化身与之交互的对象;在显示器上将所述虚拟环境显示在第二用户可访问的用户界面内;当在所述用户界面内显示所述虚拟环境时,接收对改变在所述显示器上的所述用户界面内显示的所述化身的方面的请求,所述化身的所述方面由所述数据流中的属性的第一值描述;以及响应于接收到所述请求,对通过所述网络接收的所述数据流执行变换,所述变换(i)当接收到所述数据流时,将所述化身的所述属性的值从所述第一值改变为第二值,并且(ii)当所述化身的所述方面由所述属性的所述第一值描述时,保持所述对象相对于所述化身在所述虚拟环境内的空间位置。
示例15:根据示例14所述的电子装置,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的高度;并且其中被配置成对通过所述网络接收的所述数据流执行所述变换的所述控制电路还被配置成:将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值。
示例16:根据示例15所述的电子装置,其中所述化身是第一化身;其中所述虚拟环境还包括表示所述虚拟环境内的第二用户的第二化身;并且其中被配置成将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值的所述控制电路还被配置成:将所述第一化身的高度减小到不大于所述第二化身的高度的高度。
示例17:根据示例14到16中任一项所述的电子装置,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的面部特征;并且其中被配置成对通过所述网络接收的所述数据流执行所述变换的所述控制电路还被配置成:改变在第二显示器上的第二用户界面内显示的化身的面部特征。
示例18:根据示例14到17中任一项所述的电子装置,其中在所述第二显示器上的所述第二用户界面内显示的所述化身的方面包括所述虚拟环境内的所述化身所穿的外衣;并且其中被配置成将所述化身的第二属性的值从第一值改变为第二值的所述控制电路还被配置成:改变在所述第二显示器上的所述第二用户界面内显示的所述化身所穿的所述外衣。
示例19:根据示例14到18中任一项所述的电子装置,其中所述控制电路还被配置成:接收来自所述第一用户的对在所述虚拟环境内生成虚拟镜像的第一请求,所述虚拟镜像被配置成在显示器上将所述化身的图像显示在所述第一用户可访问的用户界面内;响应于接收到所述请求,调整通过所述网络接收的所述数据流以产生所述虚拟镜像;并且其中被配置成接收对改变在所述显示器上的所述用户界面内显示的所述化身的所述方面的请求的所述控制电路还被配置成:在调整通过所述网络接收的所述数据流以产生所述虚拟镜像之后,接收来自所述第一用户的对改变所述化身的所述方面的第二请求。
已经描述了许多实施例。然而,应理解,在不脱离本说明书的精神和范围的情况下,可以进行各种修改。
另外,图中描绘的逻辑流程不需要所示的特定次序或顺序次序来实现期望的结果。另外,可以提供其它步骤,或可以从所描述的流程中删除一些步骤,并且可以将其它组件添加到所描述的系统或从所述系统中移除。因此,在所附权利要求书的范围内还有其它实施例。
Claims (20)
1.一种计算机实现的方法,所述方法包括:
通过网络接收数据流,所述数据流定义虚拟环境,所述虚拟环境包括(i)表示所述虚拟环境内的第一用户的化身、以及(ii)所述第一用户经由所述虚拟环境内的所述化身与之交互的对象;
在显示器上将所述虚拟环境显示在第二用户可访问的用户界面内;
当在所述用户界面内显示所述虚拟环境时,接收对改变在所述显示器上的所述用户界面内显示的所述化身的方面的请求,所述化身的所述方面由所述数据流中的属性的第一值定义;以及
响应于接收到所述请求,对通过所述网络接收的所述数据流执行变换,所述变换(i)当接收到所述数据流时将所述化身的所述属性的所述值从所述第一值改变为第二值、并且(ii)当所述化身的所述方面由所述属性的所述第一值定义时保持所述对象相对于所述化身在所述虚拟环境内的空间位置。
2.根据权利要求1所述的计算机实现的方法,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的高度;并且
其中对通过所述网络接收的所述数据流执行所述变换包括:将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值。
3.根据权利要求2所述的计算机实现的方法,其中所述化身是第一化身;
其中所述虚拟环境还包括表示所述虚拟环境内的所述第二用户的第二化身;并且
其中将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值包括:将所述第一化身的所述高度减小到不大于所述第二化身的高度的高度。
4.根据权利要求1所述的计算机实现的方法,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的面部特征;并且
其中对通过所述网络接收的所述数据流执行所述变换包括:改变在第二显示器上的第二用户界面内显示的所述化身的所述面部特征。
5.根据权利要求1所述的计算机实现的方法,其中在第二显示器上的所述第二用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身所穿的外衣;并且
其中将所述化身的第二属性的值从所述第一值改变为所述第二值包括:改变在所述第二显示器上的所述第二用户界面内显示的所述化身所穿的所述外衣。
6.根据权利要求1所述的计算机实现的方法,还包括:
接收来自所述第一用户的对在所述虚拟环境内生成虚拟镜像的第一请求,所述虚拟镜像被配置成在显示器上将所述化身的图像显示在所述第一用户可访问的用户界面内;
响应于接收到所述请求,调整通过所述网络接收的所述数据流以产生所述虚拟镜像;并且
其中接收对改变在所述显示器上的所述用户界面内显示的所述化身的所述方面的所述请求包括:在调整通过所述网络接收的所述数据流以产生所述虚拟镜像之后,接收来自所述第一用户的对改变所述化身的所述方面的第二请求。
7.根据权利要求1所述的计算机实现的方法,其中使得所述第一用户经由所述虚拟环境内的所述化身与之交互的所述对象在通过所述第一用户与所述对象的所述交互确定的路径中移动,并且
其中,当所述化身的所述方面由所述属性的所述第一值定义时保持所述对象相对于所述化身在所述虚拟环境内的所述空间位置包括:响应于当接收到所述数据流时所述化身的所述属性的所述值从所述第一值改变为所述第二值,保留通过所述第一用户与如所述第二用户在所述显示器上观察到的所述对象的所述交互确定的所述路径。
8.一种计算机实现的方法,所述方法包括:
创建虚拟环境,所述虚拟环境被显示在第一设备的第一显示器上的第一用户界面内和第二设备的第二显示器上的第二用户界面内;
响应于来自第一用户的经由所述第一设备的请求,生成(i)表示所述虚拟环境内的所述第一用户的化身、以及(ii)所述第一用户经由所述虚拟环境内的所述化身与之交互的对象,
所述化身具有第一属性和第二属性,所述化身的所述第一属性描述在所述第一显示器上的所述第一用户界面内显示的所述化身的方面,所述化身的所述第二属性描述在所述第二显示器上的所述第二用户界面内显示的所述化身的所述方面,所述化身的所述第一属性和所述化身的所述第二属性各自具有等于第一值的值,
如在所述第一显示器上的所述第一用户界面内显示的并且如在所述第二显示器上的所述第二用户界面内显示的,所述对象在所述虚拟环境内具有相对于所述化身的空间位置;以及
在生成所述化身之后,将所述化身的所述第二属性的所述值从所述第一值改变为第二值,以改变在所述第二显示器上的所述第二用户界面内显示的所述化身的所述方面,同时(i)所述化身的所述第一属性的所述值保持等于所述第一值,并且(ii)所述对象的所述空间位置相对于在所述第一显示器上的所述第一用户界面内显示的所述化身保持不变。
9.一种计算机程序产品,包括非临时性存储介质,所述计算机程序产品包括代码,所述代码在由计算机的处理电路执行时使所述处理电路执行方法,所述方法包括:
通过网络接收数据流,所述数据流定义虚拟环境,所述虚拟环境包括(i)表示所述虚拟环境内的第一用户的化身,以及(ii)所述第一用户经由所述虚拟环境内的所述化身与之交互的对象;
在显示器上将所述虚拟环境显示在第二用户可访问的用户界面内;
当在所述用户界面内显示所述虚拟环境时,接收对改变在所述显示器上的所述用户界面内显示的所述化身的方面的请求,所述化身的所述方面由所述数据流中的属性的第一值定义;以及
响应于接收到所述请求,对通过所述网络接收的所述数据流执行变换,所述变换(i)当接收到所述数据流时,将所述化身的所述属性的所述值从所述第一值改变为第二值,并且(ii)当所述化身的所述方面由所述属性的所述第一值定义时,保持所述对象相对于所述化身在所述虚拟环境内的空间位置。
10.根据权利要求9所述的计算机程序产品,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的高度;并且
其中对通过所述网络接收的所述数据流执行所述变换包括:将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值。
11.根据权利要求10所述的计算机程序产品,其中所述化身是第一化身;
其中所述虚拟环境还包括表示所述虚拟环境内的所述第二用户的第二化身;并且
其中将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值包括:将所述第一化身的所述高度减小到不大于所述第二化身的高度的高度。
12.根据权利要求9所述的计算机程序产品,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的面部特征;并且
其中对通过所述网络接收的所述数据流执行所述变换包括:改变在所述第二显示器上的所述第二用户界面内显示的所述化身的所述面部特征。
13.根据权利要求9所述的计算机程序产品,其中在所述第二显示器上的所述第二用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身所穿的外衣;并且
其中将所述化身的所述第二属性的所述值从所述第一值改变为所述第二值包括:改变在所述第二显示器上的所述第二用户界面内显示的所述化身所穿的所述外衣。
14.根据权利要求9所述的计算机程序产品,其中在所述方法还包括:
接收来自所述第一用户的对在所述虚拟环境内生成虚拟镜像的第一请求,所述虚拟镜像被配置成在显示器上将所述化身的图像显示在所述第一用户可访问的用户界面内;
响应于接收到所述请求,调整通过所述网络接收的所述数据流以产生所述虚拟镜像;并且
其中接收改变在所述显示器上的所述用户界面内显示的所述化身的所述方面的所述请求包括:在调整通过所述网络接收的所述数据流以产生所述虚拟镜像之后,接收来自所述第一用户的对改变所述化身的所述方面的第二请求。
15.一种电子装置,包括:
网络接口;
存储器;以及
耦合到所述存储器的控制电路,所述控制电路被配置成:
通过网络接收数据流,所述数据流描述虚拟环境,所述虚拟环境包括(i)表示所述虚拟环境内的第一用户的化身、以及(ii)所述第一用户通过所述虚拟环境内的所述化身与之交互的对象;
在显示器上将所述虚拟环境显示在第二用户可访问的用户界面内;
当在所述用户界面内显示所述虚拟环境时,接收对改变在所述显示器上的所述用户界面内显示的所述化身的方面的请求,所述化身的所述方面由所述数据流中的属性的第一值描述;以及
响应于接收到所述请求,对通过所述网络接收的所述数据流执行变换,所述变换(i)当接收到所述数据流时将所述化身的所述属性的值从所述第一值改变为第二值、并且(ii)当所述化身的所述方面由所述属性的所述第一值描述时保持所述对象相对于所述化身在所述虚拟环境内的空间位置。
16.根据权利要求15所述的电子装置,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的高度;并且
其中被配置成对通过所述网络接收的所述数据流执行所述变换的所述控制电路还被配置成:将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值。
17.根据权利要求16所述的电子装置,其中所述化身是第一化身;
其中所述虚拟环境还包括表示所述虚拟环境内的所述第二用户的第二化身;并且
其中被配置成将在所述显示器上的所述用户界面内显示的所述化身的所述高度从第一值改变为第二值的所述控制电路还被配置成:将所述第一化身的所述高度减小到不大于所述第二化身的高度的高度。
18.根据权利要求15所述的电子装置,其中在所述显示器上的所述用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身的面部特征;并且
其中被配置成对通过所述网络接收的所述数据流执行所述变换的所述控制电路还被配置成:改变在所述第二显示器上的所述第二用户界面内显示的所述化身的所述面部特征。
19.根据权利要求15所述的电子装置,其中在所述第二显示器上的所述第二用户界面内显示的所述化身的所述方面包括所述虚拟环境内的所述化身所穿的外衣;并且
其中被配置成将所述化身的所述第二属性的所述值从所述第一值改变为所述第二值的所述控制电路还被配置成:改变在所述第二显示器上的所述第二用户界面内显示的所述化身所穿的所述外衣。
20.根据权利要求15所述的电子装置,其中所述控制电路还被配置成:
接收来自所述第一用户的对在所述虚拟环境内生成虚拟镜像的第一请求,所述虚拟镜像被配置成在显示器上将所述化身的图像显示在所述第一用户可访问的用户界面内;
响应于接收到所述请求,调整通过所述网络接收的所述数据流以产生所述虚拟镜像;并且
其中被配置成接收对改变在所述显示器上的所述用户界面内显示的所述化身的所述方面的所述请求的所述控制电路还被配置成:在调整通过所述网络接收的所述数据流以产生所述虚拟镜像之后,接收来自所述第一用户的对改变所述化身的所述方面的第二请求。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662331939P | 2016-05-04 | 2016-05-04 | |
US62/331,939 | 2016-05-04 | ||
US201662430180P | 2016-12-05 | 2016-12-05 | |
US62/430,180 | 2016-12-05 | ||
PCT/US2017/031015 WO2017192823A1 (en) | 2016-05-04 | 2017-05-04 | Avatars in virtual environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108697935A true CN108697935A (zh) | 2018-10-23 |
CN108697935B CN108697935B (zh) | 2022-09-09 |
Family
ID=59034840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780013044.XA Active CN108697935B (zh) | 2016-05-04 | 2017-05-04 | 虚拟环境中的化身 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10636222B2 (zh) |
EP (1) | EP3452189A1 (zh) |
CN (1) | CN108697935B (zh) |
WO (1) | WO2017192823A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113781656A (zh) * | 2020-06-10 | 2021-12-10 | 宏达国际电子股份有限公司 | 混合渲染系统和混合渲染方法 |
CN118279534A (zh) * | 2024-05-28 | 2024-07-02 | 南昌虚拟现实研究院股份有限公司 | 用户界面的生成方法及通过用户界面控制化身运动的方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255658B2 (en) * | 2016-08-09 | 2019-04-09 | Colopl, Inc. | Information processing method and program for executing the information processing method on computer |
US20180096505A1 (en) * | 2016-10-04 | 2018-04-05 | Facebook, Inc. | Controls and Interfaces for User Interactions in Virtual Spaces |
CN106383587B (zh) * | 2016-10-26 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 一种增强现实场景生成方法、装置及设备 |
JP6470356B2 (ja) * | 2017-07-21 | 2019-02-13 | 株式会社コロプラ | 仮想空間を提供するコンピュータで実行されるプログラム、方法、および当該プログラムを実行する情報処理装置 |
CN111656406A (zh) * | 2017-12-14 | 2020-09-11 | 奇跃公司 | 基于上下文的虚拟化身渲染 |
US11036987B1 (en) | 2019-06-27 | 2021-06-15 | Facebook Technologies, Llc | Presenting artificial reality content using a mirror |
US11055920B1 (en) * | 2019-06-27 | 2021-07-06 | Facebook Technologies, Llc | Performing operations using a mirror in an artificial reality environment |
US11145126B1 (en) | 2019-06-27 | 2021-10-12 | Facebook Technologies, Llc | Movement instruction using a mirror in an artificial reality environment |
US11119568B2 (en) * | 2019-09-24 | 2021-09-14 | Facebook Technologies, Llc | Suspend mode feature for artificial reality systems |
US20220375167A1 (en) * | 2021-05-21 | 2022-11-24 | Inhance Digital Corporation | Method and system for virtual and semi-virtual events and exhibits |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108774B2 (en) * | 2008-09-26 | 2012-01-31 | International Business Machines Corporation | Avatar appearance transformation in a virtual universe |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2046224A2 (en) | 2006-04-12 | 2009-04-15 | NAVAB, Nassir | Virtual penetrating mirror device for visualizing of virtual objects within an augmented reality environment |
US20090141023A1 (en) * | 2007-11-29 | 2009-06-04 | Brian Mark Shuster | Selective filtering of user input data in a multi-user virtual environment |
US8151191B2 (en) | 2007-12-07 | 2012-04-03 | International Business Machines Corporation | Managing objectionable material in 3D immersive virtual worlds |
US8788957B2 (en) | 2008-08-22 | 2014-07-22 | Microsoft Corporation | Social virtual avatar modification |
US8388442B2 (en) | 2008-09-04 | 2013-03-05 | International Business Machines Corporation | Prevention of a user mimicking another user in a virtual world |
US8223156B2 (en) | 2008-09-26 | 2012-07-17 | International Business Machines Corporation | Time dependent virtual universe avatar rendering |
US8648865B2 (en) * | 2008-09-26 | 2014-02-11 | International Business Machines Corporation | Variable rendering of virtual universe avatars |
US9633465B2 (en) | 2009-02-28 | 2017-04-25 | International Business Machines Corporation | Altering avatar appearances based on avatar population in a virtual universe |
US10332176B2 (en) * | 2014-08-28 | 2019-06-25 | Ebay Inc. | Methods and systems for virtual fitting rooms or hybrid stores |
US9524482B2 (en) | 2014-07-18 | 2016-12-20 | Oracle International Corporation | Retail space planning system |
-
2017
- 2017-05-04 WO PCT/US2017/031015 patent/WO2017192823A1/en unknown
- 2017-05-04 US US15/586,628 patent/US10636222B2/en active Active
- 2017-05-04 EP EP17729219.0A patent/EP3452189A1/en not_active Withdrawn
- 2017-05-04 CN CN201780013044.XA patent/CN108697935B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108774B2 (en) * | 2008-09-26 | 2012-01-31 | International Business Machines Corporation | Avatar appearance transformation in a virtual universe |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113781656A (zh) * | 2020-06-10 | 2021-12-10 | 宏达国际电子股份有限公司 | 混合渲染系统和混合渲染方法 |
CN118279534A (zh) * | 2024-05-28 | 2024-07-02 | 南昌虚拟现实研究院股份有限公司 | 用户界面的生成方法及通过用户界面控制化身运动的方法 |
CN118279534B (zh) * | 2024-05-28 | 2024-08-23 | 南昌虚拟现实研究院股份有限公司 | 用户界面的生成方法及通过用户界面控制化身运动的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108697935B (zh) | 2022-09-09 |
WO2017192823A1 (en) | 2017-11-09 |
EP3452189A1 (en) | 2019-03-13 |
US20170323489A1 (en) | 2017-11-09 |
US10636222B2 (en) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108697935A (zh) | 虚拟环境中的化身 | |
JP7002684B2 (ja) | 拡張現実および仮想現実のためのシステムおよび方法 | |
JP2022050513A (ja) | 拡張現実および仮想現実のためのシステムおよび方法 | |
CN109923509B (zh) | 虚拟现实中的对象的协同操纵 | |
CN109716395B (zh) | 在虚拟现实中保持对象稳定性 | |
US10311621B2 (en) | Held object stabilization in virtual reality | |
US20240233274A9 (en) | Electronic device and method for displaying modification of virtual object and method thereof |
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 |