组合的虚拟和物理环境中的重定向移动的制作方法

文档序号:18031072发布日期:2019-06-28 22:40阅读:195来源:国知局
组合的虚拟和物理环境中的重定向移动的制作方法

虚拟现实技术正变得更加成熟并且可供公众使用。目前,许多虚拟现实系统需要用户坐在椅子上、穿戴笨重的头戴式设备、并面向特定方向,同时有限的光学传感器跟踪头戴式设备的部分的某些移动。当用户将他的头从一侧移动至另一侧时,提供给用户的图像可改变。光学传感器向头戴式设备提供视线信号,并且可在检测到头戴式设备向左或向右移位时向远程服务器提供输入以更新图形界面。

基于光学跟踪的虚拟现实系统具有显著的限制。首先,基于光学传感器的虚拟现实跟踪系统需要光学传感器与用户之间的视线。另外,虚拟现实环境受限于由物理场地或空间限定的空间。所需要的是改进的虚拟现实系统。

发明概述

经粗略描述的本技术提供组合的物理和虚拟环境,其中物理环境中的用户位置被显示在虚拟环境内的偏移位置中。偏移是基于以下来确定的:物理环境与虚拟环境之间的映射、以及当用户在物理环境中到处移动时针对用户位置和方向生成的偏移。物理环境和对应的虚拟环境可具有不同的布局。偏移被用于将物理环境与虚拟环境的部分关联在一起,使得用户意识不到环境之间的差异。通过以这种方式提供偏移,封闭的物理环境可被用于提供延伸的和无限的虚拟环境以供用户导航和探索。

在一些实现中,当用户移动通过弯曲的或者其他非线性的物理环境时,偏移可被用于使得看起来像是用户在对应的虚拟环境中在直线方向上行进。实际上,如果物理环境包括闭环曲线(例如,圆形走廊),则用户可沿直路径或“无限走廊”被无限地引导。

在实施例中,方法可提供组合的虚拟和物理环境。本地机器可跟踪物理环境中的用户位置。本地机器还可基于物理环境中的用户的跟踪位置以及偏移数据来在虚拟环境中确定用户的位置。

在实施例中,用于传送位置跟踪系统内的多个宽带跟踪信号的系统可包括处理器、存储器、以及存储在存储器中的一个或多个模块。一个或多个模块能由所述处理器执行以:跟踪物理环境中的用户位置,并基于物理环境中的用户的跟踪位置以及偏移数据来在虚拟环境中显示用户的位置。

附图说明

图1是用于将物理环境的第一布局中的移动与虚拟环境中的偏移显示移动进行关联的虚拟现实系统的框图。

图2a是与组合的物理和虚拟环境一起使用的示例性物理环境的俯视图。

图2b是示例性物理环境的俯视图,其中偏移虚拟环境显示器的呈现被提供给用户。

图3a例示出示例性物理环境内的示例性导航路径。

图3b例示出与示例性物理环境内的示例性导航路径相对应的虚拟环境内的示例性导航路径。

图4例示出用于提供组合的物理和虚拟环境的方法。

图5例示出用于将物理空间映射至虚拟环境的方法。

图6例示出用于确定虚拟环境内的针对用户的偏移的方法。

图7例示出用于计算虚拟环境内的针对用户的位置偏移的模型。

图8例示出用于计算虚拟环境内的针对用户的位置偏移的另一模型。

图9例示出用于生成次要对象以表示虚拟环境中的用户的方法。

图10例示出用于配置通过虚拟环境的部分的用户的速度的方法。

图11是用于与本技术一起使用的计算设备的框图。

具体实施方式

经粗略描述的本技术提供组合的物理和虚拟环境,其中以虚拟环境内的偏移位置来显示物理环境中的用户位置。偏移是基于以下来确定的:物理环境与虚拟环境之间的映射、以及当用户在整个物理环境中移动时针对用户位置和方向生成的偏移。物理环境和对应的虚拟环境可具有不同的布局。偏移被用于将物理环境与虚拟环境的部分关联在一起,使得用户意识不到环境之间的差异。通过以这种方式提供偏移,封闭的物理环境可被用于提供延伸的和无限的虚拟环境以供用户导航和探索。

在一些实现中,当用户移动通过弯曲的或者其他非线性的物理环境时,偏移可被用于使得看起来像是用户在对应的虚拟环境中在直线方向上行进。实际上,如果物理环境包括闭环曲线(例如,圆形走廊),则用户可沿直路径或“无限走廊”被无限地引导。

图1是用于将物理环境的第一布局中的移动与虚拟环境中的偏移显示移动进行关联的虚拟现实系统的框图。图1的系统包括传送器102、104、106和108,接收器112、113、114、115、116和117,玩家计算机120和122,换能器(transducer)132和136,电机133和137,虚拟显示器134和138,附件135和139,玩家140和142,游戏计算机150,环境设备162和164,联网计算机170,以及网络180。

接收器112-117可被放置在玩家140或附件135上。每个接收器可从传送器102-108中的一个或多个接收一个或多个信号。从每个传送器接收的信号可包括用于标识特定传送器的标识符。在一些实例中,每个传送器可在相同的时间点周期性地传送全向信号。每个接收器可从多个传送器接收信号,并且每个接收器随后可向玩家计算机120提供针对每个所接收信号的信号标识信息和时间戳信息。通过确定每个传送器信号是何时从接收器接收到的,玩家计算机120可标识每个接收器的定位。

玩家计算机120可被定位在玩家上,诸如例如在由玩家穿戴的背心的背部上。玩家计算机可从多个接收器接收信息、确定每个接收器的定位、并且随后相应地在本地更新虚拟环境。对虚拟环境的更新可包括:玩家在环境中的视点、环境中发生的事件、以及用于向玩家提供的呈现玩家在环境中的视点连同环境中发生的事件的视频和音频输出。

玩家计算机120还可向其他玩家计算机(诸如,玩家计算机122至游戏计算机150)传达在该计算机本地确定的对虚拟环境的改变。具体而言,针对第一玩家的玩家计算机可基于玩家身体上的接收器来检测玩家位置上的改变、确定对针对此玩家的虚拟环境的改变、将那些改变提供至游戏计算机150,而游戏计算机150将把那些更新提供至针对同一虚拟现实会话中的其他玩家(诸如,与玩家计算机122相关联的玩家)的任何其他玩家计算机。

玩家140在其身体上可具有多个接收器。接收器从传送器102-108接收信息,并将此信息提供至玩家计算机。在一些实例中,每个接收器可向玩家计算机无线地提供数据,诸如例如通过射频信号,诸如蓝牙信号。在一些实例中,每个接收器可被配对或以其他方式配置成仅与特定玩家计算机通信数据。在一些实例中,特定玩家计算机可被配置成仅从特定接收器集合接收数据。基于物理环境事件(诸如,玩家步行、由玩家计算机提供的本地虚拟事件、或者由远离玩家定位的虚拟环境的元件触发的远程虚拟事件),触觉反馈可被触发并被玩家感测到。触觉反馈可根据换能器132和电机133来提供。例如,如果在虚拟环境内,动物或对象在玩家身体的特定定位触摸玩家,则位于此位置的换能器可被激活以提供被此对象触摸的触感。

视觉显示器134可通过由玩家140穿戴的头戴式设备来提供。虚拟显示器134可包括头盔、虚拟显示器、以及向玩家140提供视觉和音频输出所需要的其他元件和组件。在一些实例中,玩家计算机120可生成虚拟环境图形并通过虚拟显示器140将虚拟环境图形提供给玩家。

附件135可以是与玩家分离、与玩家计算机120通信、并且通过视觉显示器134在虚拟环境内显示的元件。例如,附件可包括能在虚拟环境内以图形显示并与玩家140物理接合或交互的枪、火炬、光剑、棍棒或任何其他对象。附件135可由玩家140握持、由玩家140触摸、或以其他方式接合在物理环境中,并且由玩家计算机120通过视觉显示器134在虚拟环境内呈现。

游戏计算机150可与玩家计算机120和122通信以从玩家计算机接收经更新虚拟信息,并将此信息提供至虚拟现实会话中当前活跃的其他玩家计算机。游戏计算机150可存储和执行虚拟现实引擎,诸如unity游戏引擎、leapmotion、unreal游戏引擎、或另一虚拟现实引擎。游戏计算机150还可将虚拟环境数据提供至联网计算机170,并且最终通过网络180提供至其他远程定位。

环境设备162可包括物理设备,这些物理设备形成物理环境的部分。设备162可提供能被玩家140感测或检测到的输出。例如,环境设备162可以是热、冷、风、声音、气味、振动、或者能被玩家140检测到的某个其他感觉的源。

传送器102-108可将吊舱内的同步宽带信号传送至一个或多个接收器112-117。接收器上以及玩家计算设备(诸如,玩家计算设备120或122)上的逻辑可使每个接收器的定位能够在吊舱内的通用空间中被确定。

图2a是与组合的物理和虚拟环境一起使用的示例性物理环境的俯视图。图2a的物理环境包括方形空间210和弯曲空间215。弯曲空间215形成围绕方形空间210的圆形,其中四个通路连接弯曲空间与方形空间。当用户的移动被检测为沿弯曲的物理环境行进时,提供虚拟环境的图形引擎(诸如例如,unity图形引擎)可将导航呈现为虚拟环境中的直路径。因此,虚拟环境内的偏移导航路径使物理环境内的弯曲行进路径看上去像是对应虚拟环境中的直行进路径。

图2b是示例性物理环境的俯视图,其中偏移虚拟环境显示器的呈现被提供给用户。如图2b所示,对于弯曲布局内的每个点,虚拟环境内的用户的视图可能看上去是直的。例如,在弯曲点220、222和224处,虚拟环境可被偏移成使其对用户来书看起来像是用户正在直线上行进。在一些实施例中,虚拟环境内的直线可与物理环境的曲线中的点相切。

图3a例示出示例性物理环境内的示例性导航路径。示例性导航路径包括弯曲部分310,之后是右转以在路径320上继续直行,之后是左转以在弯曲路径330上继续,之后是左转以在路径340上继续,之后是右转以在弯曲路径350上继续。在物理环境中,在没有任何虚拟现实系统的情况下,图3a中例示的路径将使用户移动通过空间210两次,并且包括若干弯曲部分。

图3b例示出与示例性物理环境内的示例性导航路径相对应的虚拟环境内的示例性导航路径。如图3b所示,虚拟环境内的导航路径不包括任何弯曲部分。在虚拟环境内,弯曲部分已利用偏移进行处理,使他们对用户看起来像是直路径。具体地,虚拟环境内的导航路径包括直部分310、向部分310右侧的直部分320、向直部分330的左转、沿部分340的另一左转、以及沿部分350的右转。图形引擎可跟踪用户的移动,并将空间210呈现为虚拟环境内的不同空间。如此,具有非线性部分的物理环境可被用于提供延伸的和无限的虚拟环境,该虚拟环境将特定物理空间重新用作不同的虚拟空间。

图4例示出用于提供组合的物理和虚拟环境的方法。在步骤410处,将物理空间映射至虚拟环境。物理空间中的点可被测量,并与虚拟环境中的对应点相关联。这些点可包括角落、墙壁、以及其他点或位置。将物理空间映射至虚拟环境将参考图5的方法进行更详细地讨论。

在步骤415处,可初始化和校准虚拟现实系统。初始化和校准可包括校准跟踪系统、初始化虚拟环境软件、以及其他初始化和校准任务。

在步骤420处,可跟踪用户的物理位置。当用户在整个物理环境中导航时,可连续地跟踪用户。当用户在整个物理环境中移动时,在步骤425处,将由跟踪系统生成的位置数据提供至本地机器。在一些实现中,本地机器可被附连、耦合、穿戴、或者以其他方式定位于用户的身体上。用户位置数据可包括指示位于用户的部分上的一个或多个接收器、由用户携带的对象的位置的数据,或者其他定位处的数据。

在步骤430处,可确定虚拟环境内的针对用户的偏移。偏移可包括方向偏移、位置偏移,并且可被用于根据用户在物理环境内的实际路径改变用户在虚拟环境内的感知路径。例如,偏移可被用于使用户行进的物理弯曲路径在虚拟环境内看起来像是直路径。确定虚拟环境内的针对用户的偏移将参考图6的方法进行更详细地讨论。

在步骤435处,利用偏移在虚拟环境内显示用户。用户可被显示为虚拟环境内的第一对象。可基于由本地机器接收的跟踪数据以及基于用户的定位确定的偏移来显示用户在虚拟环境内的移动。在步骤440处,将偏移用户位置传送至远程机器。在一些实例中,用户的本地机器首先可将用户的偏移定位传送至游戏计算机,并且游戏计算机可将偏移用户位置传送至其他用户计算机或远程机器。在步骤440处,远程机器可针对与远程机器相关联的特定用户来更新虚拟环境内的用户定位。因此,当用户围绕物理环境移动时,用户在虚拟环境内的经更新偏移位置被实时地提供至参与虚拟现实会话的其他用户。

图5例示出用于将物理空间映射至虚拟环境的方法。图5的方法为图4的方法的步骤410提供更多的细节。在步骤510处,访问物理空间的测量。可从存储器、由管理员接收的数据、或其他定位访问测量。在步骤515处,对物理空间内的墙壁的角落进行排列。对墙壁角落进行排列可确保对物理空间的测量产生对齐的房间、墙壁和其他空间。

在步骤520处,将沿墙壁和角落的物理点指派给虚拟环境内的点。将物理点指派给虚拟环境点确保物理墙壁与虚拟环境内显示的墙壁对齐,并且可与其进行交互。在步骤525处,可基于物理空间来将虚拟环境重新构造成适配物理空间。重新构造虚拟环境可包括调整虚拟空间的大小、调整用户可能行进通过特定空间的速度、以及调整虚拟空间的其他参数。

图6例示出用于确定虚拟环境内的针对用户的偏移的方法。图6的方法提供图4的方法的步骤430的更多细节。首先,在步骤610处,确定物理环境内的点。这些点可包括过道起点、过道终点、以及旋转点。过道起点可以是物理空间内非线性过道或其他可横越空间开始的点。过道终点可以是非线性或其他可横越空间结束的点。旋转点可被选择为:当用户横越非线性过道时,用户可被确定绕其旋转的点。旋转点可被计算为等腰直角三角形上的90度角点处的假想旋转中心,其中斜边在弯曲走廊终点与直走廊终点之间延伸。

图7例示出用于计算虚拟环境内针对用户的位置偏移的模型。在图7的模型中,过道起点可被安置于定位710处,而过道终点可被安置于定位740处。图7的模型中的旋转点可以是过道起点和过道终点形成直角的点(被标示为“ctr”)。

返回图6,在步骤615处,标识与沿弯曲走廊的角度相关联的三角形。在图7的模型中,用户沿弯曲路径横越,沿曲线行进的距离可与角度相关联。角度可与特定预定三角形相关联。每个所标识的三角形可与沿弯曲路径的特定行进距离相关联,并且可被用于生成不同偏移。在图7中,预先设置的三角形可与角度α1、α2和α3相关联,但是可使用不同数量的角度。换句话说,在步骤615处,可标识图7的模型中沿弯曲行进路径的一组距离。

在步骤620处,确定相对于起始位置的当前用户位置。相对于起始位置的用户位置被用于确定在图7的模型中用户已沿弯曲路径行进多远。例如,用户可沿物理环境中的弯曲路径相对于原始位置710行进与位置720、位置730或位置740相关联的距离。在步骤625处,从起始位置与用户的当前位置之间的差异形成角度。在图7中,将与位置720相关联的角度是α1,将与位置730相关联的角度是α2,而将与位置740相关联的角度是α3。

在步骤630处,基于所确定的角度来确定在虚拟环境过道或路径中行进的长度。可通过所行进的角度相对于最大允许行进角度的比例应用于虚拟环境中的对应路径中的最大行进长度来确定行进长度。比例可被表达为:

其中行进的角度为αn,行进的最大可能角度为αtot,在虚拟环境中行进的最大可能距离是dtot′,而确定的在虚拟环境中行进的距离为dn′。

参看图7,对于与位置720相关联的角度α1,沿虚拟环境路径的对应部分的将是725。对于与位置730相关联的角度α2,虚拟环境路径中的对应部分的将是735。

在步骤635处,基于用户距物理环境中的旋转点的距离来确定虚拟环境内的过道或其他可横越空间内的侧向位置。

图8例示出用于计算虚拟环境内的针对用户的位置偏移的另一模型。图8的模型例示出图7的模型的部分750的更详细的视图。如图8所示,物理环境路径内的位置可从旋转点的视点测量。

用户可与旋转点的最短距离可由最小距离dmin呈现,而用户可与旋转点的最长距离可由最大距离dmax呈现。用户与旋转点的实际距离可被呈现为doff。在虚拟环境中,这些距离与虚拟环境的直路径中的dmin'、dmax'和doff'相关。

图9例示出用于生成次要对象以表示识虚拟环境中的用户的方法。首先,在步骤910处,设置针对第一用户的块参数。虚拟环境内提供的内容可被分成块。每个块可包括针对与物理环境相关联的虚拟环境的部分的内容。例如,块可包括与图2a的物理环境中的空间210相关联的虚拟环境内容。当用户多次横越物理环境并且进入空间210时,对空间210的每次进入可与不同的内容“块”相关联。具体而言,在图3b中,用户沿路径320第一次进入空间210时,用户可经历与第一块相关联的虚拟内容,而沿路径340对空间210的第二次进入可以是不同块的部分。在一些实现中,为第一用户关联块参数包括标识针对该用户的当前块(即,当前虚拟环境内容)。当用户穿过物理环境(诸如,新走廊、房间、或其他可横越空间)中的某些点时,针对特定用户的当前块可改变。

在步骤920处,检测第一用户移动。随后在步骤930处,作出关于第一用户移动是否导致新块的确定。如果移动不导致新块,则图9的方法返回至步骤920。如果移动确实导致新块,则可改变针对第一用户的块参数,例如以标识用户将在虚拟环境内经历的新块。

在步骤1050处,作出关于在与第二块相关联的物理空间内是否存在第二用户的确定。当用户从第一块移动至第二块时,其他用户可能与第一用户存在于同一物理空间中,但正经历虚拟环境的不同块。如果除第一用户之外的块之外的块中的当前物理空间中不存在其他用户,则图9的方法返回至步骤920。如果第二用户存在于第一用户的物理空间中并且正经历与第一用户不同的块,则图9的方法可继续至步骤960。

在步骤960处,生成次要对象以在针对第一用户的新块中表示第二用户。尽管虚拟环境内的每个用户与图形对象相关联,但可生成次要图形对象以表示除特定用户所经历的块之外的块中的特定用户。这允许与该用户处于不同块并且同一物理空间的用户去标识另一用户或者某个对象正与不同块中的用户处于一个物理空间,这有助于防止同一物理空间但不同块中的两个用户之间的碰撞或其他接触。在步骤970处,还可生成次要对象以在与第二用户相关联的块中呈现第一用户。

图10例示出用于配置通过虚拟环境的部分的用户的速度的方法。在步骤1010处,标识具有移动参数的虚拟环境部分。虚拟环境部分可包括影响用户移动的方面,诸如水、云或空气、电动扶梯、或其他方面。在步骤1020处,在部分内确定速度调整。速度调整可使用户更快地、更慢地、或以某种其他方式相对于正常不同地移动。在步骤1030处,检测用户的位置上的改变,并且在步骤1040处,在所标识的虚拟环境中以经调整速度来显示用户的运动。如此,用户可看上去在:两倍速地移动、半速移动、在垂直方向上上升或下降、或者具有以某种其他方式调整的移动。

图11例示出可被用于实现与本技术一起使用的计算设备的示例性计算系统1100。图11的系统1100可在玩家计算设备120和122以及游戏计算机150之类的情境中实现。图11的计算系统1100包括一个或多个处理器1110和存储器1110。主存储器1110部分地存储用于由处理器1110执行的指令和数据。在操作中时,主存储器1110可存储可执行代码。图11的系统1100进一步包括大容量存储设备1130、(诸)便携式存储介质驱动器1140、输出设备1150、用户输入设备1160、图形显示器1170、以及外围设备1180。

图11中所示的组件被描绘为经由单个总线1190连接。然而,组件可通过一个或多个数据运输装置来连接。例如,处理器单元1110和主存储器1110可以经由本地微处理器总线连接,而大容量存储设备1130、(诸)外围设备1180、便携式存储设备1140、以及显示系统1170可经由一个或多个输入/输出(i/o)总线连接。

可利用磁盘驱动器、光盘驱动器、或固态非易失性存储实现的大容量存储设备1130是用于存储供处理器单元1110使用的数据和指令的非易失性存储设备。大容量存储设备1130可存储用于实现本发明的实施例的系统软件,以便将该软件加载到主存储器1110中。

便携式存储设备1140与便携式非易失性存储介质(诸如,软盘、光盘或数字视频盘)联合操作,以向图11的计算机系统1100输入数据和代码以及从计算机系统1100输出数据和代码。用于实现本发明实施例的系统软件可被存储在此类便携式介质上,并经由便携式存储设备1140输入到计算机系统1100。

输入设备1160提供用户界面的部分。输入设备1160可包括用于输入字母数字和其他信息的字母数字键区(诸如,键盘)或者指示设备(诸如,鼠标、轨迹球、指示笔或光标方向键)。另外,如图11所示的系统1100包括输出设备1150。合适的输出设备的示例包括扬声器、打印机、网络接口和监视器。

显示系统1170可包括液晶显示器(lcd)或其他合适的显示设备。显示系统1170接收文本和图形信息,并处理该信息以输出到显示设备。

外围设备1180可包括任何类型的计算机支持设备,以向计算机系统添加附加功能。例如,(诸)外围设备1180可包括调制解调器或路由器。

包含在图11的计算机系统1100中的组件是通常在计算机系统中找到的组件,这些组件可适用于本发明的实施例,并且旨在呈现本领域公知的此类计算机组件的广泛类别。因此,图11的计算机系统1100可以是个人计算机、手持计算设备、电话、移动计算设备、工作站、服务器、小型计算机、大型计算机或任何其他计算设备。计算机还可包括不同的总线配置、联网平台、多处理器平台等。可使用各种操作系统,包括unix、linux、windows、macintoshos、android和其他合适的操作系统。

已出于说明和描述的目的呈现了本文技术的前述详细描述。它不旨在穷尽或者将本技术限制在所公开的准确的形式。根据以上教导,许多修改和变型是可能的。所描述的实施例被选择以便最好地解释本技术的原理及其实践应用,由此使本领域的其他技术人员能够以各种实施例并且使用如适合特定使用预期的各种修改来最好地利用本技术。本技术的范围旨在由所附权利要求限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1