3-D过渡的制作方法

文档序号:23980779发布日期:2021-02-20 09:33阅读:121来源:国知局
3-D过渡的制作方法
3-d过渡
[0001]
背景
[0002]
随着诸如头戴式显示设备之类的3-d渲染系统的使用变得越来越普遍,越来越多的用户可以参加经由增强现实(ar)技术、混合现实技术和/或虚拟现实(vr)技术显示内容的体验。除了娱乐场景外,越来越多的人正在实现这些体验以用于特定目的(例如,针对新员工培训的员工培训体验、针对潜在服务(诸如假期或如一副滑雪板等物品)的购买者的市场营销体验等)。在各种情况下,ar、vr等中所显示的场景通常可具有快速过渡。
[0003]
本文所做出的本公开正是关于这些和其他技术挑战而提出的。


技术实现要素:

[0004]
在三维环境中的场景和应用之间的过渡有时会由于突然过渡或者在场景之间的可能变暗或空虚(blank)的时间段期间使人迷失方向和/或令人不快。例如,在某些情形中,过渡可能是不和谐的切割(jarring cut)或藉由黑色的淡入淡出(fade through black)。在诸如沉浸式虚拟现实系统等三维环境中,通常在2d环境中的过渡期间使用的闪屏(splash screen)不是适当的解决方案,因为其不覆盖用户的整个视场。本文描述的技术提供了一种平台,该平台使用三维闪屏和过渡技术来在三维环境中的场景和应用之间创建平滑的过渡。在一个实施例中,平台可以将闪屏像素渲染至三维显示器,直到新应用准备好开始渲染。一旦新应用准备就绪,新应用便可承担对渲染三维显示器的控制。通过以这种方式管理场景过渡,平滑的过渡可以在场景和应用之间被渲染,同时避免了不和谐的切割或对藉由黑色的淡入淡出的需要。
[0005]
公开了针对用于在三维环境中的显示图像之间生成过渡的技术的各种实施例,该过渡降低了在所显示的图像之间的改变中的突变(abruptness)程度,从而为用户观看提供了更平滑的体验。该技术可以适用于三维显示器(诸如虚拟现实显示器和增强现实显示器)的领域,其中对虚拟现实头戴式设备(headset)上所显示的内容的突然改变会给用户造成不舒服的体验。在一个实施例中,全景宽范围3d图像被渲染。当过渡至用于不同体验的图像时,初始全景宽范围3d图像的一些方面会淡出,并且用于新体验(例如,用于游戏体验)的图像可能会使其相关联的像素淡入全景宽范围3d图像的所显示的图像中。这能够虑及图像过渡,该图像过渡不包括在用于两种不同体验的场景之间过渡时抹去(blank out)显示器的任何部分或全部。
[0006]
提供本发明内容以便以简化的形式介绍以下在具体实施方式述中进一步描述的概念的选集。本发明内容不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。例如术语“技术”可指代上述上下文和通篇文档中所准许的(诸)系统、(诸)方法、计算机可读指令、(诸)模块、算法、硬件逻辑和/或(诸)操作。
[0007]
附图简述
[0008]
具体实施方式是参考附图进行描述的。不同附图中的相同附图标记指示类似或相同的元素。
[0009]
图1是解说根据一些实施例的3d环境中的屏幕的示例的示图。
[0010]
图2是解说根据一些实施例的3d环境中的屏幕的示例的示图。
[0011]
图3是解说根据一些实施例的3d环境中的屏幕的示例的示图。
[0012]
图4是解说其中可以实现所公开的技术的示例系统的示图。
[0013]
图5是解说根据本文描述的技术的数据通信的示例的示图。
[0014]
图6是解说涉及场景管理的操作的示例流程图的示图。
[0015]
图7是解说涉及场景管理的操作的示例流程图的示图。
[0016]
图8是解说涉及场景管理的操作的示例流程图的示图。
具体实施方式
[0017]
许多系统能够渲染3-d环境,诸如虚拟现实(vr)系统和增强现实(ar)系统。vr系统的示例可以是由用户穿戴以生成沉浸式vr环境的头戴式显示设备(hmd)或类似设备。典型地,hmd是穿戴在用户头部上的便携式设备。显示器位于离眼睛的短距离处,并提供图像以供用户观看和交互。一些hmd提供混合vr和ar环境,在混合vr和ar环境中,用户能够看到由计算设备创建的图像以及一些现实-实况(real-live)图像。其他hmd提供沉浸式体验,其对用户阻止外部世界,同时在hmd显示器上提供虚拟世界。
[0018]
用户的身体移动可以被转换成3d环境中的对应移动。一个应用所渲染的事物的边界和另一应用所渲染的边界方面的差异可能会导致沉浸式体验中的矛盾或扰乱以及在用户接近和/或遇到应用之间的过渡时的迷失方向。例如,当在应用之间进行过渡时,沉浸式vr环境可能会变得漆黑,或者被渲染在可能变得不和谐或迷失方向的突然过渡中。例如,从一个应用或场景的虚拟世界到另一应用或场景的虚拟世界的平滑或优雅的过渡可以避免用户在体验突然过渡时可能发生的迷失方向、晕动病或其他影响。
[0019]
所公开的实施例描述了用于在3d渲染环境(诸如虚拟现实平台(例如其中头戴式设备(hmd)或其他vr显示器被使用))中管理图像的显示的方法、装置、系统和计算机程序。尽管本文在被配置成渲染3d vr环境的hmd的上下文中描述了许多示例,但应理解,可以在其中场景在3d环境中被过渡的任何环境中实现所公开的技术。将显而易见的是,可以在没有一些或所有这些具体细节的情况下实践本公开的实施例。在其他实例中,没有详细描述众所周知的过程操作,以免不必要地使本公开的实施例模糊不清。
[0020]
描述了用于(诸如在虚拟现实(vr)环境中)生成三维过渡的各种技术。在各种实施例中,提供了一种平台,该平台被配置成生成一个或多个过渡或闪屏,以促成解决上面描述的缺点的过渡。附加地,各实施例还克服了与以下相关的问题:简单地应用在二维环境中当应用正被启动或过渡时所使用的过渡。如本文所使用的,要被渲染的应用或场景可以被称为目标应用或场景。当前渲染的应用或场景可以被称为当前应用或场景。
[0021]
在一些实施例中,平台可以被配置成在3d显示器上渲染闪屏像素,直到目标应用准备好开始渲染或者目标场景准备被渲染。一旦应用或场景准备就绪,目标应用便承担对闪屏像素的渲染,从而虑及在应用和游戏之间的平滑过渡并且避免不和谐的切割或对藉由黑色的淡入淡出的需要。
[0022]
所描述的技术虑及在显示图像之间的过渡,该过渡降低了所显示的图像之间的突然改变的程度,从而为正在观看vr或其他环境的用户提供更平滑的体验。该技术可以适用于vr显示器,其中对vr显示器上所显示的事物的突然改变会给用户造成不舒适的体验。在
一个实施例中,全景宽范围3d图像可被提供。在从当前应用或场景到目标应用或场景的过渡序列期间,当前应用或场景可淡出或在其他方面被以渐变的方式过渡。在一个实施例中,当前应用或场景可以是用于vr环境的启动环境,其可以类似于2d系统中的开始菜单。启动环境可以包括全景宽范围3d图像。当过渡被初始化至目标应用时,全景宽范围3d图像可淡出或在其他方面被以渐变的方式过渡。用于目标应用的图像可使其相关联的像素淡入或在其他方面被以渐变的方式过渡,以允许用于目标应用的新的vr环境被以不包括以下各项的方式渲染:使vr显示器空白、使vr显示器变得漆黑、或在其他方面在应用之间的观看体验之间渲染突然过渡。
[0023]
在一个实施例中,过渡环境可以包括诸如图1中所解说的经渲染空间。在所解说的示例中,描绘了包括具有玻璃窗的房间的启动环境100。启动环境100进一步包括选择菜单110,其使得能够选择各种应用和环境。尽管本公开在经渲染的房间环境的上下文中描绘了示例实施例,但是应当理解,可在体现所公开的过渡技术的同时实现其他经渲染的环境。
[0024]
在许多vr环境中,空白或黑色环境在新应用被加载或应用正在过渡时的时间段期间被渲染。在vr设置中,到空白或黑色环境的改变可能会给用户造成不愉快的体验。例如,当在应用过渡时突然面对黑色环境时,可能导致用户感到患有幽闭恐惧。当在同一应用内的会话或设置之间进行过渡时,也可能发生这种不合宜的过渡。令人不快的过渡可能会阻止用户自由地过渡至新环境和应用、阻止用户在应用之间进行多任务处理、或者阻止用户自由地使用应用,因为用户想要将令人不快的过渡的频率最小化。这可能会降低应用的有用性,因为用户可能会不那么频繁地启动应用或降低其总体使用量。此外,用于渲染过渡的一些方法可能会利用大量的系统资源,诸如处理和存储资源。所描述的技术解决了所描述的缺点,从而提供vr环境之间的平滑且无缝的过渡,同时是以一种高效的方式进行的。
[0025]
在诸如二维游戏控制台之类的许多二维设置中,当诸如游戏之类的新应用被启动时,闪屏被渲染以向用户指示游戏的启动已经开始。闪屏用于向用户通知进程已经到位,同时提供视觉保持模式,该视觉保持模式虑及在游戏正被加载和启动时的更平滑的视觉过渡。
[0026]
在vr环境中,闪屏不足以提供平滑的过渡,因为三维环境必须被渲染,该三维环境不服从跨360度视场的单个闪屏。在图1所解说的实施例中,经渲染的房间的外部通过窗是可见的。在一个实施例中,外部世界可以是藉由数个窗或屏幕(其在该示例中被示为六个窗)表示的无限立方体。当游戏或其他应用被选择时,立方体可以在窗上被渲染以发起过渡的指示。渲染可以按渐变序列发生,使得过渡可以以提供最低限度地可感知过渡的有序方式发生。在一些实施例中,门户120可被渲染,该门户120渲染目标应用或场景的预览。例如,基于与目标应用或目标场景有关的数据,目标应用或目标场景的表示可以在门户中被生成或访问并被渲染,其可以向用户提供对目标已被正确地选择的进一步指示。图1还解说了前景部分130和背景部分140,其可以如本文中进一步描述的那样被不同地过渡。
[0027]
参考图2,解说了根据一些实施例的对3-d场景进行过渡的示例。在图2中,示出了在经由选择菜单110选择了视频游戏应用之后的启动环境100。在一个实施例中,背景200的各部分在所选视频游戏应用正被加载和启动时的过渡时间段期间被过渡。在一些实施例中,表示至目标应用或场景的过渡的图形数据可被访问。例如,数个图形文件可以被存储并且可经由文件系统访问,该数个图形文件表示目标应用或场景的可能选择。在一个实施例
中,安装在本地设备上的每个应用可以具有表示用于该应用的过渡场景的相关联的图形文件。如果相关联的图形文件不可用,则默认图形文件可被使用。在一些实施例中,背景200的各部分可以使用渐进式方案(progressive scheme)(诸如线性插值)来被过渡至目标场景。在其他实施例中,背景200的各部分可以使用另一渐进式方案(诸如使用将承担对渲染的控制的游戏或应用的状态)来被过渡至目标场景。例如,目标游戏或应用在正被加载和准备方面的进度的百分比或其他指示可被使用。
[0028]
当目标应用准备好承担对vr显示器的渲染时,平台可以允许游戏或应用承担对渲染的控制。在一些实施例中,平台可以提供关于用户的状态(诸如用户的位置和视线方向)的数据。其他信息也可被提供,以使游戏或应用能够基于用户的当前状态来无缝地承担对渲染的控制。在许多情形中,vr系统平台和游戏或应用可能正在运行不同的3-d引擎,并且该平台可提供足够的信息以使目标应用的3-d引擎能够接管渲染,而没有突然的过渡或者黑色或空白显示器的时段。更一般地,所公开的技术可被用来促成vr环境中任意3d体验之间的过渡。例如,所公开的技术可以当在网页和其他超链接文档之间导航时被使用。附加地,所公开的技术可被用来促成同一应用内的场景之间的过渡,其中避免场景之间的突然过渡应被减少或避免。
[0029]
在一实施例中,在3d体验之间的过渡期间,诸如图1所示的环境之类的环境可以在vr显示器中被渲染。在本公开中,这样的环境可以被称为“天空盒(skybox)”。将在vr环境中被启动和渲染的应用可以被称为目标应用。在目标应用正被加载和准备启动时的过渡时间期间,指示目标应用的视觉伪像可能会在天空盒的各部分中被渲染。在一个实施例中,视觉伪像可以在空间上、时间上或两者的组合上被以渐变的方式渲染。
[0030]
在一个实施例中,指示代表性闪屏的数据可以由目标应用提供。代表性闪屏可以被过渡至启动环境100的各部分上。在一实施例中,代表性闪屏的各部分可被选择以供在启动环境100上进行渲染。例如,代表性闪屏的随机选择可以在启动环境100中被渐进地渲染。在其他实施例中,代表性闪屏的一部分可以在启动环境100中被渲染。过渡时间段可以被估计,并且代表性闪屏的附加部分可以在该过渡时间段期间在启动环境100中被渲染。在一些实施例中,背景140可以例如使用线性插值或另一渐进式渲染方案来被过渡以渲染代表性闪屏。
[0031]
在过渡被渲染时,用户的头部跟踪信息可以通过平台被提供给目标应用(或正渲染目标应用的引擎)。其他信息可根据需要来被提供给目标应用。目标应用可以提供用于启动目标应用的可执行文件的位置、用于在天空盒上进行渲染的闪屏数据、以及用于启动环境100的其他信息。在一些实施例中,应用编程接口(api)可被用来接收对信息的请求并提供所请求的信息。附加地或任选地,诸如虚拟存储之类的存储库可被用来提供关于用户状态、系统状态的信息以及其他相关信息。
[0032]
参考图3,解说了示例屏幕300,该示例屏幕300解说了在所选视频游戏应用已被加载并且渲染控制已被转移到该视频游戏应用之后的所选视频游戏应用的初始屏幕。当伪像200正在图2中的过渡环境100中被渲染时,至屏幕300的过渡可以以无缝的方式来实现,从而在过渡期间保持稳定的视觉环境,同时渲染渐变的改变以指示过渡正在进行。此外,伪像200可以至少在视觉上指示所选视频游戏应用,其向用户提供对正被启动的应用是正确的应用的指示。
[0033]
图4解说了根据一个实施例的用户204与头戴式设备(hmd)116进行交互。在该图中,用户204被描绘为穿戴hmd 116,其可以包括计算设备114和显示器118,该显示器118被配置成在用户的眼睛附近渲染图像。
[0034]
在一个实施例中,计算设备114可以执行可在hmd 116上显示的应用。计算设备114可因而与hmd 116交互以显示用于应用的图像。操作的处理可以在计算设备114上、在hmd 102上、或者在计算设备106和hmd 116两者中完成。
[0035]
在图1的实施例中,hmd 116可以与其他设备无线地(例如,wifi、蓝牙等)通信。在其他实施例(未示出)中,hmd 16可以经由网络(例如,互联网)进行连线。例如,hmd 116可以与提供数据或其他服务的网络上的服务器通信。在一些实施例中,hmd 116可以是自主设备,并且应用可以直接在hmd上执行,而无需外部设备来运行该应用。
[0036]
在一个实施例中,(诸)相机可以耦合到hmd116。相机可以是将图像发送到计算设备的联网相机。相机104可以是以下一者或多者:常规图像相机、立体相机(即,具有从玩游戏区域捕捉图像的两个或更多个透镜)、红外相机、深度相机、3d相机等。
[0037]
用相机拍摄的图像可以被处理以跟踪hmd 116的位置和移动。另外,这些图像还可被用来跟踪用户或用户特征(例如,用户的头部、用户的嘴、用户的手、用户的躯干等)的、控制器的、或玩游戏区域中的任何其他元素的位置和运动。
[0038]
在一个实施例中,用户可以经由语音识别来提供命令,该命令可以由计算设备114经由藉由一个或多个话筒的声音捕捉来执行,或者可以由在一个实施例中也包括一个或多个话筒的hmd 116来执行。在另一实施例中,用户204还可以经由被计算设备114分析和识别的姿势来提供输入。
[0039]
需要注意,图4所解说的实施例仅作为示例被提供。其他实施例可以利用不同的设备、不同数目的设备、在不同设备之间具有更多或更少的交互、使用其他通信方式。因此,图4中所解说的实施例不应被解读为排他性或限制性的,而是说明性的。
[0040]
计算设备112和头戴式显示设备116可以包括处理器120,其示例在本文中进一步描述。而且,计算设备112和头戴式显示设备116可以包括相应的计算机可读介质124以及通信接口130,其示例在本文中进一步描述。计算设备112和头戴式显示设备116彼此协调并通信以执行场景管理模块132。场景管理模块132提供在场景之间无缝地切换的功能性,因此用户102可以经由头戴式显示设备116的显示器118在三维沉浸式环境中观看三维场景。
[0041]
头戴式显示设备116的示例包括但不限于:occulus rift、google daydream view、microsoft hololens(微软全息透镜)、htc vive、sony playstation vr、samsung gear vr、google cardboard、samsung hmd odyssey、dell visor、hp头戴式设备、lenovo explorer、acer头戴式设备、asus windows混合现实头戴式设备、或任何增强现实、混合现实和/或虚拟现实设备。
[0042]
相应地,在一些实例中,头戴式显示设备116可以不包括处理器或计算机可读介质。而是,头戴式显示设备116可以包括输出设备,该输出设备被配置成渲染存储在计算设备112上的数据以供显示。例如,头戴式显示设备116可以绑定到计算设备112。因此,计算设备112和头戴式显示设备116的接口130可以被配置成经由有线和/或无线通用串行总线(“usb”)连接、蓝牙连接、高清晰度多媒体接口(“hdmi”)连接等等进行通信。
[0043]
在管理场景时,场景管理模块132可以提供控件以选择和启动应用,或者基于用户
输入来选择应用内的各种控件。如本文所使用的,“控件”可以包括基于gui元素和用户输入(例如,用户选择或对gui元素的点击)之间的交互而被激活的所显示的图形用户接口(gui)元素(例如,按钮、对象等)。控件可替代地被配置成接受和/或检测其他形式的输入,诸如语音命令或姿势。因而,控件可以配置成接收用户输入,但不一定被显示为gui元素。
[0044]
计算机可读介质124还可以包括:过渡模块134,该过渡模块134被配置成促成场景过渡,如本文中进一步描述的;以及数据模块136,该数据模块136被配置成访问数据并将数据发送到启动的应用(诸如用户状态)。
[0045]
计算设备114可以被配置成管理和实现作为3d体验的一部分的场景改变,并且可以包括例如游戏控制台、台式计算机、膝上型计算机、游戏设备、平板计算机、移动电话、启用网络的电视、物联网(iot)设备、媒体播放器、或其他计算设备。在一些实现中,计算设备包括输入/输出(i/o)接口,其使得能够与输入/输出设备进行通信,输入/输出设备诸如包括外围输入设备(例如,游戏控制器、键盘、鼠标、笔、语音输入设备、触摸输入设备、姿势输入设备等等)的用户输入设备和/或包括外围输出设备(例如,显示器、触摸屏、打印机、音频扬声器、触觉输出设备等等)的输出设备。
[0046]
计算设备114可以进一步被配置成经由诸如因特网等网络、诸如内联网等专用网络、或者专用网络和公用网络的某种组合进行通信。网络可包括任何类型的有线和/或无线网络,包括但不限于局域网(lan)、广域网(wan)、卫星网络、有线网络、wi-fi网络、wimax网络、移动通信网络(例如,3g、4g等等)或它们的任何组合。网络可利用通信协议,包括基于分组的和/或基于数据报的协议,诸如网际协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)或其他类型的协议。网络还可以包括促成网络通信的数个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、转发器等等。
[0047]
在各种实现中,计算设备和头戴式显示设备的接口可以被配置成根据使用有线和/或无线连接的个人局域网(pan)进行操作并在其上进行通信。例如,pan连接可以根据红外数据协会(“irda”)、bluetooth(蓝牙)、有线和/或无线通用串行总线(“usb”)、z-波(z-wave)、zigbee、或者其他短射程无线技术进行操作。
[0048]
如本文中所使用的,“处理器”可表示例如cpu型处理单元、gpu型处理单元(包括虚拟gpu(vgpu))、现场可编程门阵列(fpga)、数字信号处理器(dsp)、或在一些实例中可由cpu驱动的其他硬件逻辑组件。例如,但非限制,可被使用的硬件逻辑组件的说明性类型包括专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。
[0049]
如本文所使用的,“计算机可读介质”可以存储能由处理器执行的指令和/或数据(例如,用于场景、模板或对象的模型数据)。计算机可读介质还可存储能由外部处理单元(诸如外部cpu、外部gpu)和/或能由外部加速器(诸如fpga型加速器、dsp型加速器、或任何其他内部或外部加速器)执行的指令。在各个示例中,至少一个cpu、gpu和/或加速器被合并到计算设备中,而在一些示例中,cpu、gpu和/或加速器中的一个或多个在计算设备外部。
[0050]
计算机可读介质可包括计算机存储介质和/或通信介质。计算机存储介质包括以下在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实现的一者或多者:易失性存储器、非易失性存储器、和/或其他持久和/或辅助计算机存储介质、可移动和不可移动计算机存储介质。因而,计算机存储介质包括有形和/或物理形式的存储器,该存储器被包括在设备中和/或作为设备的一部分或外置于设备的硬件
组件中,该存储器包括但不限于:随机存取存储器(ram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、相变存储器(pram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存、压缩碟只读存储器(cd-rom)、数字多功能盘(dvd)、光卡或其他光存储介质、磁带盒、磁带、磁盘存储、磁卡或其他磁存储设备或介质、固态存储器设备、存储阵列、网络附连存储、存储区域网络、托管的计算机存储或者可被用来存储并维护供计算设备访问的信息的任何其他存储存储器、存储设备和/或存储介质。
[0051]
与计算机存储介质相反,通信介质可在诸如载波之类的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文中所定义的,计算机存储介质不包括通信介质。也即,计算机存储介质不包括由已调制数据信号、载波或所传播的信号本身单独构成的通信介质。
[0052]
图4中所解说的模块仅仅是示例,并且被用来实现场景过渡平台的模块的数目可变化为更高或更低。即,本文所描述的与所解说的模块相关联的功能性可以由一个设备上的较少数目的模块或较大数目的模块来执行或者跨多个设备分布。
[0053]
参考图5,解说了用于实现如本文所公开的场景管理技术的过程和数据流的示例。天空盒400可以由第一3-d引擎422渲染。在一些实施例中,第一3-d引擎422可以由主机系统提供。在图5中还解说了与目标应用410结合地渲染的屏幕,其可以由第二3-d引擎424渲染。在一些实施例中,第二3-d引擎424可以由目标应用410提供。当目标应用410被选择来被启动时,屏幕数据432可以由第一3-d引擎422访问。屏幕数据432可以被存储在本地并且可经由文件系统访问,被远程存储并且可经由网络访问,由第二3-d引擎424提供,或者被以其他方式变得对第一3-d引擎422可用。屏幕数据432可以包括例如用于所选目标应用410的闪屏数据。第一3-d引擎422可以在用于场景过渡的时间段期间使用屏幕数据432在天空盒400上渲染伪像。
[0054]
第一3-d引擎422可以向第二3-d引擎424提供跟踪数据434,以虑及目标应用410基于用户的状态而开始渲染。跟踪数据434可以包括用户的当前观看位置以及vr设备的位置和取向。例如,跟踪数据434可以包括穿戴vr设备时用户头部的六个自由度,诸如x、y、z坐标以及俯仰、滚转和偏航。
[0055]
第一3-d引擎422还可以向第二3-d引擎424提供图形数据434,以虑及目标应用410基于天空盒400的当前视图和已被渲染的伪像而开始渲染。图形数据436可以由第二3-d引擎424使用以包括(如果期望的话)天空盒400的任何部分以及当第二3-d引擎424承担对渲染任务的控制时第二3-d引擎424可以包括的相关联的伪像。
[0056]
图6、7和8描绘了方法的流程图。应当理解,本文公开的方法的操作是不按任何特定次序来呈现的,并且用(诸)替换次序来执行部分或全部操作是可能的且可构想的。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
[0057]
还应当理解,所解说的方法可在任何时间结束且不必完整地执行。这些方法的部分或全部操作和/或基本等效的操作可通过执行计算机存储介质上所包括的计算机可读指令来执行,如在下文中所定义的。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文被用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据
结构、算法等等。计算机可读指令可以在各种系统配置上被实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、可穿戴计算设备、基于微处理器的可编程消费电子产品、其组合等等。
[0058]
因此,应当理解,本文所描述的逻辑操作被实现为:(1)一系列计算机实现的动作或运行在计算系统上的程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。相应地,本文中所描述的逻辑操作被以不同方式称为状态、操作、结构设备、动作、或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
[0059]
附加地,本文描述的操作可被实现为计算机实现的动作的序列或在计算系统(例如,计算设备112、头戴式显示设备116和/或网络提供商的设备)上运行的程序模块。
[0060]
图6是解说根据本公开的涉及管理三维环境中的场景过渡的操作的示例流程图600的示图。图6中的操作可例如由计算设备112、头戴式计算设备116和/或网络提供商的设备来执行,如上文关于图1-5中的任一者所描述的。
[0061]
在操作602,第一三维场景被渲染。
[0062]
在操作604,对第一三维场景将被第二三维场景替换的指示被接收到。
[0063]
在操作606,表示至第二三维场景的过渡的图形数据被接收到。在一些实施例中,图形数据可以包括表示目标应用的一个或多个图形文件。图形数据可以包括用于每个应用的经存储的数据集。在一些实施例中,图形数据可以根据需要由各种应用来更新。
[0064]
在操作608,第一三维场景使用图形数据来被过渡至第二三维场景。
[0065]
在一些实施例中,线性插值可被用来基于图形数据渐进地过渡第一三维场景。线性插值可包括基于第一三维场景与第二三维场景之间的插值来渲染中间像素。在一个实施例中,插值可被用来确定第一场景与第二场景之间的中间值。例如,第一场景与第二场景之间的中间帧可以使用一个或多个插值算法来生成。算法可近似于在第一场景与第二场景之间的动态平均或空间平均。在一些实施例中,第一场景与第二场景的值之间的步长值可以基于诸如用于承担对渲染第二场景以及后续场景的控制的进程的完成度或准备度之类的状态来确定。如本文中所使用的,用于承担对渲染第二场景的控制的进程可以被称为目标进程。例如,如果目标进程已完成25%的任务以准备承担对渲染的控制,则25%的步长值(或比例值)可被用于插值。
[0066]
在操作610,对渲染第二三维场景的控制被过渡至被配置成渲染第二三维场景的进程。在一些实施例中,渲染可以在目标进程指示其准备好承担控制时被过渡。在一些实施例中,控制是继将图形数据渲染在第一三维场景上之后被过渡的。附加地,第二三维场景可以至少部分地基于用户状态来被渲染。在一实施例中,过渡是在不渲染黑色或空白三维场景的情况下被执行的。
[0067]
在一些实施例中,指示用户状态的数据可以被发送到被配置成渲染第二三维场景的进程。第二三维场景至少部分地基于用户状态来被渲染。在一实施例中,指示用户状态的数据包括用户的三维位置和取向的数据,诸如三维坐标系中的坐标、以及诸如俯仰、滚转和偏航等取向。
[0068]
在一实施例中,第一三维场景包括前景元素和背景元素,并且过渡包括利用图形数据更新第一三维场景的背景元素的各部分。附加地,过渡进一步包括在对控制进行过渡
之前使前景淡出,其中该进程淡入新的前景。
[0069]
在一些实施例中,过渡包括基于第一三维场景和图形数据之间的线性插值来更新第一三维场景的各部分。在一个实施例中,过渡包括基于图形数据和对目标应用的加载的完成量的指示来按比例地更新第一三维场景的各部分。
[0070]
在一实施例中,指示第一三维场景的数据可以被发送到被配置成渲染第二三维场景的进程。被配置成渲染第二三维场景的进程可以被配置成在控制被过渡时渲染第一三维场景的各部分。
[0071]
在一些实施例中,包括第二三维场景的代表性渲染的门户在第一三维场景上被渲染。
[0072]
在一些实施例中,第一三维场景和第二三维场景是与应用相关联的不同场景。
[0073]
第一三维场景可以由第一3-d引擎渲染,而第二三维场景可以由第二3-d引擎渲染。
[0074]
图7是解说涉及管理三维环境中的场景的操作的示例流程图700的示图。在一些实施例中,图7中的操作可由计算设备112、头戴式计算设备116和/或网络提供商的设备来执行,如上文关于图1-5中的任一者所描述的。
[0075]
在操作702,第一三维场景在被配置成渲染三维环境的显示设备上被渲染。
[0076]
在操作704,对第一三维场景将被过渡至第二三维场景的指示被接收到。
[0077]
在操作706,表示第二三维场景的图形数据被接收到。
[0078]
在操作708,第一三维场景是通过在对第一三维场景的前景部分进行过渡之前对第一三维场景的背景部分进行过渡来被过渡至第二三维场景的。
[0079]
在操作710,指示用户状态的数据被发送到被配置成渲染第二三维场景的进程。
[0080]
在操作712,响应于对该进程准备好渲染第二三维场景的指示,对渲染第二三维场景的控制被过渡至该进程。
[0081]
在一些实施例中,第一三维场景是被配置成接收指示用于启动目标应用的选择的用户输入的启动屏幕。附加地,第一三维场景可以与第一应用相关联,而第二三维场景可以与第二应用相关联。
[0082]
图8是解说涉及管理三维环境中的场景的操作的示例流程图800的示图。图8中的操作可由计算设备112、头戴式计算设备116和/或网络提供商的设备来执行,如上文关于图1-5中的任一者所描述的。
[0083]
在操作802,第一三维场景被渲染在显示器上。
[0084]
在操作804,表示第二三维场景的图形数据被接收到。
[0085]
在操作806,第一三维场景使用图形数据来被渐进地过渡至第二三维场景。
[0086]
在操作808,第二三维场景被渲染在显示器上。在一实施例中,第二三维场景可以至少部分地基于用于设备的用户的跟踪数据来被渲染。在一实施例中,第二三维场景可以继选择性渲染之后被渲染。
[0087]
在一些实施例中,第二三维场景可以通过与第一三维场景不同的进程来被渲染。附加地,对在显示器上进行渲染的控制可被过渡至渲染第二三维场景的进程。
[0088]
在一个实施例中,可以从渲染第二三维场景的进程接收图形数据。
[0089]
在一实施例中,渐进地过渡包括使用线性插值来过渡第一三维场景的背景部分。
[0090]
在一实施例中,第二三维场景是用于目标应用的开始屏幕。
[0091]
可鉴于以下示例条款来考虑本文提出的公开。
[0092]
示例条款a,一种系统,包括:
[0093]
一个或多个显示器,该一个或多个显示器被配置成渲染三维环境;
[0094]
至少一个处理器;以及
[0095]
存储指令的存储器,该指令在由该至少一个处理器执行时致使该设备执行包括以下的操作:
[0096]
在该显示器上渲染第一三维场景;
[0097]
接收对该第一三维场景将被第二三维场景替换的指示;
[0098]
接收表示至该第二三维场景的过渡的图形数据;
[0099]
使用该图形数据来从该第一三维场景过渡至该第二三维场景;
[0100]
以及
[0101]
将对渲染该第二三维场景的控制过渡至被配置成渲染该第二三维场景的进程。
[0102]
示例条款b,示例条款a的设备,进一步包括指令,该指令在由该至少一个处理器执行时致使该设备执行包括以下的操作:向被配置成渲染该第二三维场景的该进程发送指示用户状态的数据。
[0103]
示例条款c,示例条款b的设备,其中,该第一三维场景包括前景元素和背景元素,并且该过渡包括利用该图形数据更新该第一三维场景的背景元素的各部分。
[0104]
示例条款d,示例示例a至c中任一项的设备,其中,该过渡进一步包括在对该控制进行过渡之前使该前景淡出,其中该进程淡入新的前景。
[0105]
示例条款e,示例条款a至d中任一项的设备,其中,该过渡包括基于该第一三维场景与该图形数据之间的线性插值来更新该第一三维场景的各部分。
[0106]
示例条款f,示例条款a至d中任一项的设备,其中,该过渡包括基于该图形数据和对目标应用的加载的完成量的指示来按比例地更新该第一三维场景的各部分。
[0107]
示例条款g,示例条款a至f中任一项的设备,其中,指示该用户状态的该数据包括该用户的三维位置和取向的数据。
[0108]
示例条款h,示例条款a至g中任一项的设备,其中,该过渡是在不渲染黑色或空白三维场景的情况下被执行的。
[0109]
示例条款i,示例条款a至g中任一项的设备,进一步包括:向被配置成渲染该第二三维场景的该进程发送指示该第一三维场景的数据,其中被配置成渲染该第二三维场景的该进程被进一步配置成在该控制被过渡时渲染该第一三维场景的各部分。
[0110]
示例条款j,示例条款a至i中任一项的设备,进一步包括在该第一三维场景上渲染包括该第二三维场景的代表性渲染的门户。
[0111]
示例条款k,示例条款a至j中任一项的设备,其中,该第一三维场景和该第二三维场景是与应用相关联的不同场景。
[0112]
示例条款l,示例条款a至k中任一项的设备,其中,该第一三维场景由第一3-d引擎渲染,而该第二三维场景由第二3-d引擎渲染。
[0113]
尽管以上关于设备描述了示例条款a至l,但应理解,在本公开的上下文中,示例条款a至l的主题可以附加地或替代地被实现为方法或经由计算机可读存储介质来实现。
[0114]
示例条款m,一种方法,包括:
[0115]
在被配置成渲染三维环境的显示设备上渲染第一三维场景;
[0116]
接收对该第一三维场景将被过渡至第二三维场景的指示;
[0117]
接收表示该第二三维场景的图形数据;
[0118]
通过在对该第一三维场景的前景部分进行过渡之前对该第一三维场景的背景部分进行过渡来将该第一三维场景过渡至该第二三维场景;
[0119]
向被配置成渲染该第二三维场景的进程发送指示用户状态的数据;以及
[0120]
响应于对该进程准备好渲染该第二三维场景的指示,将对渲染该第二三维场景的控制过渡至该进程。
[0121]
示例条款n,示例条款m的方法,其中,该第一三维场景是被配置成接收指示用于启动目标应用的选择的用户输入的启动屏幕。
[0122]
示例条款o,示例条款m或示例条款n的方法,其中,该第一三维场景与第一应用相关联,而该第二三维场景与第二应用相关联。
[0123]
尽管以上关于方法描述了示例条款m至o,但应理解,在本公开的上下文中,示例条款m至o的主题可以附加地或替代地被实现为设备或经由计算机可读存储介质来实现。
[0124]
示例条款p,一种设备,包括:接口,该接口被配置成控制显示器,该显示器被配置成渲染三维环境;
[0125]
至少一个处理器;以及
[0126]
存储指令的存储器,该指令在由该至少一个处理器执行时致使该设备执行包括以下的操作:
[0127]
在该显示器上渲染第一三维场景;
[0128]
接收表示第二三维场景的图形数据;
[0129]
使用该图形数据来将该第一三维场景渐进地过渡至该第二三维场景;
[0130]
在该显示器上渲染该第二三维场景,其中该第二三维场景至少部分地基于用于该设备的用户的跟踪数据来被渲染。
[0131]
示例条款q,示例条款p的设备,其中,该第二三维场景是通过与该第一三维场景不同的进程来被渲染的,进一步包括将对在该显示器上进行渲染的控制过渡至渲染该第二三维场景的该进程。
[0132]
示例条款r,示例条款p或示例条款q的设备,其中,该图形数据是从渲染该第二三维场景的该进程接收的。
[0133]
示例条款s,示例条款p至q中任一项的设备,其中,该渐进地过渡包括使用线性插值来过渡该第一三维场景的背景部分。
[0134]
示例条款t,示例条款p至s中任一项的设备,其中,该第二三维场景是用于该目标应用的开始屏幕。
[0135]
尽管以上关于设备描述了示例条款p至t,但应理解,在本公开的上下文中,示例条款p至t的主题可以附加地或替代地被实现为方法或经由计算机可读存储介质来实现。
[0136]
虽然已经用对结构特征和/或方法动作专用的语言描述了各项技术,但是应该理解,所附权利要求不必限于所述的特征或动作。相反,这些特征和动作是作为实现这些技术的示例形式而描述的。
[0137]
示例过程的操作在单独的框中示出,并且参考这些框来概括。这些过程被示为逻辑框流,其每个框可表示可用硬件、软件或其组合实现的一个或多个操作。在软件的上下文中,这些操作表示储存在一个或多个计算机可读介质上的计算机可执行指令,这些指令在由一个或多个处理器执行时使得一个或多个处理器执行既定操作。一般而言,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的次序并不旨在解释为限制,并且任何数量的所述操作可以按任何次序执行、按任何次序进行组合、细分成多个子操作、和/或并行执行,以实现所描述的过程。可由与一个或多个设备相关联的资源(诸如一个或多个内部或外部cpu或gpu)和/或一件或多件硬件逻辑(诸如fpga、dsp或其他类型的加速器))来执行所描述的过程。
[0138]
上述所有方法和过程可以用由一个或多个通用计算机或处理器执行的软件代码模块来具体化,并且可经由这些软件代码模块来完全自动化。这些代码模块可以储存在任何类型的计算机可执行存储介质或其他计算机存储设备中。这些方法中的某些或全部可替代地用专用计算机硬件来具体化。
[0139]
除非另外具体声明,否则条件语言(诸如“能”、“能够”、“可能”或“可以”等等)应在上下文内被理解为表示某些示例包括而其他示例不包括特定特征、元素和/或步骤。因此,这样的条件语言一般并非旨在暗示某些特征、元素和/或步骤以任何方式对于一个或多个示例是必需的,或者一个或多个示例必然包括用于在有或没有用户输入或提示的情况下决定某些特征、元素和/或步骤是否包括在任何特定示例中或将在任何特定示例中被执行的逻辑。除非另外具体声明,应理解联合语言(诸如短语“x、y或z中至少一个”)表示项、词语等可以是x、y或z中的任一者、或其组合。
[0140]
本文所述和/或附图中描述的流程图中任何例程描述、元素或框应当被理解成潜在地表示包括用于实现该例程中具体逻辑功能或元素的一个或多个可执行指令的代码的模块、片段或部分。替代实现被包括在本文描述的示例的范围内,其中各元素或功能可被删除,或与所示出或讨论的顺序不一致地执行,包括基本上同步地执行或按相反顺序执行,这取决于所涉及的功能,如本领域技术人也将理解的。应当强调,可对上述示例作出许多变型和修改,其中的元素如同其他可接受的示例那样应被理解。所有这样的修改和变型本文旨在被包括在本公开的范围内并且由所附权利要求书保护。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1