三维环境创作和生成的制作方法

文档序号:19416178发布日期:2019-12-14 00:55阅读:347来源:国知局
三维环境创作和生成的制作方法



背景技术:

发布站点一直是共享和消费web上的信息的关键方式。存在使网站创建大众化的一些服务。然而,不存在解决创建实现三维(3d)内容的全部潜力的站点的问题的服务。随着创建和共享3d内容的日益增加的推动力,需要促进3d内容的创作和/或消费的工具和/或服务。

关于这些以及其他一般性考虑,已经描述了实施例。同样地,尽管已经讨论了相对具体的问题,但是应当理解,实施例不应当限于解决背景技术中识别的具体问题。



技术实现要素:

本公开的各方面涉及三维(3d)环境创作和生成。在示例中,可以使用一个或多个模型来创作3d环境,其中,可以使用创作应用来选择和定位模型的二维(2d)表示。模型可以包括一个或多个锚定点,当绘制3d环境时,所述锚定点可以被用于将所述模型与一个或多个其他模型缝合在一起。在另一示例中,模型可以包括一个或多个内容点,所述内容点可以被用于在3d环境内定位内容项。可以基于一个或多个模型以及与内容点相关联的内容来生成环境数据文件,由此创建可以被分发给其他计算设备的文件。

查看器应用可以被用于基于环境数据文件来生成3d环境。作为示例,所述查看器应用可以访问由环境数据文件所指示的模型并且基于缝合操作来绘制所述模型,以便创建所述模型的看似连续的组合。所述查看器应用还可以利用基于所述模型的内容点的内容来填充3d环境。因此,即使用户可能几乎没有或根本没有先前的3d设计经验,也有可能根据在本文中所公开的各方面来容易地创作3d环境。

提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下文的详细描述中进一步描述。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也并不旨在用于限制所要求保护的主题的范围。

附图说明

参考以下附图来描述非限制性和非穷举性示例。

图1图示了用于三维环境创作和生成的示例性系统的概览。

图2图示了用于使用二维表示来创作三维环境的示例性方法的概览。

图3图示了用于生成三维环境的示例性方法的概览。

图4图示了用于使用二维模型来创作三维环境的示例性用户界面的概览。

图5图示了三维环境内的示例性视图。

图6是图示可以利用其实践本公开的各方面的计算设备的示例性物理组件的框图。

图7a和图7b是可以利用其实践本公开的各方面的移动计算设备的简化框图。

图8是在其中可以实践本公开的各方面的分布式计算系统的简化框图。

图9图示了用于执行本公开的一个或多个方面的平板计算设备。

具体实施方式

在下文的详细描述中,参考形成其一部分的附图,并且在附图中通过图示的方式示出了特定实施例或示例。可以组合这些方面,可以利用其他方面,并且可以进行结构改变,而不不背离本公开。实施例可以被实践为方法、系统或设备。因此,实施例可以采取硬件实现方式、完全软件实现方式或者组合软件和硬件方面的实现方式的形式。因此,以下详细描述不应当被理解为限制性的,并且本公开的范围由所附权利要求以及其等同物来限定。

本公开的各方面涉及三维(3d)环境创作和生成。在示例中,可以使用创作应用来创作3d环境,其中,所述创作应用的用户可以以图形方式选择模型的二维(2d)表示,其可以被存储为环境数据文件。然后,随后可以使用所述环境数据文件来生成包括所选择的模型的3d绘制的3d环境。在一些示例中,不同类型的内容可以被嵌入或包含在3d环境中。示例性内容包括但不限于3d对象(例如3d模型、图形、形状等)或2d对象(例如文件、图像、演示、文档、网站、视频、远程资源等)以及其他内容。在示例中,3d环境可以是虚拟空间,诸如虚拟现实(vr)世界,或者可以是现实世界空间,其中内容可以被显示或分层在现实世界上,以及其他增强现实(ar)或vr技术。

然后,可以使用在诸如台式计算机或智能电话的计算设备上的查看器应用来消费根据在本文中所公开的各方面而创作的3d环境。在示例中,可以跨各种设备体验3d环境,范围从低端设备(例如,googlecardboard)到高端设备(例如,microsofthololens、oculousrift、htcvive等)。由于也能够使用台式或移动计算设备来生成相同的3d环境,因此可能不需要额外的开销(例如,传输所有必需的纹理、光照图、音频文件等)来生成3d环境。此外,查看器应用可以处理特定于设备或平台的特质,由此使这样的特质对于3d环境的最终用户和创作者两者均不可见。

3d环境可以包括一个或多个模型,其中,模型可以包括虚拟房间、虚拟场景或者虚拟世界的任何其他子部分。如上文所描述的,用户可以使用创作应用来选择、布置和/或定制一个或多个模型以创建3d环境。然后,可以将3d环境存储为环境数据文件,其中,所述环境数据文件可以存储与要包含在3d环境中的一个或多个模型和/或内容相关的信息。查看器应用可以被用于基于所述环境数据文件来绘制3d环境。所述查看器应用可以包括与由所述环境数据文件所使用的模型相关联的计算资源,使得所述环境数据文件不必包含这样的资源。在一些示例中,所述环境数据文件可以包括当绘制所述3d环境时所使用的计算资源,或者可以从服务器或其他远程位置取回的资源,以及其他示例。

当绘制3d环境时,所述查看器应用可以识别模型内的一个或多个锚定点,所述锚定点可以被用于将由所述环境数据文件指定的相邻或连接的模型缝合在一起成为3d环境。作为示例,模型可以包括入口锚定点和出口锚定点,其中,所述入口锚定点可以指示进入到所述模型中的门道或其他入口,并且所述出口锚定点可以指示离开所述模型的门道或其他出口。因此,当将多个模型(例如,相邻或连接的模型)缝合在一起时,可以使用第一模型的出口锚定点来定位第二模型的入口锚定点(并且通过扩展,第二模型),由此创建模型的连续组合。在一些示例中,锚定点可以指定方向,其中,入口锚定点的方向可以指向朝向所述模型,而出口锚定点的方向可以指向远离所述模型。

在某些方面中,内容点可以指示在3d环境内能够将内容放置在何处(例如,作为内容项)。在示例中,锚定点或内容点可以定义模型内的绘制位置。在各方面中,一个或多个锚定点可以被包括作为模型的一部分(例如,作为使用基本编号约定的零点对象),其可以由查看器应用或其他绘制器用于获得子项(例如,其他模型)以及将其附到锚定点。类似地,内容点可以被用于在所述模型内定位内容。因此,可以创建具有位于不同锚定点和/或内容点处的内容的3d环境,而不需要在绘制之前关于3d环境的信息。在一些示例中,创作3d环境的用户能够在3d环境内放置锚定点和/或内容点,而无需添加代码。在其他示例中,用户能够从模型添加、移动或删除内容点和/或锚定点。

在一些示例中,可以生成模型的集合,其中,可以将不同的房间类型预定义为所述集合的一部分。可以设计所述模型的集合,使得将模型与来自同一集合的另一模型缝合在一起可以形成看似连续的模型。在其他示例中,可以动态地或者以编程的方式来生成模型的各方面。在示例中,模型可以指示取决于可以利用其缝合的模型来替代某些方面。作为示例,第一模型可以指示可以利用门来代替墙壁或拱门,使得可以在门处将第二模型的入口点缝合到第一模型。将意识到,在不背离本公开的主旨的情况下,可以使用其他替换或模型生成技术。

图1图示了用于三维环境创作和生成的示例性系统100的概览。如所图示的,系统100包括计算设备102和104以及3d环境服务106。在示例中,计算设备102和104可以是各种计算设备中的任意计算设备,包括但不限于:移动计算设备、膝上型计算设备、平板计算设备或台式计算设备。在一些示例中,可以提供3d环境服务106作为协作、通信或生产力平台的一部分。将意识到,尽管将3d环境服务106和元件108-114图示为与计算设备102和/或104分离,但是元件108-114中的一个或多个元件可以由计算设备102和/或104来提供,以及其他示例。作为示例,计算设备102可以包括创作应用108,而计算设备104可以包括查看器应用110。

3d环境服务106包括创作应用108、查看器应用110、模型数据存储112以及创作环境数据存储114。根据在本文中所公开的各方面,创作应用108可以被用于创作3d环境。在示例中,创作应用108可以显示一个或多个3d模型的2d表示,其可以由用户选择、定位和/或定制以便创作3d环境。模型可以包括一个或多个内容点,用户可以使用所述内容点来将内容定位在3d环境内。在一些示例中,创作应用108可以提供各种主题,其中,模型可以与一个或多个主题相关联,或者可以基于用户的所选择的主题来改变或调整(例如,可以修改颜色、纹理、照明等)。在示例中,模型可以由多个主题来使用,其中,模型的几何方面中的至少一些(例如,布局、架构或地理特征等)可以不变,而模型的美观可以变化(例如,颜色方案、照明、音频等)。

创作应用108可以将创作的3d环境输出为环境数据文件,其中,所述环境数据文件可以包括与所选择的模型相关联的信息(例如,模型识别符、模型名称、模型类型等)、定位信息(例如,坐标、锚定点识别符等)、内容信息(例如,应当为一个或多个内容点显示哪些内容、待显示的内容、对内容的引用等)、定制资源(例如,定制纹理、声音等)以及其他信息。在一些示例中,创作应用108可以是基于web的应用,其中,用户的计算设备可以使用web浏览器来访问创作应用108。在其他示例中,创作应用108可以是可执行应用,其可以由用户的计算设备来取回和运行。

查看器应用110可以被用于基于环境数据文件来生成、查看、探索3d环境和/或与3d环境进行交互。在示例中,查看器应用110可以是基于web的应用,其中,用户的计算设备可以使用web浏览器来访问查看器应用110。在其他示例中,查看器应用110可以是可执行应用,其可以由用户的计算设备来取回和运行。根据在本文中所公开的各方面,查看器应用110可以评估环境数据文件以识别3d环境的一个或多个模型。如果环境数据文件引用了多个模型,则当绘制3d环境时可以将所述模型缝合在一起。查看器应用110可以基于由所述环境数据文件指定的内容在所述一个或多个模型的各个内容点处利用内容来填充所绘制的3d环境。在示例中,查看器应用110可以使用各种3d绘制引擎中的任意3d绘制引擎,并且可以在绘制3d环境时处理特定于设备和/或引擎的实施细节,使得所述环境数据文件的作者不需要熟悉特定于设备和/或引擎的特质。

模型数据存储112可以存储可以被用于创作和/或生成3d环境的一个或多个模型。在示例中,由模型数据存储112存储的模型可以与一个或多个主题相关联,使得创作应用108的用户可以选择主题并且可以被呈现有与所选择的主题相关联的模型。在一些示例中,模型的集合可以由模型数据存储112来存储,其中,可以将不同的房间类型预定义为所述集合的一部分。可以设计所述模型的集合,使得将模型与来自同一集合的另一模型缝合在一起可以形成看似连续的模型。在其他示例中,可以动态地或者以编程方式来生成由模型数据存储112所存储的模型的各方面。在示例中,模型可以指示取决于可以利用其缝合的模型来替代某些方面。作为示例,第一模型可以指示可以利用门来代替墙壁或拱门,使得可以在门处将第二模型的入口点缝合到第一模型。将意识到,在不背离本公开的主旨的情况下,可以使用其他替换或模型生成技术。

创作环境数据存储114可以存储一个或多个环境数据文件。在一些示例中,在本文中所使用的“环境数据文件”可以是文件系统上的文件、数据库中的条目,或者可以使用多种其他数据存储技术中的任意数据存储技术来存储。可以将由创作应用108创作的3d环境存储在创作环境数据存储114中。在创作应用108是本地运行的应用的示例中,可以从计算设备102和104中的一个计算设备接收环境数据文件的至少一部分,并且使用创作环境数据存储来存储。在一些示例中,查看器应用110可以从创作环境数据存储114中取回环境数据文件,所述环境数据文件与来自模型数据存储112的一个或多个模型相结合,可以被用于生成3d环境。在查看器应用是本地运行的应用的示例中,模型数据存储可以被存储在运行所述应用的设备本地和/或远程,并且可以从创作环境数据存储114中取回环境数据文件的至少一部分。在一些示例中,可以成块地流送或取回所述数据文件,以便减小带宽消耗和/或改善响应性。将意识到,在不背离本公开的主旨的情况下,可以使用其他数据存储和/或取回技术。

计算设备102和104的应用116和118分别可以是各种应用中的任意应用。在示例中,应用116和/或118可以是如上文所描述的创作应用,其中,计算设备102和/或104的用户可以使用所述应用来创作由环境数据文件所描述的3d环境。在一些示例中,所述环境数据文件可以由创作环境数据存储114来存储。在另一示例中,应用116和/或118可以是如上文所描述的查看器应用,其可以由计算设备102和/或104的用户用于查看、绘制和/或探索至少部分地由环境数据文件定义的3d环境。在其他示例中,计算设备102和/或104可以包括类似于模型数据存储112的模型数据存储和/或类似于创作环境数据存储114的创作环境数据存储。在示例中,硬件ar和/或vr设备(未描绘)可以被附接到计算设备102和/或104,并且被用于查看绘制的3d环境和/或与其接合。例如,可以使用vr或ar头戴式耳机。

图2图示了用于使用二维表示来创作三维环境的示例性方法200的概览。在示例中,方法200的各方面可以由计算设备(例如,图1中的计算设备102和/或104)来执行,或者可以由创作应用(例如,创作应用108)来执行。流程开始于操作202,在操作202处可以选择环境模板。所述环境模板可以定义3d环境的总体外观和/或感觉(例如,照明、颜色方案、纹理、声音、位置等)。例如,可以选择办公室模板,所述办公室模板能够被用于生成代表办公室的3d环境;可以选择花园模板来生成代表室外空间的3d环境,等等。

在选择环境模板后,流程继续进行到操作204,在操作204处可以接收模型选择。如在本文中所描述的,当创作3d环境时可以向用户呈现一个或多个模型。在一些示例中,可以呈现模型的集合,其中,来自所述集合的模型可能已经被设计为与来自所述集合的另一模型缝合在一起,由此生成看似连续的模型。作为示例,在集合中的模型可以具有相似的颜色、纹理、对象比例或主题等。在各方面中,3d环境可以包括一个或多个不同的模型(例如,房间、场景等)。

流程进行到操作206,在操作206处可以在所选择的模型中选择内容点。如上文所描述的,模型可以包括一个或多个内容点,所述内容点可以被用于在模型内的不同位置处显示或提供内容。在选择内容点时,可以生成菜单,所述菜单显示可以位于所选择的内容点处的不同类型的内容。作为示例,用户可以选择与3d对象、视频、图像、文档、演示、电子表格、对象集合等相关的内容。在操作206处所显示的菜单可以操作用于接收用户输入,所述用户输入包括对将定位在所选择的内容点处的一种或多种类型的内容的选择。在一些示例中,可以单独地或者一起选择多个内容点,使得内容可以与在操作206处所选择的模型的多个内容点相关联。

在各个方面中,3d环境可以包括多个互连模型。流程继续进行到确定208,其中,确定是否应当将额外模型添加到3d环境。在示例中,所述确定可以包括确定用户是否已经提供了应当添加另一模型的指示。除了接收对新模型的选择之外,还可以接收模型相对于一个或多个现有模型的放置。在一方面中,用户界面元件可以位于针对现有模型的锚定点附近。在选择用户界面元件时,可以显示菜单,所述菜单图示了能够在锚定点处被连接到现有模型的模型的类型。可选模型可以具有个体方案,并且在各个方面中可以具有多个不同的变型(例如,没有门、一扇门、两扇门、圆形、正方形、室内、室外等)。所述菜单可以操作用于接收来自菜单的对模型的选择。一旦接收到选择,就可以在锚定点将新模型连接到现有模型。如果选择了额外模型,则流程分支为“是”并且返回到操作204。然后,流程可以在操作204与操作208之间循环,由此向3d环境添加用户可能所需的任意数量的模型。

然而,如果没有额外的房间要添加,则流程分支到“否”以到操作210。在操作210处,可以生成描述创作的3d环境的环境数据文件。在示例中,所述环境数据文件可以存储与一个或多个所选择的模型和/或为所述模型的内容点所选择的内容相关的信息。根据在本文中所公开的各方面,查看器应用可以使用所述环境数据文件来绘制3d环境。在一些示例中,所述环境数据文件可以包括在绘制3d环境时所使用的计算资源,或者可以从服务器或其他远程位置取回的资源,以及其他示例。

移至操作212,可以存储所述环境数据文件。存储所述环境数据文件可以包括生成一个或多个输出文件或数据库中的条目,以及其他存储技术。在一些示例中,可以将所述环境数据文件提供给创作环境数据存储以供其他用户访问,诸如图1中的创作环境数据存储114。流程在操作212处终止。因此,方法200允许缺乏技术3d经验的用户来设计和创作3d环境。

图3图示了用于生成三维环境的示例性方法300的概览。在示例中,方法300的各方面可以由计算设备(例如,图1中的计算设备102和/或104)来执行,或者可以由查看器应用(例如,查看器应用110)来执行。流程开始于操作302,在操作302处可以取回环境数据文件。可以从本地或远程数据存储中取回所述环境数据文件。在一些示例中,可以从创作环境数据存储(诸如图1中的创作环境数据存储114)中取回所述环境数据文件。在一些示例中,初始可以仅取回所述环境数据文件的一部分,而随后的部分可以根据需要或者基于可用的计算资源来取回,以及其他示例。

流程进行到操作304,在操作304处可以在所取回的环境数据文件中识别模型。在示例中,可以通过模型识别符、模型名称等来指定所述模型。在另一示例中,可以将所述模型与其他信息相关联,包括但不限于入口或出口的数量或者主题。在一些示例中,可以基于模型与3d环境中用户的位置的接近度,或者基于获取用于绘制模型所需资产的预期时间,以及其他标准,来从所述环境数据文件中选择模型。

在操作306处,可以在3d环境中绘制模型的3d表示。绘制所述模型可以包括访问与所述模型相关联的资源。在示例中,所述资源可以被本地或远程地存储,或者其组合。在一些示例中,可以使用第三方绘制引擎来绘制所述环境。在一些示例中,可以在绘制模型之前或期间调节或修改模型。作为示例,可以根据在本文中所公开的各方面来动态地更新入口和/或出口。在另一示例中,可以改变模型的颜色、照明或纹理。将意识到,可以使用多种绘制技术中的任意绘制技术而不会背离本公开的主旨。

移至操作308,可以利用由环境数据文件指示的内容来填充所述模型的内容点。作为示例,可以为文档、网页或其他二维内容生成内容的2d表示。在另一示例中,可以将3d对象绘制为浮置在模型中或者被放置在基座上,以及其他内容。所述内容的至少一部分可以由所述环境数据文件来存储,可以在设备上的其他位置本地存储,或者可以从远程位置取回。

在确定310处,可以确定所述环境数据文件是否包含另一模型。在一些示例中,所述确定还可以包括评估可用的计算资源,其中,流程可以在确定310处暂停,使得计算资源可以专用于绘制3d环境的其他部分,以及其他操作。如果确定所述环境数据文件不包含另一模型,则流程分支“否”到操作316,在操作316处可以将绘制的3d环境呈现给用户。在一些示例中,可以在方法300中更早地向用户呈现至少部分绘制的环境。在一些示例中,可以将用户初始地放置在3d环境中的欢迎室或者预定义的位置处。流程在操作316处终止。

然而,如果在确定310处确定所述环境数据文件包括额外模型,则流程替代分支“是”到操作312,在操作312处可以从环境数据文件中识别下一模型。在示例中,可以通过模型识别符、模型名称等来指定所述模型。在另一示例中,可以将所述模型与其他信息相关联,包括但不限于入口或出口的数量或者主题。在一些示例中,可以基于模型与3d环境中用户的位置的接近度,或者基于获取用于绘制模型的所需的资产的预期时间,以及其他标准,来从环境数据文件中选择所述模型。

流程进行到操作314,在操作314处可以将新识别出的模型与先前的模型缝合在一起。在示例中,可以识别这两个模型的锚定点,并且将所述锚定点用于确定应当绘制下一模型的位置。例如,可以识别先前模型的出口锚定点,并且将所述出口锚定点用于确定针对新模型的入口锚定点的位置。在其他示例中,可以调节模型(例如,利用门代替墙壁、细化纹理、改变缩放等)。将意识到,在不背离本公开的主旨的情况下,可以执行其他操作来缝合两个模型。流程然后移至操作306,其中,根据来自操作314的缝合确定,可以在3d环境中绘制新模型。然后,基于新识别出的模型,流程继续进行操作308和310。最终,将不存在用于绘制的额外模型,并且流程将如上文所描述地在操作316处终止。

图4图示了用于使用二维模型来创作三维环境的示例性用户界面400的概览。在用户界面400中示出的示例性3d环境包括三个不同的模型,在当前示例中,其是房间:房间402、404和406。在示例中,星号426可以指示在首先绘制3d环境时用户的视角的初始位置。在一些示例中,所述初始位置能使用用户界面400来移动,而在其他示例中,“欢迎”房间类型可以指定用户在3d环境中的初始位置。

如所图示的,房间402、404和406包括一个或多个内容点,诸如内容点416。内容点416被图示为复选标记,由此指示内容与内容点416相关联。相反,内容点408被图示为暗加号(与灰色的不相关联内容点相比),以指示当前选择了内容点408。响应于该选择,可以显示菜单410,菜单410显示不同类型的可用内容。将意识到,尽管菜单410被图示为提供三个内容选项,但是可以选择各种内容中的任意内容,如上文进一步详细讨论的。在经由菜单410接收到对可用内容类型之一的选择时,所选择的内容可以被定位在内容点408处。

锚定点418、420、422和424可以指示针对房间402、404和406的锚定点。尽管在最终绘制3d环境时锚定点可能是不可见的,但是用户界面400可以显示入口锚定点418和424以及出口锚定点418和422,以便图示3d环境的流程并且提供关于房间402、404和406如何装配在一起的指示。

用户界面400还可以包括一个或多个用户界面元件,其用于在现有模型的连接点处提供对新模型的添加。例如,用户界面元件412可操作用于接收添加新房间的选择。在用户界面元件412处接收到选择时,可以显示房间菜单414。房间菜单414可以显示能够在连接点处连接的一种或多种不同类型的房间。在房间菜单414处接收到对房间的选择时,可以将新房间添加到3d环境的显示的2d表示中。尽管在本文中讨论了示例性房间和模型,但是将意识到,可以使用各种模型和/或房间类型中的任意一种,而不背离本公开的主旨。

图5图示了三维环境内的示例性视图500。在示例中,视图500可以是根据在本文中所公开的各方面基于环境数据文件来生成的视图。视图500可以是3d环境的模型(例如,图4中的房间402)内的用户的视角,使得3d环境的作者可能已经指定内容502和504应当在模型的内容点处呈现给用户。

图6-9和相关联的描述提供了可以在其中实践本公开的各方面的各种操作环境的讨论。然而,关于图6-9图示和讨论的设备和系统是出于示例和图示的目的,而不是限制可以用于实践在本文中所描述的本公开的各方面的大量计算设备配置。

图6是图示可以实践本公开的各方面的计算设备600的物理组件(例如,硬件)的框图。下文所描述的计算设备组件可能适合用于上文所描述的计算设备,包括计算设备102和104以及3d环境服务106。在基本配置中,计算设备600可以包括至少一个处理单元602和系统存储器604。取决于计算设备的配置和类型,系统存储器604可以包括但不限于:易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、内存或者这样的存储器的任意组合。

系统存储器604可以包括操作系统605以及适合于运行软件应用620的一个或多个程序模块606,诸如在本文中所描述的系统所支持的一个或多个组件。作为示例,系统存储器604可以存储创作应用624和环境数据存储626。例如,操作系统605可以适合于控制计算设备600的操作。

此外,可以结合图形库、其他操作系统或者任何其他应用程序来实践本公开的实施例,并且本公开的实施例并不限于任何特定的应用或系统。该基本配置在图6中通过虚线608内的那些组件来图示。计算设备600可以具有额外的特征或功能。例如,计算设备600还可以包括额外的数据存储设备(可移除和/或不可移除),诸如,例如磁盘、光盘或磁带。这样的额外存储装置在图6中通过可移除存储设备609和不可移除存储设备610图示。

如上所述,许多程序模块和数据文件可以被存储在系统存储器604中。在处理单元602上运行时,程序模块606(例如,应用620)可以执行包括但不限于在本文中所描述的各方面的处理。可以根据本公开的各方面使用的其他程序模块可以包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。

此外,本公开的实施例可以包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路中实践或者在包含电子元件或微处理器的单个芯片上实践。例如,可以经由片上系统(soc)来实践本公开的实施例,其中,图6中图示的组件中的每个或许多组件可以被集成到单个集成电路上。这样的soc设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都作为单个集成电路被集成(或“烧制”)到芯片基板上。当经由soc来操作时,在本文中所描述的关于客户端切换协议的能力的功能可以经由与单个集成电路(芯片)上的计算设备600的其他组件集成的专用逻辑来操作。还可以使用能够执行逻辑操作的其他技术来实践本公开的实施例,所述逻辑运算例如是and、or和not,包括但不限于机械、光学、流体和量子技术。另外,本公开的实施例可以在通用计算机或者任何其他电路或系统中实践。

计算设备600还可以具有一个或多个输入设备612,诸如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等。还可以包括(一个或多个)输出设备614,诸如显示器、扬声器、打印机等。前述设备是示例,并且可以使用其他设备。计算设备600可以包括允许与其他计算设备650进行通信的一个或多个通信连接616。合适的通信连接616的示例包括但不限于射频(rf)发射机、接收机和/或收发机电路;通用串行总线(usb)、并行和/或串行端口。

如在本文中所使用的术语“计算机可读介质”可以包括计算机存储介质。计算机存储介质可以包括以用于存储信息(诸如计算机可读指令、数据结构或程序模块)的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质。系统存储器604、可移除存储设备609和不可移除存储设备610都是计算机存储介质示例(例如,存储器存储装置)。计算机存储介质可以包括ram、rom、电可擦除只读存储器(eeprom)、闪存或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储设备、磁带盒、磁带、磁盘存储装置或者其他磁性存储设备,或者能够被用于存储信息并且能够由计算设备600访问的任何其他制品。任何这样的计算机存储介质都可以是计算设备600的一部分。计算机存储介质不包括载波或者其他传播或调制的数据信号。

通信介质可以由在诸如载波或其他传输机制的经调制的数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并且包括任何信息传递介质。术语“经调制的数据信号”可以描述具有以对信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。通过示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(rf)、红外和其他无线介质的无线介质。

图7a和图7b图示了移动计算设备700,例如,移动电话、智能电话、可穿戴计算机(诸如智能手表)、平板计算机、膝上型计算机等,利用其可以实践本公开的实施例。在一些方面中,客户端可以是移动计算设备。参考图7a,图示了用于实施各方面的移动计算设备700的一个方面。在基本配置中,移动计算设备700是具有输入元件和输出元件两者的手持式计算机。移动计算设备700通常包括显示器705以及一个或多个输入按钮710,其允许用户将信息输入到移动计算设备700中。移动计算设备700的显示器705还可以用作输入设备(例如,触摸屏显示器)。

在包含的情况下,可选的侧输入元件715允许另外的用户输入。侧输入元件715可以是旋转开关、按钮或者任何其他类型的手动输入元件。在替代方面,移动计算设备700可以并入更多或更少的输入元件。例如,在一些实施例中,显示器705可以不是触摸屏。

在又一替代实施例中,移动计算设备700是便携式电话系统,诸如蜂窝电话。移动计算设备700还可以包括可选的小键盘735。可选的小键盘735可以是在触摸屏显示器上生成的物理小键盘或“软”小键盘。

在各种实施例中,输出元件包括用于示出图形用户界面(gui)的显示器705、视觉指示器720(例如,发光二极管)和/或音频换能器725(例如,扬声器)。在一些方面,移动计算设备700并入用于向用户提供触觉反馈的振动换能器。在又一方面中,移动计算设备700并入输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,hdmi端口),用于向外部设备发送信号或者从外部设备接收信号。

图7b是图示了移动计算设备的一个方面的架构的框图。亦即,移动计算设备700能够并入系统(例如,架构)702以实施一些方面。在一个实施例中,系统702被实施为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏以及媒体客户端/播放器)的“智能电话”。在一些方面中,系统702被集成为计算设备,诸如集成的个人数字助理(pda)和无线电话。

一个或多个应用程序766可以被加载到存储器762中并且在操作系统764上或者与操作系统764相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传递程序等。系统702还包括存储器762内的非易失性存储区域768。非易失性存储区域768可以被用于存储在系统702断电时不应当丢失的持久性信息。应用程序766可以使用信息并且将信息存储在非易失性存储区域768中,诸如电子邮件或者由电子邮件应用所使用的其他消息等。同步应用(未示出)也驻留在系统702上,并且被编程为与驻留在主机计算机上的对应的同步应用进行交互,以使存储在非易失性存储区域768中的信息与存储在主机计算机处的对应信息保持同步。应当意识到,其他应用可以被加载到存储器762中并且在本文中所描述的移动计算设备700上运行(例如,搜索引擎、提取器模块、相关性排名模块、答案评分模块等)。

系统702具有电源770,电源770可以被实施为一个或多个电池。电源770还可以包括外部电源,诸如ac适配器或者对电池进行补充或充电的电动对接支架。

系统702还可以包括执行发送和接收射频通信的功能的无线电接口层772。无线电接口层772经由通信运营商或服务提供商促进在系统702与“外部世界”之间的无线连接。去往和来自无线电接口层772的传输是在操作系统764的控制下进行的。换言之,由无线电接口层772接收到的通信可以经由操作系统764散布到应用程序766,反之亦然。

视觉指示器720可以被用于提供视觉通知,和/或音频接口774可以被用于经由音频换能器725产生听觉通知。在所图示的实施例中,视觉指示器720是发光二极管(led),并且音频换能器725是扬声器。这些设备可以被直接地耦合到电源770,使得当被激活时,即使处理器760和其他组件为了节省电池电力而关闭,其也仍然在由通知机制规定的持续时间内保持开启。可以将led编程为无限期保持开启,直到用户采取动作来指示设备的通电状态为止。音频接口774被用于向用户提供听觉信号并且从用户接收听觉信号。例如,除了被耦合到音频换能器725之外,音频接口774还可以被耦合到麦克风以接收听觉输入,诸如以促进电话会话。根据本公开的实施例,麦克风也可以用作音频传感器以促进对通知的控制,如将在下文描述的。系统702还可以包括视频接口776,视频接口776使得机载相机730的操作能够记录静止图像、视频流等。

实施系统702的移动计算设备700可以具有额外特征或功能。例如,移动计算设备700还可以包括额外数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或磁带。这样的额外存储设备在图7b中由非易失性存储区域768图示。

如上文所描述的,可以将由移动计算设备700生成或捕获并且经由系统702存储的数据/信息本地存储在移动计算设备700上,或者可以将所述数据存储在可以由设备经由无线电接口层722或经由在移动计算设备700和与移动计算设备700相关联的分开的计算设备(例如,在诸如互联网的分布式计算网络中的服务器)之间的无线连接访问的任意数量的存储介质上。应当意识到,可以经由移动计算设备700、经由无线电接口层772或者经由分布式计算网络来访问这样的数据/信息。类似地,可以根据公知的数据/信息传输和存储单元(包括电子邮件和协作数据/信息共享系统),在计算设备之间容易地传输这样的数据/信息以供存储和使用。

图8图示了系统的架构的一个方面,用于处理在计算系统处从远程源(诸如,如上文所描述的个人计算机804、平板计算设备806或移动计算设备808)接收到的数据。在服务器设备802处所显示的内容可以被存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务822、web门户824、邮箱服务826、即时消息传递存储828或社交网站830来存储各种文档。

与服务器设备802进行通信的客户端可以采用环境视图应用820,和/或服务器设备802可以采用3d环境数据存储821。服务器设备802可以通过网络815向客户端计算设备(诸如个人计算机804、平板计算设备806和/或移动计算设备808(例如智能电话))提供数据或者从其提供数据。例如,上文所描述的计算机系统可以被体现在个人计算机804、平板计算设备806和/或移动计算设备808(例如,智能电话)中。除了接收可用于在图形起源系统处进行预处理或者在接收计算系统处进行后处理的图形数据之外,计算设备的这些实施例中的任意实施例都可以从存储816获得内容。

图9图示了可以执行在本文中所公开的一个或多个方面的示例性平板计算设备900。另外,在本文中所描述的各方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中,应用功能、存储器、数据存储和取回以及各种处理功能可以在分布式计算网络(诸如互联网或内联网)上彼此远程地操作。可以经由机载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示用户界面和各种类型的信息。例如,用户界面和各种类型的信息可以在在其上投影有用户界面和各种类型的信息的墙壁表面上进行显示和交互。与可以利用其实践本发明的实施例的多个计算系统的交互包括击键输入、触摸屏输入、语音或其他音频输入、其中相关联的计算设备配备有用于捕获并解释用于控制计算设备的功能等的用户手势的检测(例如相机)功能的手势输入,等等。

如根据前述公开中将理解的,技术的一个方面涉及一种系统,包括:至少一个处理器;以及存储指令的存储器,所述指令当由所述至少一个处理器运行时使所述系统执行操作的集合。所述操作的集合包括:取回环境数据文件,其中,所述环境数据文件包括针对三维(3d)环境的多个模型;在所述3d环境中生成所述多个模型中的第一模型的第一3d表示,其中,所述第一模型与出口锚定点相关联;确定所述环境数据文件指示所述多个模型中的第二模型与所述第一模型相邻,其中,所述第二模型与入口锚定点相关联;以及基于确定所述第二模型与所述第一模型相邻来生成所述第二模型的第二3d表示,其中,所述第二模型的表示被定位在所述3d环境中,使得与所述第二模型相关联的入口锚定点被定位为靠近于所述第一模型的入口点。在示例中,生成所述第一模型的所述第一3d表示包括:确定所述环境数据文件指定了与所述第一模型的内容点相关联的内容项;以及在所述第一3d表示中所述第一模型的内容点处生成内容项的表示。在另一示例中,生成所述内容项的表示包括生成针对与所述内容项相关联的远程资源的请求。在另外的示例中,所述操作的集合还包括:在用户设备的显示器上呈现所述3d表示。在又一示例中,所述第一模型指示针对用户的视角的初始位置,并且其中,呈现所述3d表示包括从针对用户的视角的初始位置呈现所述3d表示。在又一示例中,取回所述环境数据文件包括从远程数据存储请求所述环境数据文件的至少一部分。在另一示例中,所述第一模型和所述第二模型包括具有相似主题的模型的集合。

在另一方面中,所述技术涉及一种用于生成表示三维(3d)环境的环境数据文件的方法。所述方法包括:接收对3d环境的环境模板的用户选择;接收对第一模型的用户选择,其中,所述第一模型与所选择的环境模板相关联;呈现所述第一模型的二维(2d)显示,其中,所述2d显示包括所述第一模型的一个或多个内容点的显示;从所述一个或多个内容点接收对内容点的用户选择,指示用于在所选择的内容点处进行显示的内容;以及生成所述环境数据文件,其中,所述环境数据文件包括关于所选择的环境模板、第一模型和所选择的内容点的信息,其中,所选择的内容点与所指示的内容相关联。在示例中,所述方法还包括:呈现与所选择的环境模板相关联的一个或多个模型的显示,其中,使用2d表示来显示所述一个或多个模型。在另一示例中,所述方法还包括:接收针对用户的视角的初始位置的选择,其中,所述选择位于所述第一模型内;以及将接收到的选择存储为所述环境数据文件的一部分。在另一示例中,所述方法还包括:接收对第二模型的选择,其中,所述选择包括对所述第二模型被定位为与所述第一模型相邻的指示。在又一示例中,所述环境数据文件包括与所述第一模型相关联的识别符以及与所述第二模型相关联的识别符。在又一示例中,所述方法还包括:将所生成的环境数据文件存储在远程数据存储处,以供一个或多个用户设备访问。

在另外的方面中,所述技术涉及一种用于使用环境数据文件来生成三维(3d)环境的方法。所述方法包括:取回所述环境数据文件,其中,所述环境数据文件包括针对所述3d环境的多个模型;在所述3d环境中,生成所述多个模型中的第一模型的第一3d表示,其中,所述第一模型与出口锚定点相关联;确定所述环境数据文件指示所述多个模型中的第二模型与所述第一模型相邻,其中,所述第二模型与入口锚定点相关联;以及基于确定所述第二模型与所述第一模型相邻来生成所述第二模型的第二3d表示,其中,所述第二模型的表示被定位在所述3d环境中,使得与所述第二模型相关联的入口锚定点被定位为靠近于所述第一模型的入口点。在示例中,生成所述第一模型的所述第一3d表示包括:确定所述环境数据文件指定了与所述第一模型的内容点相关联的内容项;以及在所述第一3d表示中的第一模型的内容点处生成内容项的表示。在另一示例中,生成所述内容项的表示包括生成针对与所述内容项相关联的远程资源的请求。在另外的示例中,所述方法还包括:在用户设备的显示器上呈现所述3d表示。在又一示例中,所述第一模型指示针对用户的视角的初始位置,并且其中,呈现所述3d表示包括从针对所述用户的视角的所述初始位置呈现所述3d表示。在又一示例中,取回所述环境数据文件包括:从远程数据存储请求所述环境数据文件的至少一部分。在另一示例中,所述第一模型和所述第二模型包括具有相似主题的模型的集合。

例如,以上参考根据本公开的各方面的方法、系统和计算机程序产品的框图和/或操作图描述了本公开的各方面。在框中指出的功能/动作可能不按任何流程图所示的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者有时可以以相反的次序执行这些框,这取决于所涉及的功能/动作。

在本申请中提供的一个或多个方面的描述和说明并不旨在以任何方式限制或约束所要求保护的本公开的范围。在本申请中提供的各方面、示例和细节被认为足以传达拥有物并且使得他人能够制造和使用所要求保护的公开内容的最佳模式。所要求保护的公开内容不应当被解释为限于本申请中提供的任何方面、示例或细节。不管是组合或分开显示和描述,各种特征(结构和方法上的)都旨在被选择性地包含或省略,以产生具有特定特征集的实施例。在已经提供了本申请的描述和说明后,本领域技术人员可以设想到落入本申请所体现的总体发明构思的更宽泛方面的主旨内的各种变型、修改和替换方面,并且不背离所要求保护的公开内容的更广范围。

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