CN108700944B - 与在虚拟现实环境中的运动有关的***和方法 - Google Patents

与在虚拟现实环境中的运动有关的***和方法 Download PDF

Info

Publication number
CN108700944B
CN108700944B CN201780012977.7A CN201780012977A CN108700944B CN 108700944 B CN108700944 B CN 108700944B CN 201780012977 A CN201780012977 A CN 201780012977A CN 108700944 B CN108700944 B CN 108700944B
Authority
CN
China
Prior art keywords
user
size
virtual reality
physical
virtual
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
CN201780012977.7A
Other languages
English (en)
Other versions
CN108700944A (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 CN108700944A publication Critical patent/CN108700944A/zh
Application granted granted Critical
Publication of CN108700944B publication Critical patent/CN108700944B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在至少一个一般方面,一种方法可以包括:至少部分地基于在虚拟现实环境中用户相对于对象的比例来确定物理参数;基于物理参数将物理定律应用于在虚拟现实环境中用户与对象之间的交互;并且至少部分地基于用户和对象之间的比例的相对变化来修改物理参数。

Description

与在虚拟现实环境中的运动有关的***和方法
相关申请
本申请要求在2016年5月12日提交的题为“INTERACTIONS IN A VIRTUAL REALITYENVIRONMENT FROM DIFFERENT SIZE PERSPECTIVES(来自不同尺寸视角的虚拟现实环境中的交互)”的美国临时专利申请No.62/335,417的优先权权益,其全部内容通过引用并入本文。
技术领域
本说明书总体上涉及生成用户可以在其中进行交互的虚拟现实环境。特别地,本说明书涉及至少部分地基于修改在虚拟现实环境内交互的用户的比例(scale)来修改一个或多个虚拟现实物理定律(和/或其中包括的参数)。
背景技术
可以至少部分地使用诸如头戴设备、计算机***、控制器和触觉反馈***等的虚拟现实***,使得用户或用户的图形表示可以与特定的虚拟现实环境交互。这种虚拟现实***可以包括计算机和/或微处理器、显示设备、扬声器和反馈***。虚拟现实***可以生成用户可以在其中进行交互的虚拟现实环境。此外,这样的***可以至少部分地基于用户与虚拟现实环境的交互来向用户提供音频、视觉或机械反馈。
发明内容
在一个方面,一种方法可以包括:至少部分地基于在虚拟现实环境中用户相对于对象的比例来确定物理参数;基于所述物理参数,将物理定律应用于在虚拟现实环境中所述用户与所述对象之间的交互;以及,至少部分地基于所述用户和所述对象之间的比例的相对变化来修改所述物理参数。
在另一方面,一种方法可以包括:确定用户相对于虚拟现实环境的比例,所述虚拟现实环境具有相关联的虚拟物理定律;基于所述用户相对于所述虚拟现实环境的所述比例的变化来确定所述虚拟物理定律的参数;以及将所述虚拟物理定律和所述参数应用于所述用户与所述虚拟现实环境之间的交互。
在另一方面,一种***可以包括被配置为生成虚拟环境的计算设备。计算设备可以包括存储可执行指令的存储器和被配置为执行指令的处理器。指令的执行可以使计算设备至少部分地基于在虚拟现实环境中用户相对于对象的比例来确定物理参数,基于物理参数将物理定律应用于在虚拟现实环境中用户与对象之间的交互,以及至少部分地基于用户和对象之间的比例的相对变化来修改物理参数。
在附图和以下描述中阐述了一个或多个实现的细节。根据说明书和附图以及权利要求,其他特征将是显而易见的。
附图说明
图1是根据示例实施例的、用户和一个或多个虚拟现实设备的图。
图2A和2B是图1中所示的虚拟现实头戴设备的更详细的图。
图2C是图1中所示的设备的更详细的图。
图3描绘了可用于与虚拟现实***和/或虚拟现实设备通信或一起工作的计算***的组件的图。
图4A至4C描绘了虚拟现实环境中的用户,其中,用户相对于相应图像中的虚拟现实环境具有不同的比例。
图5描绘了根据示例实施例的与确定在虚拟现实环境中用于用户的一个或多个物理定律有关的流程图。
图6描绘了根据示例实施例的与确定用户相对于虚拟现实环境的比例有关的流程图。
图7示出了可用于实现本文描述的技术的计算机设备和移动计算机设备的示例。
在各附图中的相同附图标记表示相同元素。
具体实施方式
如图1所示,虚拟现实***可以包括具有各自目的的多个设备。图1的虚拟现实***可以包括虚拟现实头戴设备,例如头戴式显示器(HMD)100。图1中的虚拟现实***可以进一步包括运动感测设备,并且在某些情况下,还包括控制器,例如设备102。图1中描绘的用户能够结合运动感测设备或控制器来控制虚拟现实环境15(和/或虚拟现实环境中的用户)的图形表示。虚拟现实环境15可以显示在HMD 100中包括的显示器上,以为用户提供身临其境的视觉体验。另外,这种虚拟现实***可以包括基于触觉的***或设备。这种基于触觉的***可以向用户提供物理刺激,例如机械反馈,其至少部分地对应于在用户的图形表示、虚拟现实环境和/或虚拟现实环境中描绘的对象之间的交互。
例如,用户可以在虚拟现实环境15内与对象16(例如,虚拟对象)交互。对象16可以是或可以包括多种对象中的任何对象,其中至少一些对象表示或对应于现实世界对象。这种交互可以涉及用户(或其一部分)的图形表示与虚拟现实环境15内的对象16的图形表示交互。此外,可以至少部分地通过具有至少一个参数(和/或参数的值,也称为物理参数)的虚拟物理定律(也可以称为物理定律)来确定图形表示之间的这种交互。在一些实现中,在一些情况下,交互可以由具有(例如,每个具有)至少一个参数的多个虚拟物理定律来控制。在一些实现中,一些虚拟物理定律可以具有多个参数。在本文的一些实现中,可以使用参数来指示物理定律中的变量和/或物理定律中的变量的值。这样的虚拟物理定律可以包括一个或多个算法,其可以是诸如牛顿力学、量子力学或电磁学等的现实世界物理定律的数学表示(例如,近似)。例如,虚拟物理定律可以包括重力、摩擦力、力、动量、质量、密度、重量、加速度、矢量速率、标量速度的数学近似和/或控制物质相互作用的方面的其他近似。
在一些实现中,可以设计或优化虚拟物理定律以向在虚拟现实环境15中与对象16(例如,普通家庭用品、玩具屋中的椅子、工具、玩具、仪器、车辆、结构等)交互的用户提供近似于现实世界中的用户与对象16之间的真实交互的体验。例如,用户可能能够在虚拟现实环境中拾取对象16(例如,牛奶壶),使得由虚拟现实***提供给用户的音频、视觉和/或触觉反馈可以近似于其感觉如何,并且听起来用户在现实世界中拾取对象16。
在一些实现中,为了近似对象16的适当感觉,修改虚拟物理定律和/或与对象16的虚拟物理定律相关联的参数以获得用户与对象16之间的真实交互。例如,修改物理定律(和/或其参数)以将对象16缩放到用户的适当尺寸。尽管可以使用用户来描述虚拟环境中的虚拟表示,但是也可以使用术语化身。在一些实现中,可以使用术语比例来代替术语尺寸。在缩放对象时修改物理定律(和/或对象的参数)具有技术效果:在虚拟世界中用户与对象的交互的真实性得到改善。例如,考虑对象是在现实世界中重量约为2000磅的真实汽车。在虚拟环境中,虚拟对象可以是真实汽车的模型,虚拟对象反映真实汽车的尺寸并具有反映汽车重量为2000磅的虚拟物理参数和/或虚拟物理定律。因此,根据使得汽车在虚拟环境中看起来很重的虚拟物理参数和/或虚拟物理定律,可以发生虚拟环境中用户与真实汽车的虚拟模型的交互。在虚拟环境中将虚拟对象(即汽车)缩放到其尺寸的十分之一时,汽车在虚拟环境中对用户来说就像玩具车。如果尽管有虚拟对象的缩放但是反映汽车重量的虚拟物理参数和/或虚拟物理定律保持不变,当用户在虚拟环境中与其交互时,看起来像玩具车的汽车仍然显得很重,这看起来是不现实的。因此,缩放汽车的虚拟物理参数和/或虚拟物理定律的变化,例如反映10磅的重量,增加了真实感,使得当用户在虚拟世界中与其交互时,缩放的汽车看起来更轻。
在一些实现中,修改用户的虚拟物理定律和/或与虚拟物理定律相关联的参数以获得用户和对象16之间的真实(或期望的)交互。例如,对于用户相对于对象16的比例修改物理定律(和/或其参数)。
在一些实现中,可以基于用户相对于对象16(或虚拟环境的其他部分)的比例来缩放物理定律(和/或其参数)。在缩放物理定律的一个示例中,如果用户是第一尺寸,则第一物理定律(和/或其参数)可以应用于第一尺寸的用户与对象16之间的交互。如果用户被改变为第二尺寸(不同于第一尺寸),第二物理定律(和/或其参数)(不同于第一物理定律)可以应用于第二尺寸的用户与对象16之间的交互。如果用户被改变为第三尺寸(不同于第一尺寸或第二尺寸),第三物理定律(和/或其参数)(不同于第一物理定律或第二物理定律)可以应用于第三尺寸的用户和对象16之间的交互。换句话说,缩放物理定律意味着例如取决于用户的比例和/或对象的比例,将不同的物理定律应用于虚拟用户和虚拟对象之间的交互。
除了上面的示例之外,在一些实现中,可以基于用户的尺寸的改变来选择(例如,从库中选择)物理定律(和/或其参数)。在一些实现中,可以独立于与那些一个或多个其他用户相关联的一个或多个其他用户的比例(和/或物理定律(和/或参数))来选择(例如,从库中选择)物理定律(和/或其参数)。
作为另一示例,如果用户是第一尺寸,则物理定律的参数可以是第一量值。如果用户被改变为第二尺寸(不同于第一尺寸),则物理定律的参数可以改变为第二量值(不同于第一量值)。如果用户被改变为第三尺寸(不同于第一尺寸或第二尺寸),则物理定律的参数可以改变为第三量值(不同于第一量值或第二量值)。在一些实现中,参数的量值可以与用户尺寸的变化成比例地改变。在一些实现中,可以基于取决于用户尺寸的变化的等式来改变参数的量值。在一些实现中,参数的量值可以独立于结合应用于虚拟环境中的其他用户之间的交互的物理定律使用的一个或多个参数而改变。
在一些实现中,可以基于第一用户的比例将第一物理定律(和/或其参数)应用于第一用户和对象16之间的交互。第二物理定律(和/或其参数)(与第一个物理定律(和/或其参数)不同)可以基于第二用户的比例应用于第二用户和对象16之间的交互,因为第一用户的比例不同于第二用户的比例。在这样的实现中,由于第一和第二物理定律(和/或其参数)之间的差异,即使第一用户和第二用户应用相同的交互,基于第一物理定律(和/或其参数)的第一用户与对象16的交互可以与基于第二物理定律(和/或其参数)的第二用户与对象16的交互不同。
在一些实现中,可以修改上述示例,使得不同于第一物理定律(和/或其参数)或第二物理定律(和/或其参数)的第三物理定律(和/或其参数)可以应用于第一用户与对象16的交互,并且可以应用于第二用户与对象16的交互。因此,相同的物理定律(和/或其参数),即第三物理定律(和/或其参数),可以应用于第一用户和第二用户的交互。在一些实现中,第三物理定律可以是基于第一用户的尺寸和第二用户的尺寸的组合的中间物理定律。例如,第三物理定律可以是基于介于第一用户的尺寸和第二用户的尺寸之间的中间尺寸的中间物理定律。
在一些实现中,修改整个虚拟现实环境的与虚拟物理定律相关联的参数和/或虚拟物理定律以获得在用户与对象16之间的真实交互。例如,修改物理定律(和/或其参数)以相对于用户缩放整个虚拟现实环境。这具有如下技术效果:当用户从第一尺寸缩放到不同于第一尺寸的第二尺寸时,改善了用户与虚拟世界的交互的真实性。例如,当现实世界中的用户推动真实汽车时,真实汽车在现实世界比例下对用户来说显得很重,因为它的重量例如约为2000磅。相比之下,在现实世界中,比例为1:10的现实世界玩具车对于用户而言似乎很容易抬起并推动,因为它的重量例如为10磅。在虚拟现实环境中,用户、真实汽车和玩具车可以分别用反映其提到的现实世界属性的相应物理定律和参数建模,使得在与真实汽车的虚拟模型的虚拟交互中,真正的汽车看起来很重,并且在与玩具车的虚拟模型的虚拟交互中,玩具车在虚拟世界中看起来容易抬起并推动。当用户的尺寸在虚拟环境中缩放到用户原始尺寸的十分之一时,则在虚拟世界中,玩具车对用户来说看起来就像真汽车一样。在这种情况下增加的真实感意味着不仅外观而且与玩具车的虚拟模型的交互类似于与真实汽车的虚拟模型的交互。然而,当将用户缩放到较小尺寸并且维持玩具车的物理定律和参数时,玩具车具有反映10磅的虚拟质量的参数和虚拟物理定律,那么缩放用户与玩具车的虚拟模型之间的交互看起来不真实,因为由于用户的缩放而对于用户而言看起来像虚拟世界中的真汽车一样的玩具车可能看起来太轻,因为它仍然具有反映了玩具车的物理定律和参数。因此,玩具车的虚拟物理定律和/或虚拟物理参数的改变增加真实感,使得玩具车对于缩放的用户看起来更重。
在一些实现中,如果改变用户的比例,则可以修改虚拟物理定律(和/或物理定律)的参数。例如,用户可以是第一尺寸,并且具有第一尺寸的用户与对象16的交互可以由与虚拟物理定律相关联的参数控制,使得具有第一尺寸的用户以至少近似地看起来像现实世界中的用户和对象16之间的交互的方式与对象16交互。在具有第一尺寸的用户被缩放到第二尺寸(例如,小于或大于第一尺寸的尺寸)之后,可以至少部分地基于第一尺寸和第二尺寸之间的差异来改变与虚拟物理定律相关联的物理参数。。
例如,具有第一尺寸的用户可以与树交互。虚拟环境中的物理定律(和/或其参数)将使第一尺寸用户能够以逼真的方式与树交互。如果第一尺寸用户然后在具有相同的物理定律(和/或其参数)的同时被缩放到第二尺寸(例如,更小的尺寸),则第二尺寸用户也以类似的方式与树交互。然而,因为具有较小比例的第二尺寸用户将观察到与树的交互与第一尺寸用户(其大得多)相同,这可能产生不真实的感觉。因此,可以至少部分地基于第一尺寸和第二尺寸之间的差异来改变与具有较小比例的第二尺寸用户的虚拟物理定律相关联的物理参数。
类似地,例如,在树是铅笔的尺寸并且用户被缩放到第二尺寸(例如,更大的尺寸)的情况下,用户可以以类似的方式与树交互,因为相同的物理定律(和/或其参数)可以应用于(在缩放之后的)用户。用户可以观察到与树的交互具有不真实的感觉。因此,可能需要为(在缩放之后的)用户修改物理定律和/或其参数,以便用户可以适当地与树交互。当然,这仅仅是与修改虚拟物理定律和/或与虚拟物理定律相关联的参数有关的一个示例。
另一方面,在一些实现中,当缩放的第二用户(例如,更小尺寸或更大尺寸)具有相对于具有第一尺寸的第一用户应用的不同的物理定律(和/或其参数)时,缩放的第二用户可以以逼真的方式与对象16交互。换句话说,缩放的第二用户可以具有正确的物理定律(和/或其参数)以便以适当的方式(即,模拟现实世界)与对象16交互。当然,这仅仅是与修改虚拟物理定律和/或与虚拟物理定律相关联的参数有关的一个示例。
在一些实现中,例如,在用户具有较小尺寸的情况下,对象16可能看起来与小的用户具有相同的高度。相反,在一些实现中,在用户具有较大尺寸的情况下,对象16可能看起来是大的用户的手的尺寸。具有第二尺寸的用户可以具有至少一个虚拟物理定律或虚拟物理定律的一个参数,其不同于可以应用于具有如上所述的第一尺寸的用户的虚拟物理定律或虚拟物理定律的参数。在该示例中,可以调整物理定律或物理定律的参数,使得无论尺寸如何,提供给虚拟现实***的信息仍然可以看起来和/或感觉适合于用户。
例如,对于相对小的用户(相对于对象16)和/或相对大的用户(相对于对象16),可以改变施加到对象16的摩擦或重力,使得对象16将看起来根据每个用户的尺寸以对于每个用户适当的方式做出反应。这可以通过修改应用于虚拟现实环境15中的对象16(或与这个对象交互的另一对象)的虚拟物理定律或虚拟物理定律的参数来实现。
作为另一示例,可以将表示(例如,近似)重力的定律应用于对象16。然而,可以至少部分地基于用户的比例来修改这种重力定律。对于大的用户,可以减小重力,使得对象16对于大的用户看起来以适当的速度下降。然而,如果被具有不同比例的用户丢下,则具有不同比例的用户将观察到对象16以与用户期望看到的不同的速率(基于相同的重力定律)丢下。
例如,具有第一尺寸的用户放下锤子,锤子的一个或多个物理定律和/或其参数将使第一尺寸用户能够以逼真的方式与锤子相互作用。锤子将具有基于用户的尺寸某个或某些物理定律和/或参数以落到地面。如果第一尺寸用户然后在相同的物理定律和/或参数被应用于锤子的同时被缩放到第二尺寸(例如,更小的尺寸),则第二尺寸的用户也将经历以与第一尺寸用户(其更大)相似的速率丢下锤子(即,锤子落下的时间更短,并且因此使得锤子看起来好像它下降得更快(以不真实的方式))。因此,可能需要基于缩放的第二用户来修改锤子的物理定律(和/或其参数),使得缩放的第二用户能够以适当的速率丢下锤子。当然,这仅仅是与修改虚拟物理定律和/或与虚拟物理定律相关联的参数有关的一个示例。
作为另一示例,如果相对较大的用户丢下对象16,则根据物理定律(和/或其参数),从相对较小的用户的视角,对象16可能看起来下降得太快。另一方面,如果相对较小的用户丢下了对象16,则根据物理定律(和/或其参数),从大的用户的视角,对象16可能看起来下降得太慢。然而,从实际丢下对象16的用户的视角来看,对象16可能看起来以适当的速度被丢下。这当然仅仅是与修改虚拟物理定律和/或与虚拟物理定律相关的参数有关的一个示例。
在一些实现中,例如上面描述的那些,对于两个不同视角(小的用户和大的用户),与对象16相关联的动作的处理可以是不同的。例如,与针对小的用户的对象16相关联的第一动作(例如,下降)的时间段可以与针对较大用户的对象16相关联的第一动作(例如,下降)的时间段不同。可以将第二动作(例如,打破、弹跳等)(其可以具有另一时间段)包括或附加到第一动作以供小的用户或较大用户查看,以便完成对象16的整个事件的时间可以对于较小的用户和第二用户同步。
在一些实现中,在相对大的用户要推动对象16的情况下,可以定义与摩擦力、力和/或动量相关的物理定律(或其参数),使得相对大的用户可以轻松地推动对象16。然而,如果相对于对象16将相同的物理定律(和/或其参数)应用于相对较小的用户,则相对较小的用户可能太容易地推动对象16。因此,可能需要针对(在缩放之后的)相对较小的用户修改物理定律(和/或其参数),使得相对较小的用户可能无法那样容易将对象16推动。
例如,如果相对大的用户要推动比相对大的用户小得多的微型玩具车,则可以应用物理定律(及其参数)以使得微型玩具车看起来由于微型玩具车相对于相对大的用户的尺寸较小而相对容易(没有力和/或摩擦)移动。然而,如果相同的物理定律(和/或其参数)相对于相同的微型玩具车应用于相对较小的用户,则微型玩具车看起来相对容易移动(没有力和/或摩擦),即使微型玩具车可能比相对较小的用户大。相对较小的用户可能感觉到微型玩具车以不真实的方式移动。因此,可能需要针对(在缩放之后的)相对较小的用户修改物理定律(和/或其参数),使得相对较小的用户能够感知以适当的方式(例如,以适当的速度、被施加适当的力)移动的微型玩具车。当然,这仅仅是与修改虚拟物理定律和/或与虚拟物理定律相关联的参数有关的一个示例。
在一些实现中,在相对大的用户要推动对象16的情况下,可以定义与摩擦力、力和/或动量相关的物理定律(或其参数),以便相对大的用户可以容易地推动对象16。然而,如果相对于对象16将不同的物理定律(和/或其参数)应用于相对较小的用户,则相对较小的用户可能能够以适当的方式(例如,以适当的速率)推动对象16。当然,这仅仅是与修改虚拟物理定律和/或与虚拟物理定律相关联的参数有关的一个示例。
在一些实现中,可以修改整个虚拟现实环境的虚拟物理定律和/或与虚拟物理定律相关联的参数,以获得用户与整个虚拟现实环境之间的真实交互。换句话说,修改物理定律(和/或其参数)以缩放与用户相关的整个虚拟现实环境。
例如,具有第一尺寸的用户可以与整个虚拟现实环境交互。整个虚拟现实环境的物理定律(和/或其参数)将使第一尺寸用户能够以逼真的方式进行交互。如果第一尺寸用户然后在具有整个虚拟现实环境的相同物理定律(和/或其参数)同时被缩放到第二尺寸(例如,更小尺寸或更大尺寸),则(即使第二尺寸用户被缩放到更小的尺寸或更大的尺寸)第二尺寸用户还将以与第一尺寸用户类似的方式(基于相同的物理定律)与整个虚拟现实环境交互。然而,因为具有较小或较大比例的第二尺寸用户将与第一尺寸用户类似地与整个虚拟现实环境交互,(对于一个或多个用户)这产生了不真实的感觉。因此,可能需要至少部分地基于用户的尺寸来改变与整个虚拟现实环境的虚拟物理定律相关联的物理参数。当然,这仅仅是与修改虚拟物理定律和/或与虚拟物理定律相关联的参数有关的一个示例。
另一方面,在一些实现中,当缩放的第二用户(例如,更小尺寸或更大尺寸)具有针对具有第一比例的第一用户应用的不同物理定律(和/或其参数)时,缩放的第二用户可以以逼真的方式与整个虚拟现实环境交互。换句话说,缩放的第二用户可以具有正确的物理定律(和/或其参数)以便以适当的方式(即,模拟现实世界)与整个虚拟现实环境交互。当然,这仅仅是与修改虚拟物理定律和/或与虚拟物理定律相关联的参数有关的一个示例。
在一些实现中,多个用户(未示出)可以与虚拟现实环境15交互。多个用户可以同时或基本上同时与虚拟现实环境15交互,使得虚拟现实环境15可以支持同时或基本上同时的虚拟物理定律或多个同时或基本同时的与虚拟物理定律相关的参数。
在一些实现中,在一些情况下,多个用户可以具有多个比例,诸如第一比例、第二比例、第三比例等。例如,第一用户可以是大尺寸,第二用户可以是中等尺寸,并且第三用户可以是小尺寸,其可以在相同虚拟现实环境15中彼此交互。在一些实现中,相对于彼此,多个用户可以具有相同和/或不同的尺寸。
在一些实现中,虚拟现实环境15可以包括包括诸如虚拟玩具商店的多个对象的位置的图形表示。虚拟玩具商店可以包括多个用户可以在虚拟现实环境15内与之交互的各种玩具。
例如,采用火车组的图形表示。第一用户可以与虚拟现实环境15中的火车组交互。在该示例中,第一用户可以在虚拟现实环境15内具有近似于通常尺寸的人的比例,使得火车组的图形表示看起来具有火车组在现实世界中具有的近似物理尺寸和/或属性。以这种方式,第一用户(正常尺寸的用户)可以以某种方式并且根据第一物理定律(和/或其参数)与火车组交互,第一物理定律(和/或其参数)近似正常尺寸的用户将如何与在现实世界中火车组交互。
在该示例中,第二用户可以具有第二比例,使得第二用户是火车组上的乘客的近似尺寸。在该示例中,第二用户(小的用户)可以能够以向小的用户提供对正常尺寸用户不可用的一条或多条信息的方式检查细节和/或与火车组交互。第二物理定律(和/或其参数)可以应用于具有第二比例的第二用户。
在一些实现中,第一物理定律(和/或其参数)可以与第二物理定律(和/或其参数)相同。例如,相对于彼此,具有第一比例的第一用户和具有第二比例的第二用户可以具有相同物理定律(和/或其参数)。
在一些实现中,第一物理定律(和/或其参数)可以与第二物理定律(和/或其参数)不同。例如,相对于彼此,具有第一比例的第一用户和具有第二比例的第二用户可以具有不同物理定律(和/或其参数)。
在一些实现中,对象16的属性可以根据用户的比例而不同。例如,对象16可以具有用于具有第一比例的第一用户的第一属性,并且对象16可以具有用于具有与第一比例不同的第二比例的第二用户的第二属性。
例如,对于相对正常尺寸的用户,与相对较小的用户相比,火车组的质量可能不同。以这种方式,仅仅作为一些示例,正常尺寸的用户可以能够沿着列车轨道的图形表示容易地推动火车组和/或摘挂火车组。对于相对较小的用户,火车组可能具有相对较大的质量,使得相对较小的用户可能无法沿着轨道的图形表示推动火车组。以这种方式,基于其相对于虚拟现实环境15中的对象的比例,相对正常尺寸的用户和相对小的用户可以被呈现对他们与虚拟现实环境15中的火车组的相应交互的至少某种程度的逼真的描绘。。
在以上示例中,与质量(虚拟质量)相关的虚拟物理定律对于相对正常尺寸的用户和相对小的用户可以是相同的或基本相似的,而用于确定相对小用户的虚拟质量的参数可以与用于确定相对正常尺寸的用户的虚拟质量的参数不同。以上仅是说明性示例,并且所要求保护的主题内容在这方面不受限制。
在一些实现中,即使第一用户和第二用户可能具有不同的比例(或尺寸),对象16的属性对于第一用户和第二用户也可以是相同的。例如,对于相对正常尺寸的用户和相对较小的用户,火车组的质量可以是相同的。因此,正常尺寸的用户和相对小的用户都可以感受到火车组的相同特性(例如,重量、密度、摩擦力和/或力),并且可以能够以类似方式沿着火车轨道的图形表示推动和/或摘挂火车组。对于相对较小的用户或相对正常尺寸的用户中的一个(或两个),火车组可以(或可以不)具有相对大的质量。结果,基于其相对于虚拟现实环境15中的对象的比例,相对正常尺寸的用户和相对小的用户中的一个(或两个)可以被呈现他们各自与虚拟现实环境15中的对象的交互的至少某种程度的逼真的描绘。
在一些实现中,应用于相对正常尺寸的用户的物理定律对于包括相对小的用户的、虚拟现实环境15中的所有用户可以是相同的。
在一些实现中,应用于相对小的用户的物理定律对于包括相对正常尺寸的用户的、虚拟现实环境15中的所有用户可以是相同的。
在图1中所示的示例实现中,佩戴HMD 100的用户可以与便携式手持电子设备102交互。手持电子设备102可以是例如智能手机、控制器、操纵杆、触觉反馈设备或可以与HMD100配对并与HMD 100通信以在HMD 100生成的虚拟现实环境15中进行交互的其他便携式手持电子设备。手持电子设备102可以通过例如有线连接或诸如WiFi或蓝牙连接的无线连接可操作地与HMD 100耦合或与HMD 100配对。手持电子设备102和HMD 100的这种配对或可操作的耦合可以提供手持电子设备102和HMD 100之间的通信以及手持电子设备102和HMD100之间的数据交换。这可以允许手持电子设备102用作控制器,其与HMD 100通信以用于在由HMD 100生成的虚拟现实环境15中进行交互。即,对手持电子设备102的操纵,诸如例如,由手持电子设备102发射并且被引导到对象16或特征以用于选择的光束或者射线,和/或在手持电子设备102的触摸表面上接收的输入,和/或手持电子设备102的移动,可以在由HMD100生成的沉浸式虚拟环境15中被转换为对应的选择、移动或其他类型的交互。
例如,HMD 100与手持电子设备102一起可以生成如上所述的虚拟环境,并且可以操纵手持电子设备102以实现在如上所述的虚拟环境15中用户相对于虚拟特征的比例或视角的改变。作为特定示例,手持电子设备102可用于修改用户的比例,例如在上面的示例中或者如结合图4A至4C所述的将普通用户转换为小的用户(例如,将巨型用户402A转换为中等用户402B或行人用户402C,每个具有不同的比例)。另外,手持电子设备102可以进一步可操作以允许用户控制在虚拟现实环境15中与各种对象,诸如对象16(图1中所示),的交互,并且可以能够与能够在虚拟现实环境15中相对于对象16具有多个比例的用户表示如此进行。
图2A和2B是示例例如图1中的用户佩戴的HMD 100的HMD的透视图,并且图2C示出了示例性手持电子设备,例如图1中所示的手持电子设备102。手持电子设备102可以包括:壳体103,其中容纳设备102的内部组件;以及在用户可访问的壳体103外部的用户界面104。用户界面104可以包括被配置为接收用户触摸输入的触敏表面106。用户界面104还可以包括用于用户操纵的其他组件,例如,致动按钮、旋钮和操纵杆等。在一些实现中,用户界面104的至少一部分可以被配置为触摸屏,其中,用户界面104的该部分被配置为向用户显示用户界面项,并且还用于在触敏表面106上接收来自用户的触摸输入。手持电子设备102还可以包括光源108,光源108被配置为例如响应于在用户界面104处接收到的用户输入,通过壳体103中的端口选择性地发射光,例如光束或射线。手持电子设备还可以包括触觉***组件109,例如用于向用户提供触觉反馈的机械、听觉或视觉单元。
HMD 100可包括耦合到框架120的壳体110,其中,音频输出设备130(包括例如安装在头戴耳机中的扬声器)也耦合到框架120。在图2B中,壳体110的前部110a远离壳体110的基部110b旋转,使得容纳在壳体110中的一些部件是可见的。显示器140可以安装在壳体110的前部110a的面向内的侧上。当前部110a相对于壳体110的基部110b处于关闭位置时,透镜150可以在用户的眼睛和显示器140之间安装在壳体110中。在一些实现中,HMD 100可以包括,包括各种传感器的感测***160和包括处理器190和各种控制***设备的控制***170,以促进HMD 100的操作。
在一些实现中,HMD 100可以包括用于捕获静止和运动图像的相机180。由相机180捕获的图像可以用于帮助跟踪用户和/或手持电子设备102在现实世界中的物理位置或者相对于虚拟现实环境的物理环境,和/或可以在显示器140上在直通模式下显示给用户,允许用户临时离开虚拟现实环境并返回物理环境而无需移除HMD 100或否则改变HMD 100的配置以将壳体110移出用户的视线。
在一些实现中,HMD 100可包括凝视跟踪设备165以检测并跟踪用户的眼睛注视。凝视跟踪设备165可以包括例如图像传感器165A或多个图像传感器165A,以捕获用户眼睛的图像,例如,用户眼睛的特定部分,例如,瞳孔,以检测并跟踪用户凝视的方向和移动。在一些实现中,HMD 100可以被配置为使得检测到的凝视被处理为要被转换为沉浸式虚拟体验中的对应交互的用户输入。
图3中示出了在虚拟现实环境中提供缩放的***的框图。图3的***还可以可操作地用于至少部分地基于虚拟现实环境(例如,图1的虚拟现实环境15)中用户(或其描绘)的比例变化来修改虚拟物理定律或虚拟物理定律的参数。该***可以包括与第二电子设备302通信的第一电子设备300。第一电子设备300可以是例如生成沉浸式虚拟现实环境的、如上面参考图1、2A和2B所述的HMD,并且第二电子设备302可以是例如如上面参考图1所述的手持电子设备102,其与第一电子设备300通信以促进用户与第一电子设备300生成的虚拟现实环境的交互。
第一电子设备300可以包括感测***360和控制***370,其可以分别类似于图2A和2B中所示的感测***160和控制***170。感测***360可包括一种或多种不同类型的传感器,包括例如光传感器、音频传感器、图像传感器、距离/接近传感器和/或其他传感器和/或传感器的不同组合,包括例如定位成检测和跟踪用户的眼睛注视的图像传感器,例如图2B中所示的凝视跟踪设备165。控制***370可以包括例如电源/暂停控制设备、音频和视频控制设备、光学控制设备、转换控制设备和/或其他这样的设备和/或设备的不同组合。取决于特定实现,感测***360和/或控制***370可以包括更多或更少的设备。包括在感测***360和/或控制***370中的元件可以例如在除了图2A和2B中所示的HMD 100之外的HMD内具有不同的物理布置(例如,不同的物理位置)。第一电子设备300还可以包括与感测***360和控制***370通信的处理器390、存储器380以及提供第一电子设备300与另一个外部设备(诸如例如,第二电子设备302)之间的通信的通信模块350。
第二电子设备302可以包括通信模块306,其提供在第二电子设备302与另一个外部设备(诸如例如,第一电子设备300)之间的通信。除了在第一电子设备300和第二电子设备302之间提供数据交换之外,通信模块306还可以被配置为发射如上所述的射线或光束。第二电子设备302可以包括感测***304,其包括:图像传感器和音频传感器,例如包括在例如相机和麦克风中;惯性测量单元;触摸传感器,例如包括在手持电子设备或智能电话的触敏表面中;以及,其他这样的传感器和/或不同的传感器组合。处理器309可以与第二电子设备302的感测***304和控制器305通信,控制器305访问存储器308并控制第二电子设备302的整体操作。
如图3所示,***可以包括缩放模块310和虚拟物理模块312。缩放模块310和/或虚拟物理模块312可以包括在第一电子设备300和/或第二电子设备302中和/或可以被配置为与第一电子设备300和/或第二电子设备302通信。
缩放模块310可以被配置为改变用户相对于如上所述的虚拟现实环境的比例。换句话说,缩放模块310可以被配置为处理虚拟现实环境内的用户的缩放的方面。
虚拟物理模块312可以被配置为至少部分地基于由缩放模块310实现的用户的比例变化来修改物理定律和/或与物理定律相关联的参数。虚拟物理模块312可以被配置为实现与比例相关联的一个或多个条件。虚拟物理模块312可以被配置为响应于用户的比例访问存储在存储器380、存储器308和/或另一存储器(未示出)中的一个或多个物理定律和/或参数。
如上所述,控制器(例如,上述手持电子设备102)可以由用户操纵以在虚拟现实环境中进行交互和导航。在一些实现中,光源108可以将射线或光束指向要由用户选择的虚拟物品。当在虚拟现实环境中导航时,用户可以使用由手持电子设备102发射的这种类型的光束来识别例如用户要选择的虚拟特征和/或位置。
图4A至4C描绘了虚拟现实环境400和虚拟现实环境400内的用户402的比例(在各种视图中示为402A、402B和402C)。图4A至4C示出了来自观看虚拟环境400和用户402的第三方的视角以便于描述。可以在虚拟现实***(未示出)内创建虚拟现实环境400并将其显示给用户402,在这种情况下,从用户402的第一人称视角观看虚拟环境400及其中的对象,而不会看到整个他们自己。虚拟现实***可以包括例如HMD 100、便携式手持电子设备102、第一电子设备300和/或第二电子设备302。
经由HMD 100向用户显示的虚拟现实环境400可以与作为巨型用户402A(在图4A中表示)、中等用户402B(在图4B中表示)和/或行人用户402C(在图4C中表示)的用户402相关联。另外,虚拟环境400可以包括例如诸如桥410的物理结构的一个或多个图形表示。在各种视图中改变(例如,缩放)用户402的尺寸,而不改变虚拟环境400中的桥410的尺寸。
在该示例中,具有至少一个巨型物理参数的巨型虚拟物理定律可以与巨型用户402A相关联,并且可以应用于在巨型用户402A和桥410之间的交互。巨型用户402A和桥410之间的这种交互可以由便携式电子设备102、第一电子设备300或第二电子设备302发起或指导。同样,具有至少一个中等物理参数的中等虚拟物理定律可以与中等用户402B相关联,并且可以应用于在中等用户402B和桥410之间的交互。对于另外的示例,具有至少一个行人物理参数的行人虚拟物理定律可以与行人用户402C相关联,并且可以应用于行人用户402C和桥410之间的交互。
在该示例中,巨型用户402A、中等用户402B和行人用户402C是在缩放之后在不同时间与桥410交互的相同用户。在一些实现中,巨型用户402A、中等用户402B和行人用户402C可以是同时或基本上同时与桥410或其周围环境交互的不同用户。
在一些实现中,行人用户402C可以例如通过缩放模块310被修改为中等用户402B或巨型用户402A。可以至少部分地基于巨型用户402,中等用户402B和行人用户402C相对尺寸或比例来确定巨型、中等和行人物理参数。例如,这样的巨型、中等和行人物理定律可能包括牛顿力学、量子力学、电磁学等的近似。巨型、中等和行人物理参数可能包括质量、摩擦力、持续时间、密度,此处仅仅给出几个例子。在一个示例中,可以通过虚拟物理模块312为巨型用户402A、中等用户402B或行人用户402C至少部分地基于这些用户相对于桥410的相应尺寸来修改桥410的质量。通过修改大的物理定律、中等物理定律或小的物理定律来修改质量。还可以通过修改巨型物理参数、中等物理参数或行人物理参数来修改质量。也可以通过修改物理定律和物理参数的组合来修改质量。
在一些实现中,可以基于用户的尺寸来修改对象(例如,桥410)(或应用于对象)的物理定律。例如,在某些情况下,可以基于用户的尺寸为上述用户之一修改桥410的物理属性。换句话说,桥410可以被修改,使得其具有足够的质量和强度以供行人用户402C走过桥。同样地,桥410可以被修改,使得它对于巨型用户402A具有更小的质量和更大的刚性。对于巨型用户402A,桥410可以以类似于玩具或微型桥将响应于与巨型用户402A的交互的方式响应。例如,如果桥410翻倒,对于巨型用户402A,这种运动将看起来相当快地发生并且可能翻倒而不会看起来扭曲或扭转,就像桥410是小玩具一样。然而,对于行人用户402C,桥410可能看起来相当缓慢地翻倒,好像桥是典型的人行天桥或例如其他类似的现实世界结构,并且类似地可能在翻倒时表现出扭曲或扭转。巨型用户402A、中等用户402B和/或行人用户402C中的每一个可以与桥410进行各自的交互,桥410至少部分地由相应的巨型、中等或行人虚拟物理定律或与虚拟物理定律相关联的相应的巨型、中等或行人参数控制,使得桥410可以看起来至少部分地基于巨型用户402A、中等用户402B和/或行人用户402C的相对比例来正确响应。应注意,以上仅是说明性示例,并且所要求保护的主题不应限于所提供的示例。
图5描绘了根据示例实施例的流程图。关于图5,虚拟现实***可以向用户提供虚拟现实环境(框510)。在该示例中,虚拟现实***可以是以上关于其他示例实施例描述的任何***、设备和/或组件。这样的虚拟现实环境可以允许用户例如通过使用上述***或设备之一在虚拟现实环境内与一个或多个对象交互。在该示例中,虚拟现实***可以至少部分地基于用户的比例将虚拟物理定律和/或与虚拟物理定律相关联的虚拟物理参数应用于虚拟现实环境中的对象(框520)。以这种方式,可以向用户呈现与对象的期望交互,使得对象看起来具有一组期望的属性并且以期望的方式表现,例如用户和类似的现实世界对象之间的现实世界交互的近似。
在该示例中,虚拟现实***可以至少部分地基于用户比例的改变来修改虚拟物理定律和/或虚拟物理参数(框530)。例如,用户的比例最初可以是正常尺寸的并且可以被改变,使得用户是大尺寸的,例如正常尺寸的两倍。在该示例中,可以至少部分地修改虚拟物理定律和/或虚拟物理参数,使得对象可以以期望的方式与大尺寸用户交互。在该示例中,虚拟现实***可以将修改的虚拟物理定律和/或修改的虚拟物理参数应用于虚拟现实环境中的对象(框540)。例如,修改的虚拟物理定律和/或修改的虚拟物理参数可以在虚拟现实环境中向用户提供至少某种程度的逼真的交互,其近似于现实世界中的类似交互。在一些实现中,可以基于修改的虚拟物理定律和/或修改的虚拟物理参数在HMD中显示用户和/或对象的表示(和/或其交互)。
图6描绘了根据示例实施例的流程图。关于图6,虚拟现实***可以确定用户相对于虚拟现实环境的比例(框610)。例如,虚拟现实***可以基于用户相对于虚拟现实环境中的对象的尺寸(例如,更小的尺寸、正常尺寸或更大的尺寸)来确定比例。虚拟现实环境可以包括关联的虚拟物理定律。虚拟现实***还可以基于用户相对于虚拟现实环境的比例的变化来确定虚拟物理定律的参数(框620)。例如,可以至少基于用户尺寸的相对比例(例如,较小尺寸、正常尺寸或较大尺寸)来确定物理参数。然后,虚拟现实***可以将虚拟物理定律和参数应用于用户与虚拟现实环境之间的交互(框630)。以这种方式,可以调整物理定律或物理定律的参数,使得无论尺寸如何,提供给虚拟现实***的信息仍然可以看起来和/或感觉适合于用户。
图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上的存储器。
高速控制器608管理计算设备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。此外,可以提供与处理器752通信的外部接口762,以便实现设备750与其他设备的近区域通信。外部接口762可以例如在一些实现中提供有线通信,或者在其他实现中提供无线通信,并且还可以使用多个接口。
存储器764存储计算设备750内的信息。存储器764可以实现为计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器774并将其通过扩展接口772连接到设备750,扩展接口772可以包括例如SIMM(单列直插存储器模块)卡接口。这样的扩展存储器774可以为设备750提供额外的存储空间,或者还可以存储设备750的应用程序或其他信息。具体地,扩展存储器774可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器774可以被提供为设备750的安全模块,并且可以用允许安全使用设备750的指令编程。此外,可以通过SIMM卡提供安全应用以及附加信息。例如以不易被破解的方式在SIMM卡上放置识别信息。
存储器可以包括例如闪存和/或NVRAM存储器,如下所述。在一个实现中,计算机程序产品有形地体现在信息载体中。该计算机程序产品包含指令,其在执行时执行一种或多种方法,例如上述方法。信息载体是计算机或机器可读介质,例如存储器764、扩展存储器774或处理器752上的存储器,其可以例如通过收发器768或外部接口762接收。
设备750可以通过通信接口766无线通信,通信接口766可以在必要时包括数字信号处理电路。通信接口766可以提供各种模式或协议下的通信,各种模式或协议例如是GSM语音呼叫、SMS、EMS或MMS消息传输、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这种通信可以例如通过射频收发器768发生。此外,可以例如使用蓝牙、Wi-Fi或其他这样的收发器(未示出)发生短程通信。另外,GPS(全球定位***)接收器模块770可以向设备750提供附加的导航和位置相关的无线数据,其可以由在设备750上运行的应用适当地使用。
设备750还可以使用音频编解码器760可听地进行通信,音频编解码器760可以从用户接收语音信息并将其转换为可用的数字信息。音频编解码器760同样可以例如通过例如在设备750的手持机中的扬声器为用户产生可听声音。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备750上运行的应用生成的声音。
计算设备750可以以多种不同的形式实现,如图中所示。例如,它可以实现为蜂窝电话780。它还可以实现为智能电话782、个人数字助理或其他类似移动设备的一部分。
这里描述的***和技术的各种实现可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现可以包括在可编程***上可执行和/或可解释的一个或多个计算机程序中的实现,该可编程***包括至少一个可编程处理器,其可以是专用的或通用的,耦合以从下述部分接收数据和指令,以及向下述部分发送数据和指令:存储***、至少一个输入设备和至少一个输出设备。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如这里所使用的,术语“机器可读介质”、“计算机可读介质”指的是用于以下的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)):向可编程处理器提供机器指令和/或数据,可编程处理器包括将机器指令作为机器可读信号接收的机器可读介质。术语“机器可读信号”指的是用于向可编程处理器提供机器指令和/或数据的任何信号。
方法步骤可以由执行计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。方法步骤也可以由专用逻辑电路执行,并且装置可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适合于处理计算机程序的处理器包括通用和专用微处理器以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可包括至少一个用于执行指令的处理器和一个或多个用于存储指令和数据的存储器设备。通常,计算机还可以包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备接收数据或将数据向其传输,或者用于存储数据,大容量存储设备例如是磁盘、磁光盘或光盘。适用于实现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,这里描述的***和技术可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和键盘以及用户可以通过其向计算机提供输入的指针设备(例如,鼠标或轨迹球)的计算机上实现。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
这里描述的***和技术可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件或者这种后端、中间件或前端组件的任何组合的计算***(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或Web浏览器与这里描述的***和技术的实现交互)中实现。***的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算***可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系由于在各自的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
在一些实现中,图7中描绘的计算设备可以包括与虚拟现实(VR头戴设备790)对接的传感器。例如,包括在图7中描绘的计算设备750或其他计算设备上的一个或多个传感器可以向VR头戴设备790提供输入或者一般而言向VR空间提供输入。传感器可包括但不限于触摸屏、加速计、陀螺仪、压力传感器、生物识别传感器、温度传感器、湿度传感器和环境光传感器。计算设备750可以使用传感器来确定在VR空间中计算设备的绝对位置和/或检测到的旋转,然后可以将其用作对于VR空间的输入。例如,计算设备750可以作为虚拟对象并入VR空间,虚拟对象例如是控制器、激光指示器、键盘、武器等。当并入VR空间时由用户定位计算设备/虚拟对象可以允许用户定位计算设备以在VR空间中以某些方式查看虚拟对象。例如,如果虚拟对象表示激光指示器,则用户可以操纵计算设备,就好像它是实际的激光指示器一样。用户可以左右、上下、以圆圈等移动计算设备,并以与使用激光指示器类似的方式使用该设备。
在一些实现中,包括在计算设备750上或连接到计算设备750的一个或多个输入设备可以用作对于VR空间的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板、指针设备、鼠标、轨迹球、操纵杆、相机、麦克风、具有输入功能的块(bud)或耳机、游戏控制器或其他可连接的输入设备。当计算设备被并到VR空间中时与包括在计算设备750上的输入设备交互的用户可以导致在VR空间中发生特定动作。
在一些实现中,计算设备750的触摸屏可渲染为VR空间中的触摸板。用户可以与计算设备750的触摸屏交互。例如,在VR头戴设备790中,交互被渲染为VR空间中的渲染的触摸板上的移动。渲染的运动可以控制VR空间中的对象。
在一些实现中,计算设备750上包括的一个或多个输出设备可以向VR空间中的VR头戴设备790的用户提供输出和/或反馈。输出和反馈可以是视觉的、触觉的或音频的。输出和/或反馈可以包括但不限于振动、点亮和熄灭或闪烁和/或闪动一个或多个灯或闪光灯、发出警报、播放铃声、播放歌曲以及播放音频文件。输出设备可包括但不限于振动马达、振动线圈、压电设备、静电设备、发光二极管(LED)、闪光灯和扬声器。
在一些实现中,计算设备750可以表现为计算机生成的3D环境中的另一个对象。用户与计算设备750的交互(例如,旋转、摇动、触摸触摸屏、在触摸屏上滑动手指)可以被解释为与VR空间中的对象的交互。在VR空间中的激光指示器的示例中,计算设备750在计算机生成的3D环境中显示为虚拟激光指示器。当用户操纵计算设备750时,VR空间中的用户看到激光指示器的移动。用户从计算设备750上或VR头戴设备790上的VR空间中与计算设备750的交互接收反馈。
在一些实现中,除了计算设备之外的一个或多个输入设备(例如,鼠标、键盘)也可以在计算机生成的3D环境中渲染。渲染的输入设备(例如,渲染的鼠标、渲染的键盘)可以在VR空间中用作渲染以控制在VR空间中的对象。
计算设备700旨在表示各种形式的数字计算机,例如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备750旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的组件、它们的连接和关系以及它们的功能意味着仅仅是示例性的,并不意味着限制本文档中描述和/或要求保护的本发明的实现。
在以下示例中总结了进一步的实现:
示例1:一种方法,包括:至少部分地基于在虚拟现实环境中用户相对于对象的比例来确定物理参数;基于所述物理参数,将物理定律应用于在虚拟现实环境中所述用户与所述对象之间的交互;以及,至少部分地基于所述用户和所述对象之间的比例的相对变化来修改所述物理参数。
示例2:示例1的方法,其中,所述用户,以模拟所述用户与所述对象之间的现实世界交互的方式,与由与所述物理定律相关联的所述物理参数确定的所述对象进行交互。
示例3:示例1或2的方法,还包括将所述用户从第一尺寸缩放到第二尺寸。
示例4:示例3的方法,其中,所述第二尺寸小于所述第一尺寸。
示例5:示例3的方法,其中,所述第二尺寸大于所述第一尺寸。
示例6:示例3至5之一的方法,其中,当所述用户被缩放到所述第二尺寸时,与具有所述第二尺寸的所述用户的所述物理定律相关联的所述物理参数不同于与具有所述第一尺寸的所述用户的所述物理定律相关联的所述物理参数。
示例7:示例1或2的方法,还包括将所述对象从第一尺寸缩放到第二尺寸。
示例8:示例7的方法,其中,所述第二尺寸小于所述第一尺寸。
示例9:示例7的方法,其中,所述第二尺寸大于所述第一尺寸。
示例10:示例7的方法,其中,当所述对象被缩放到所述第二尺寸时,与具有所述第二尺寸的所述对象的所述物理定律相关联的所述物理参数不同于与具有所述第一尺寸的对象的所述物理定律相关联的所述物理参数。
示例11:示例1至10之一的方法,还包括在所述虚拟现实环境内的多个用户,所述多个用户基本上同时相对于所述对象进行交互。
示例12:示例1至11之一的方法,其中,所述物理定律包括多个物理参数。
示例13:示例1至12之一的方法,其中,所述物理定律包括重力、摩擦力、力、质量、加速度、重量、密度、矢量速度、动量或标量速度中的至少一个的数学表示。
示例14:一种方法,包括:
确定用户相对于虚拟现实环境的比例,所述虚拟现实环境具有相关联的虚拟物理定律;基于所述用户相对于所述虚拟现实环境的所述比例的变化来确定所述虚拟物理定律的参数;以及,将所述虚拟物理定律和所述参数应用于所述用户与所述虚拟现实环境之间的交互。
示例15:示例14的方法,其中,所述用户具有与所述虚拟现实环境内的对象进行交互的多个比例大小。
示例16:示例15的方法,其中,所述多个比例大小包括第一比例和第二比例。
示例17:示例14至16之一的方法,其中,所述虚拟物理定律的所述参数具有基于等式确定的量值,所述等式取决于所述用户的所述比例。
示例18:一种***,包括:被配置用于生成虚拟环境的计算设备,所述计算设备包括:存储可执行指令的存储器;以及处理器,该处理器被配置为执行所述指令,以使所述计算设备:至少部分地基于在虚拟现实环境中用户相对于对象的比例来确定物理参数,基于所述物理参数,将物理定律应用于在所述虚拟现实环境中所述用户与所述对象之间的交互,以及至少部分地基于所述用户和所述对象之间的比例的相对变化来修改所述物理参数。
示例19:示例18所述的***,其中,所述虚拟物理定律的所述参数具有基于等式确定的量值,所述等式取决于所述用户的所述比例。
已经描述了许多实施例。然而,应该理解,在不偏离本说明书的精神和范围的情况下,可以进行各种修改。
另外,图中描绘的逻辑流程不需要所示的特定顺序或顺序次序来实现期望的结果。另外,可以提供其他步骤,或者可以从所描述的流程中消除步骤,并且可以将其他组件添加到所描述的***或从所述***中移除。因此,其他实施例在所附权利要求的范围内。
虽然已经如本文所述示出了所描述的实现的某些特征,但是本领域技术人员现在将可想到许多修改、替换、改变和等同物。因此,应理解,所附权利要求旨在覆盖落入所述实现的范围内的所有这些修改和变化。应当理解,它们仅作为示例而非限制来呈现,并且可以进行形式和细节上的各种改变。除了互斥组合之外,本文描述的装置和/或方法的任何部分可以以任何组合进行组合。这里描述的实现可以包括所描述的不同实现的功能、组件和/或特征的各种组合和/或子组合。

Claims (19)

1.一种用于虚拟现实环境中的运动的方法,包括:
至少部分地基于在虚拟现实环境中用户相对于所述虚拟现实环境中的对象的比例来确定所述对象的物理参数;
基于所述物理参数,将物理定律应用于在虚拟现实环境中所述用户与所述对象之间的交互;以及
至少部分地基于所述用户和所述对象之间的比例的相对变化来修改所述物理参数。
2.根据权利要求1所述的方法,其中,所述用户以模拟所述用户与所述对象之间的现实世界交互的方式,与由与所述物理定律相关联的所述物理参数确定的所述对象进行交互。
3.根据权利要求1所述的方法,还包括将所述用户从第一尺寸缩放到第二尺寸。
4.根据权利要求3所述的方法,其中,所述第二尺寸小于所述第一尺寸。
5.根据权利要求3所述的方法,其中,所述第二尺寸大于所述第一尺寸。
6.根据权利要求3所述的方法,其中,当所述用户被缩放到所述第二尺寸时,与具有所述第二尺寸的所述用户的所述物理定律相关联的所述物理参数不同于与具有所述第一尺寸的所述用户的所述物理定律相关联的所述物理参数。
7.根据权利要求1所述的方法,还包括将所述对象从第一尺寸缩放到第二尺寸。
8.根据权利要求7所述的方法,其中,所述第二尺寸小于所述第一尺寸。
9.根据权利要求7所述的方法,其中,所述第二尺寸大于所述第一尺寸。
10.根据权利要求7所述的方法,其中,当所述对象被缩放到所述第二尺寸时,与具有所述第二尺寸的所述对象的所述物理定律相关联的所述物理参数不同于与具有所述第一尺寸的对象的所述物理定律相关联的所述物理参数。
11.根据权利要求1所述的方法,还包括在所述虚拟现实环境内的多个用户,所述多个用户基本上同时相对于所述对象进行交互。
12.根据权利要求1所述的方法,其中,所述物理定律包括多个物理参数。
13.根据权利要求1所述的方法,其中,所述物理定律包括重力、摩擦力、力、质量、加速度、重量、密度、矢量速度、动量或标量速度中的至少一个的数学表示。
14.一种用于虚拟现实环境中的运动的方法,包括:
确定用户相对于所述虚拟现实环境的比例,所述虚拟现实环境具有相关联的虚拟物理定律;
基于所述用户相对于所述虚拟现实环境的所述比例的变化来确定所述虚拟物理定律的参数;以及
将所述虚拟物理定律和所述参数应用于所述用户与所述虚拟现实环境之间的交互。
15.根据权利要求14所述的方法,其中,所述用户具有与所述虚拟现实环境内的对象进行交互的多个比例大小。
16.根据权利要求15所述的方法,其中,所述多个比例大小包括第一比例和第二比例。
17.根据权利要求14所述的方法,其中,所述虚拟物理定律的所述参数具有基于等式确定的量值,所述等式取决于所述用户的所述比例。
18.一种用于虚拟现实环境中的运动的***,包括:
计算设备,被配置用于生成所述虚拟现实环境,所述计算设备包括:
存储可执行指令的存储器;以及
处理器,被配置为执行所述指令,以使所述计算设备:
至少部分地基于在虚拟现实环境中用户相对于所述虚拟现实环境中的对象的比例来确定所述对象的物理参数,
基于所述物理参数,将物理定律应用于在所述虚拟现实环境中所述用户与所述对象之间的交互,以及
至少部分地基于所述用户和所述对象之间的比例的相对变化来修改所述物理参数。
19.根据权利要求18所述的***,其中,所述物理定律的所述参数具有基于等式确定的量值,所述等式取决于所述用户的所述比例。
CN201780012977.7A 2016-05-12 2017-05-12 与在虚拟现实环境中的运动有关的***和方法 Active CN108700944B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662335417P 2016-05-12 2016-05-12
US62/335,417 2016-05-12
PCT/US2017/032449 WO2017197287A1 (en) 2016-05-12 2017-05-12 System and method relating to movement in a virtual reality environment

Publications (2)

Publication Number Publication Date
CN108700944A CN108700944A (zh) 2018-10-23
CN108700944B true CN108700944B (zh) 2021-08-17

Family

ID=58765983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780012977.7A Active CN108700944B (zh) 2016-05-12 2017-05-12 与在虚拟现实环境中的运动有关的***和方法

Country Status (4)

Country Link
US (1) US10242505B2 (zh)
EP (1) EP3455700A1 (zh)
CN (1) CN108700944B (zh)
WO (1) WO2017197287A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10242505B2 (en) 2016-05-12 2019-03-26 Google Llc System and method relating to movement in a virtual reality environment
US11543879B2 (en) * 2017-04-07 2023-01-03 Yoonhee Lee System for communicating sensory information with an interactive system and methods thereof
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
EP4062381A4 (en) 2019-11-18 2023-11-29 Elbit Systems Ltd. SYSTEM AND METHOD FOR MIXED REALITY

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1231753A (zh) * 1996-08-14 1999-10-13 挪拉赫梅特·挪利斯拉莫维奇·拉都色夫 追踪并显示使用者在空间的位置与取向的方法,向使用者展示虚拟环境的方法以及实现这些方法的***
CN101466444A (zh) * 2006-04-18 2009-06-24 世界高尔夫巡回公司 自动改动虚拟装备模型
CN102356373A (zh) * 2009-03-20 2012-02-15 微软公司 虚拟对象操纵
CN103853423A (zh) * 2012-11-28 2014-06-11 三星电子株式会社 基于物理引擎提供用户界面的方法及相关电子设备
CN104077023A (zh) * 2013-03-28 2014-10-01 索尼公司 显示控制设备、显示控制方法以及记录介质
CN104820498A (zh) * 2015-05-14 2015-08-05 周谆 手部虚拟饰品试戴的人机交互方法和***
CN105183172A (zh) * 2015-09-28 2015-12-23 联想(北京)有限公司 一种信息处理方法及电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423554A (en) 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
JPH0898212A (ja) 1994-09-21 1996-04-12 Namco Ltd 立体視画像生成方法及びその表示装置
US20020022516A1 (en) 2000-07-17 2002-02-21 Forden Christopher Allen Advertising inside electronic games
CN1270279C (zh) 2001-05-21 2006-08-16 世嘉股份有限公司 图像处理装置和游戏装置
NL1035303C2 (nl) 2008-04-16 2009-10-19 Virtual Proteins B V Interactieve virtuele reality eenheid.
US9898675B2 (en) 2009-05-01 2018-02-20 Microsoft Technology Licensing, Llc User movement tracking feedback to improve tracking
US20110107216A1 (en) * 2009-11-03 2011-05-05 Qualcomm Incorporated Gesture-based user interface
US8896631B2 (en) * 2010-10-25 2014-11-25 Hewlett-Packard Development Company, L.P. Hyper parallax transformation matrix based on user eye positions
US20130335405A1 (en) * 2012-06-18 2013-12-19 Michael J. Scavezze Virtual object generation within a virtual environment
US10518188B2 (en) * 2014-06-30 2019-12-31 Microsoft Technology Licensing, Llc Controlling physical toys using a physics engine
US10242505B2 (en) 2016-05-12 2019-03-26 Google Llc System and method relating to movement in a virtual reality environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1231753A (zh) * 1996-08-14 1999-10-13 挪拉赫梅特·挪利斯拉莫维奇·拉都色夫 追踪并显示使用者在空间的位置与取向的方法,向使用者展示虚拟环境的方法以及实现这些方法的***
CN101466444A (zh) * 2006-04-18 2009-06-24 世界高尔夫巡回公司 自动改动虚拟装备模型
CN102356373A (zh) * 2009-03-20 2012-02-15 微软公司 虚拟对象操纵
CN103853423A (zh) * 2012-11-28 2014-06-11 三星电子株式会社 基于物理引擎提供用户界面的方法及相关电子设备
CN104077023A (zh) * 2013-03-28 2014-10-01 索尼公司 显示控制设备、显示控制方法以及记录介质
CN104820498A (zh) * 2015-05-14 2015-08-05 周谆 手部虚拟饰品试戴的人机交互方法和***
CN105183172A (zh) * 2015-09-28 2015-12-23 联想(北京)有限公司 一种信息处理方法及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
虚拟现实环境中的物理模拟及物理引擎应用的研究;有人,陈定方;《湖北工业大学学报》;20080415;第23卷(第2期);第7-9,22页 *

Also Published As

Publication number Publication date
CN108700944A (zh) 2018-10-23
EP3455700A1 (en) 2019-03-20
WO2017197287A1 (en) 2017-11-16
US10242505B2 (en) 2019-03-26
US20170330386A1 (en) 2017-11-16

Similar Documents

Publication Publication Date Title
US11043031B2 (en) Content display property management
US20200379576A1 (en) Context-sensitive hand interaction
CN109643159B (zh) 在增强和/或虚拟现实环境中利用六自由度控制器操纵虚拟对象
CN107667328B (zh) 用于在增强和/或虚拟现实环境中跟踪手持设备的***
US9367136B2 (en) Holographic object feedback
CN108073276B (zh) 增强和/或虚拟现实环境的拖拽虚拟元件
US10620720B2 (en) Input controller stabilization techniques for virtual reality systems
CN108700944B (zh) 与在虚拟现实环境中的运动有关的***和方法
CN108697935B (zh) 虚拟环境中的化身
JP6392911B2 (ja) 情報処理方法、コンピュータ、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6227732B1 (ja) 仮想空間において入力を支援するための方法および装置、ならびに当該方法をコンピュータに実行させるプログラム
JP6495398B2 (ja) 仮想空間を提供するための方法、プログラム、および当該プログラムを実行するための情報処理装置
JP2019032844A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
CN109716395B (zh) 在虚拟现实中保持对象稳定性
JP2018153354A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
JP2018198080A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
Tecchia et al. Addressing the problem of Interaction in fully Immersive Virtual Environments: from raw sensor data to effective devices

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