掌桥专利:专业的专利平台
掌桥专利
首页

游戏应用程序的虚拟环境内的路线生成系统

文献发布时间:2023-06-19 18:32:25


游戏应用程序的虚拟环境内的路线生成系统

背景技术

在视频游戏中,游戏应用程序可以为游戏中(in-game)角色生成路线(route)以在整个虚拟环境内移动以到达目的地,诸如橄榄球游戏中的传球路线。通常,游戏中的路线具有起始点和结束点。例如,在橄榄球游戏中,每个游戏中角色可以遵循从分配的传球路线的起始到结束的限定的线性路径(path)。在更复杂的游戏中,游戏应用程序可以被配置为在游戏环境内为许多不同的游戏中角色生成路线。例如,视频游戏可以为对于单独的进攻(play)奔跑不同的传球路线的多个不同的角色生成路线。

发明内容

本公开内容的系统、方法和设备各自具有若干创新方面,其中没有一个方面单独担负本文所公开的所有期望属性。

一个实施方案公开了一种用于在游戏应用程序的游戏环境内生成路线的计算机实施的方法:通过配置有计算机可执行指令的硬件处理器,执行包括游戏环境的游戏应用程序,所述游戏环境包括至少一个玩家控制的角色和多个非玩家控制的角色,所述多个游戏中角色被配置为由所述游戏应用程序控制;访问存储在路线数据库中的多个路线,其中所述多个路线中的每个路线是基于从由真实世界的人沿所述路线执行的移动收集的数据生成的;从用户计算系统接收用户输入,所述用户输入请求待要在游戏中事件期间由所述多个非玩家控制的角色中的至少一个执行的至少一个动作;响应于所述用户输入,确定在所述游戏环境内用于第一非玩家控制的角色的第一游戏中路点(waypoint,路径点)路径;使用第一路线过滤标准基于与第一路线相关联的特性过滤所述多个路线从而得到第一路线子集;基于路线选择特性分析所述路线子集;基于所述路线选择特性选择所述第一路线子集中的第一路线;至少部分地基于所述第一路线为所述第一非玩家控制的角色生成角色路径,所述角色路径包括起始点和目的点,所述角色路径包括与所述第一非玩家控制的角色沿所述第一路径的移动相关联的运动数据;以及在发起所述游戏中事件之前,输出用于由所述第一非玩家控制的角色执行的所述第一路线。

在一些实施方案中,所述方法包括:基于所述运动数据生成用于所述第一非玩家控制的角色的动画的姿势数据;基于所述姿势数据从姿势数据库选择姿势,其中存储在所述姿势数据库中的姿势数据基于运动捕捉数据;以及在所述虚拟环境内渲染所选择的姿势。在一些实施方案中,用于所述第一角色路径的运动数据包括与位置、定向、速度和加速度。在一些实施方案中,所述第一路线过滤标准包括路线类型或相对移动角度中的至少一个。在一些实施方案中,所述路线选择特性包括以下中的至少一个:到防守者的距离、到第一次进攻(first down)的距离、接收者位置、最大速度、相对移动角度、角色位置。在一些实施方案中,基于路线选择特性分析所述路线子集包括:基于路线距路径的长度(length,距离)、路径相对于路线终点的终点、角色位置或奔跑原始路线的运动员中的至少一个生成分数。在一些实施方案中,生成角色路径包括:将所所选择的路线作为一个段与一个程序上生成的段组合以形成所述角色路径。在一些实施方案中,所述角色路径的所述程序上生成的段是基于真实世界的路径数据生成的。在一些实施方案中,所述路线选择特性丢弃不满足限定的阈值的路线。在一些实施方案中,所述角色路径是姿势轨迹匹配路径。

另一个实施方案公开了一种计算系统,所述计算系统包括:数据存储器存储设备,其被配置为存储被配置为执行游戏应用程序的计算机可读指令和包括多个路线的路线数据库,其中所述路线中的每个是基于从由真实世界的人沿所述路线执行的移动收集的数据生成的;处理器,其被配置为执行所述游戏应用程序,所述游戏应用程序被配置为生成游戏环境,所述游戏应用程序包括路线生成引擎,所述路线生成引擎被配置为:从用户计算系统接收用户输入,所述用户输入请求待要在游戏中事件期间由多个非玩家控制的角色中的至少一个执行的至少一个动作;响应于所述用户输入,确定在所述游戏环境内用于第一非玩家控制的角色的第一游戏中路点路径;使用第一路线过滤标准基于与第一路线相关联的特性过滤所述多个路线从而得到第一路线子集;基于路线选择特性分析所述路线子集;基于所述路线选择特性选择所述第一路线子集中的第一路线;至少部分地基于所述第一路线为所述第一非玩家控制的角色生成角色路径,所述角色路径包括起始点和目的点,所述角色路径包括与所述第一非玩家控制的角色沿所述第一路径的移动相关联的运动数据;以及在发起所述游戏中事件之前,输出用于由所述第一非玩家控制的角色执行的所述第一路线。

在一些实施方案中,所述路线生成引擎还被配置为:基于所述运动数据生成用于所述第一非玩家控制的角色的动画的姿势数据;基于所述姿势数据从姿势数据库选择姿势,其中存储在所述姿势数据库中的姿势数据基于运动捕捉数据;以及在虚拟环境内渲染所选择的姿势。在一些实施方案中,用于所述第一角色路径的运动数据包括位置、定向、速度和加速度。在一些实施方案中,所述第一路线过滤标准包括路线类型或相对移动角度中的至少一个。在一些实施方案中,所述路线选择特性包括以下中的至少一个:到防守者的距离、到第一次进攻的距离、接收者位置、最大速度、相对移动角度、角色位置。在一些实施方案中,所述路线生成引擎还被配置为在基于路线选择特性分析所述路线子集时,基于路线距路径的长度、路径相对于路线终点的终点、角色位置或奔跑原始路线的运动员中的至少一个生成分数。在一些实施方案中,所述路线生成引擎还被配置为在生成角色路径时将所述选择的路线作为一个段与一个程序上生成的段组合以形成所述角色路径。在一些实施方案中,所述角色路径的所述程序上生成的段是基于真实世界的路径数据生成的。在一些实施方案中,所述路线选择特性丢弃不满足限定的阈值的路线。在一些实施方案中,所述角色路径是姿势轨迹匹配路径。

尽管本文公开了某些实施方案和示例,但是发明主题超出具体公开的实施方案中的示例,扩展到其他替代实施方案和/或用途,以及其改型和等同物。

附图说明

在整个附图中,重复使用附图标记来指示引用的要素之间的对应关系。提供附图是为了例示本文所描述的主题的实施方案,而不是限制其范围。

图1例示了可以实施路线生成系统的一个或多个实施方案的计算环境的一个实施方案。

图2A-图2C例示了用于生成路线数据库的过程的实施方案。

图3例示了用于生成路线数据库的过程的一个实施方案的流程图。

图4例示了在游戏环境内的路线生成的一个实施方案。

图5A和图5B例示了用于在游戏环境内选择和生成路线时使用的路线选择特性的实施方案。

图6例示了路线生成过程的一个实施方案的流程图的一个实施方案。

图7例示了计算设备的一个实施方案。

具体实施方式

在视频游戏中遇到的问题之一是在游戏中由角色奔跑的路线通常不是很逼真。例如,角色将以完美直线移动并且以不自然地精确的角度拐弯。角色还通常加速和以在现实中不可实现的速度移动。这可能导致不现实的或不逼真的移动和动画。在游戏——诸如体育模拟——中,这可能破坏在游戏中的沉浸感和现实感。此外,用于体育游戏或模拟游戏中的角色的许多运动移动(locomotion movement)和动画基于执行相同的或类似的动作的人的运动捕捉移动。由于游戏中的角色的不自然的移动、速度和加速度,因此用于动画的运动捕捉数据可能难以与游戏中的角色的移动匹配,这可能进一步减少由游戏产生的现实模拟。

该问题的各方面的一个解决方案是使游戏中的角色的路线基于由运动员在现实生活(real life)比赛中执行的实际路线。遵循此方法时的困难之一是捕捉与在比赛中运动员奔跑的路线相关联的数据。一个选择是分析视频数据以确定在比赛中运动员奔跑的路线。然而,即使用视频跟踪技术,也可能难以获得关于在比赛中运动员的移动的精确信息。本文将进一步描述的另一个选择是使用定位运动员上的跟踪设备以在比赛期间跟踪运动员的数据。例如,运动员可以在其鞋子、垫肩、手套或其他比赛装备——诸如橄榄球、球拍、曲棍球球棍、球棒或球——中携带跟踪芯片。跟踪芯片可以被用来在比赛期间采集每个运动员的遥测数据。此遥测数据可以被用来评估运动员在比赛期间的移动和识别运动员正在奔跑的路线。所述路线然后可以被分析并且被添加到虚拟角色在游戏应用程序内可以遵循的可用路线的数据库。遥测数据可以根据限定的事件间隔——诸如一场橄榄球比赛中的一次进攻——被分为多个部段(section)。因为事件间隔的长度可以是不确定的,遥测数据可以包括每次进攻的开始时间和停止时间。

用于每个路线的遥测数据可以包括识别由选手在路线期间执行的特定移动——诸如轨迹、速度、加速度和位置——的物理路线数据。用于每个路线的遥测数据可以具有与运动员和路线被奔跑的游戏相关的元数据。例如,元数据可以识别在一次特定进攻期间游戏中的正在奔跑路线的特定运动员。元数据可以附加地包括与游戏中的其他运动员相关的信息,诸如该运动员的团队中的或对方团队中的其他运动员的位置。元数据可以被用作附加的上下文数据(contextual data),该上下文数据可以被用于识别和确定在游戏应用程序的运行时间期间由游戏应用程序挑选的路线。

遥测数据可以被处理和被存储在数据库中作为在运行时间期间由游戏应用程序使用的子路径。该子路径可以由游戏应用程序使用以生成更现实的可以在游戏应用程序的运行时间期间由角色执行的奔跑路线。这可以产生在游戏期间的更现实的跑动路线以及与游戏的生成的路线相关联的更现实的动画。此数据库可以被本地地安装在游戏应用程序上,这可以允许在游戏应用程序期间使用该数据库。

在游戏应用程序的运行时间期间,在每个事件间隔,诸如在一次进攻的开始之前,用户可以向游戏应用程序提供输入以选择用于在游戏应用程序内执行的进攻。由角色对进攻的此执行可以包括团队中的不受用户控制的运动员。这些角色由游戏应用程序的人工智能(AI)控制器控制,该控制器控制角色的执行直到用户采取控制。游戏应用程序基于由用户提供的输入给角色分配路线。例如,由用户选择的一次进攻可以将三个不同的传球路线分配给用户的团队中的角色。游戏应用程序然后可以基于分配的路线为虚拟环境内的角色生成路点路径。

路线生成引擎可以查询数据库以识别满足初始路线选通标准(gating criteria)的总可用路线的一个子集。该路线选通标准可以被用来消除路线数据库中的不满足路线的类型和/或方向的大多数路线。例如,该选通标准可以消除所有不是倾斜(slant)路线的路线。剩余的路线的子集可以被评分以识别分配的路线的最佳匹配的路线。可以存在被用来选择路线的最佳匹配的多个不同的选择标准。

在从路线数据库选择路线之后,路线生成引擎可以基于路线数据为角色生成姿势轨迹匹配(PTM)路径。PTM路径可以包括所选择的路径和程序上生成的路径数据以填充(fill in)从所选择的路线缺失的任何路径数据。例如,程序上生成的数据可以将路径延伸到路线数据的结束之外。PTM路径可以包括由动画和渲染系统使用以在每个帧处生成角色的姿势的移动数据。例如,速度、位置、定向和轨迹信息可以被用来将角色的运动与动画数据库中的姿势数据匹配。由于与路线相关联的数据基于运动员的实际移动特性,因此动画系统可以更好地使移动数据与用于角色的姿势数据匹配。这可以在游戏的运行时间期间产生角色的更逼真并且更现实的移动和动画。

本文所描述的系统和过程可以在游戏环境内基于实际路线数据提供动态并且现实的路线生成。如本文将进一步描述的,本公开内容涉及用于生成用于与体育模拟游戏应用程序一起使用的路线数据库的系统。本公开内容还允许在游戏应用程序的运行时间期间的路线生成。路线生成系统可以帮助解决基于运动员的现实生活移动生成现实并且逼真的路线的问题。尽管本文所描述的过程通常将被应用于橄榄球游戏,但是相同的系统和过程可以被用来在其他体育游戏或应用程序中生成路线,其中该系统控制游戏中的模仿现实生活动作的角色的移动或使该移动动画化。例如,该过程可以被用来控制冲入战斗的一群人或一群角色内的角色的移动。

就此公开内容的目的而言,术语“用户”可以指正在操作计算设备以控制游戏应用程序的操作的人。就此公开内容的目的而言,术语“角色”可以指用户可以在游戏应用程序内控制的虚拟化身或角色。该角色可以是用户可以在游戏应用程序中控制的人、车辆、对象、和/或任何虚拟实体。就此公开内容的目的而言,术语“运动员”指在体育事件或其他真实世界的活动中竞争的真实世界的人。

图1例示了用于实施路线生成引擎120和路线聚合引擎140的计算环境100的一个实施方案。环境100包括网络108、多个用户计算系统102和交互式计算系统130,该交互式计算系统包括应用程序主机系统132和路线数据存储器134。为了简化讨论并且不限制本公开内容,图1仅例示了一个用户计算系统102和一个交互式计算系统130,尽管可以使用多个系统。

用户计算系统102可以经由网络108与交互式计算系统130通信。尽管仅例示了一个网络108,但是可以存在多个不同和/或分布式网络108。网络108可以包括任何类型的通信网络。例如,网络108可以包括广域网(WAN)、局域网(LAN)、蜂窝网络、自组织网络、卫星网络、有线网络、无线网络等中的一个或多个。在一些实施方案中,网络108可以包括因特网。

计算系统102包括计算资源104和应用程序数据存储器106。用户计算系统102可以具有各种各样的本地计算资源104,诸如中央处理单元和架构、存储器(memory)、大容量存储装置(storage)、图形处理单元、通信网络可用性和带宽等。此外,用户计算系统102可以包括任何类型的计算系统。例如,用户计算系统102可以是任何类型的计算设备,诸如台式机、膝上型计算机、视频游戏平台/控制台、电视机顶盒、电视(例如,因特网电视)、网络使能的售货亭(network-enabled kiosk)、汽车控制台设备、计算机化器具、可穿戴设备(例如,具有计算功能的智能手表和眼镜)以及无线移动设备(例如,智能电话、PDA、平板计算机等),仅举几个例子。下文关于图7描述对计算系统102的一个实施方案的更详细描述。

用户计算系统102可以基于至少部分地存储在应用程序数据存储器106中的软件代码来执行游戏应用程序110。游戏应用程序110也可以被称为视频游戏、游戏、游戏代码和/或游戏程序。游戏应用程序110应被理解为包括计算设备102可以使用以提供游戏供用户玩的软件代码。游戏应用程序110可以包括通知计算设备102要执行的处理器指令的软件代码,但是也可以包括在玩游戏时使用的数据,诸如与常数、图像、路线信息和其他数据结构有关的数据。在所例示的实施方案中,游戏应用程序110包括游戏引擎112、游戏数据114、游戏状态信息116和路线生成引擎120。

在一些实施方案中,用户计算系统102能够执行游戏应用程序110,该游戏应用程序可以在分布式环境中存储和/或执行。例如,用户计算系统102可以执行一个游戏的一部分,并且基于网络的计算系统可以执行该游戏的另一部分。例如,该游戏可以是多玩家体育游戏,诸如橄榄球游戏,其中多个用户竞争地或协作地玩该游戏,该游戏包括由用户计算系统102执行的客户端部分和由一个或多个应用程序主机系统132执行的服务器部分。

游戏引擎112可以被配置为在计算设备100内执行游戏应用程序110的操作的各方面。在游戏应用程序内的玩游戏的各方面的执行可以至少部分地基于接收的用户输入、游戏数据114和游戏状态信息116。游戏数据114可以包括游戏规则、预先记录的运动捕捉姿势/路径、环境设置、约束、骨架模型、路线信息和/或其他游戏应用程序信息。

游戏引擎112可以根据游戏规则在游戏中执行玩游戏。游戏规则的示例可以包括评分规则、可能的输入、动作/事件、响应于输入的移动等。其他部件可以控制什么输入被接受和游戏如何进行,以及玩游戏的其他方面。游戏引擎112可以接收用户输入并且确定游戏中事件,诸如动作、跳跃、奔跑、投掷、攻击和适用于游戏应用程序110的其他事件。在运行时间操作期间,游戏引擎112可以读入游戏数据114和游戏状态信息116以确定适当的游戏中事件。

在一个示例中,在游戏引擎112确定角色事件之后,角色事件可以被传送到移动引擎,该移动引擎可以确定角色应在虚拟环境内响应于事件和移动而做出的适当的运动和姿势。该移动引擎可以使用运动匹配过程来确定角色的姿势。例如,由PTM路径生成的运动特性可以被用来创建角色的现实动画。运动特性可以被用来在角色沿PTM路径的运动期间选择角色的姿势。角色的姿势选择过程可以使用姿势匹配过程来确定待要在每个帧处渲染的姿势。该姿势匹配过程可以使用角色在沿路径的每个位置点处的运动特性来确定角色的最佳匹配的姿势。姿势匹配系统可以将速度和位置信息与姿势数据库中的姿势进行匹配,以选择恰当的姿势。角色的新姿势可以被提供给蒙皮(skinning)和渲染引擎。

蒙皮和渲染引擎进而可以向对象组合器提供角色图像,以将动画对象、非动画对象、和背景对象组合成完整的场景。该完整的场景可以被传送到渲染器,该渲染器生成新的帧以用于显示给用户。在执行游戏应用程序期间,可以重复该过程以用于渲染每个帧。虽然已经在角色的上下文中描述了该过程,但是该过程可以被应用于任何用于处理事件和渲染输出以用于显示给用户的过程。

游戏数据114可以包括游戏规则、预先记录的运动捕捉姿势/路径、环境设置、环境对象、约束、骨架模型、路线信息和/或其他游戏应用程序信息。游戏数据114的至少一部分可以被存储在应用程序数据存储器106中。在一些实施方案中,游戏数据114的一部分可以被远程地接收和/或存储,诸如在路线数据存储器134中,在这样的实施方案中,可以在游戏应用程序的运行时间期间接收游戏数据。

在运行时间期间,游戏应用程序110可以存储游戏状态信息116,该游戏状态信息可以包括游戏状态、角色状态、环境状态、场景对象存储、路线信息和/或与游戏应用程序110的运行时间状态相关联的其他信息。例如,游戏状态信息116可以识别游戏应用程序110在特定时间点时的状态,诸如角色位置、角色定向、角色动作、游戏级别属性和其他有助于游戏应用程序的状态的信息。游戏状态信息可以包括不断地改变的动态状态信息,诸如角色移动位置,以及静态状态信息,诸如游戏中游戏级别的识别。

路线生成引擎120可以执行各种功能以在游戏应用程序110内提供路线生成功能,并且可以在游戏应用程序110的运行时间期间操作。路线生成引擎120可以使用存储在游戏数据114中或从路线聚合引擎接收的路线信息来执行各种路线生成功能,如本文将描述的。在一些实施方案中,路线生成引擎120可以在游戏应用程序的执行之前——诸如在对游戏应用程序的更新中——从交互式计算系统130接收路线信息。在一些实施方案中,游戏应用程序110可以在运行时间期间从交互式计算系统130接收路线信息。在这样的实施方案中,路线生成引擎120可以基于在运行时间期间从交互式计算系统130接收的信息动态地更新游戏应用程序110内的路线信息。路线生成引擎120可以在游戏环境内提供动态路线信息。路线生成引擎120的功能可以包括基于来自用户的输入在游戏应用程序的运行时间期间动态地确定角色的路线,以及游戏环境内的其他路线生成功能。下文进一步详细地描述了路线生成引擎120的操作的各方面。

交互式计算系统130可以包括一个或多个应用程序主机系统132和路线数据存储器134。交互式计算系统130可以包括被配置为执行游戏应用程序110的一部分的一个或多个计算系统。在一些实施方案中,一个或多个应用程序主机系统132可以包括一个或多个计算设备,诸如可以托管和/或执行游戏应用程序110的一个或多个实例的一部分的服务器和数据库。在某些实施方案中,代替或除了执行游戏应用程序110的一部分,应用程序主机系统132可以执行另一个应用程序,该另一个应用程序可以在应用程序110的一个实例的执行期间补充应用程序110和/或与应用程序110交互,诸如路线聚合引擎140。

交互式计算系统130可以使得多个用户或计算系统能够访问由交互式计算系统130执行或托管的游戏应用程序110的一部分。交互式计算系统130可以包括路线聚合引擎140。在一些实施方案中,主机应用程序系统132可以执行用于执行游戏环境的各方面的托管系统(hosting system)。例如,在一个实施方案中,游戏应用程序110可以记录角色在游戏环境内的位置。在一些实施方案中,游戏应用程序110可以是单玩家游戏,在单玩家游戏中,交互式计算系统130在连接到游戏应用程序110的实例时提供附加的功能。例如,交互式计算系统130可以基于从操作同一游戏应用程序110的多个用户接收的聚合信息向路线生成引擎120提供附加的路线信息。在一些实施方案中,应用程序主机系统132可以提供用于托管多玩家游戏实例的专用托管服务或便于由用户计算设备托管的游戏实例的创建。在一些实施方案中,主机应用程序系统132可以为用户提供大厅或其他环境以虚拟地互相交互。

路线聚合引擎140可以允许路线数据库的生成,以用于为游戏应用程序110提供路线生成功能。路线聚合引擎140可以被配置为基于针对真实世界中的运动员接收的遥测数据来编译和聚合路线信息,以用于在游戏应用程序110的虚拟环境中使用。可以从多个外部系统和数据源采集和聚合路线信息和遥测数据。在一些实施方案中,可以从第三方系统采集路线信息,该第三方系统在现实生活事件——诸如体育事件——期间编译遥测数据。例如,可以基于运动员在橄榄球比赛期间佩戴的数据跟踪设备生成遥测数据。

路线聚合引擎140可以被配置为生成用于在游戏应用程序110内的虚拟环境中生成路线的路线数据库。在一些实施方案中,游戏应用程序110可以包括多个游戏环境。路线聚合引擎140可以存储用于每个游戏环境的路线。路线聚合引擎140可以被配置为使用遥测数据来自动生成路线。自动生成的路线可以与程序上生成的路线组合以在虚拟环境中生成PTM路径。可以对遥测数据进行操纵和过滤以移除不满足用于在游戏应用程序内使用的标准的路线的各方面。例如,接收的路线数据可以包括在一次进攻结束之后发生的运动员的移动。下文更详细地讨论了路线聚合引擎140的操作的各方面。

交互式计算系统130可以包括一个或多个路线数据存储器134,所述一个或多个路线数据存储器被配置为存储与由交互式计算系统130和/或应用程序主机系统132托管的游戏应用程序110相关联的路线信息。路线数据存储器134可以包括与游戏应用程序110相关联的路线信息,该路线信息由路线聚合引擎140生成和聚合。路线信息可以被过滤和处理以使得其在游戏应用程序内是可用的。路线信息可以包括用于每个路线的物理路线数据和元数据,以及由路线聚合引擎140使用的其他信息。物理路线数据可以提供在以限定的间隔采取的路线期间记录的信息,诸如位置(例如,x、y、z、位置)、在场地上的定向、速度、加速度、在比赛中发生的事件(例如,传球、擒抱、越界等)以及在运动员沿路径移动期间记录的其他信息。元数据可以包括与比赛和路线相关联的信息。例如,元数据可以包括运动员姓名、运动员号码、运动员ID、比赛ID、进攻ID(play ID)、运动员位置、路线类型、进攻方向(playdirection)、到第一次进攻的距离、其他运动员相对于运动员的位置,以及其他诸如与路线相关联的信息。

图2A至图2C例示了可以由路线聚合引擎140实施以生成用于在游戏应用程序110内使用的路线信息的各种功能和例程的实施方案。该路线聚合引擎可以被配置为聚合、分析和处理由运动员在现实生活体育事件期间生成的遥测数据,以生成在游戏应用程序内使用的路线信息。该路线信息可以由路线聚合引擎140提供给路线生成引擎120以用于在运行时间期间使用。路线聚合引擎140可以被配置为生成用于与游戏应用程序110一起安装或在已经安装游戏应用程序之后——诸如在游戏更新中——安装的路线信息。

遥测数据可以由第三方收集服务在体育事件期间从运动员收集并且可以被提供给路线聚合引擎140以进行处理。在比赛期间可以使用布置在运动员上的多个跟踪设备从运动员记录遥测数据220。例如,跟踪设备可以是放置在运动员和/或比赛中的对象——诸如球——上的RFID标签。遥测数据可以被用来在整个运动场地内在每次进攻期间捕捉运动员的实时位置数据、速度和加速度。在一个示例实施方案中,整个体育场的传感器跟踪放置在运动员的肩垫上的标签,该标签可以被用来确定数英寸内的个体移动。用于路线的遥测数据的示例被例示在了图2A中。如在图2A中所例示的,原始路线数据220覆盖在虚拟环境内的网格250上。用于每个路线的遥测数据可以包括物理路线数据和路线元数据。物理路线数据可以包括在以限定的间隔(诸如,每0.1秒或其他时间段)采取的路线期间记录的信息,诸如位置(例如,x、y、z、位置)、在场地上的定向、速度、加速度、在比赛内发生的事件(例如,传球、擒抱、越界等)以及在运动员沿路径移动期间记录的其他信息。元数据可以包括与比赛和路线相关联的信息。例如,元数据可以包括运动员姓名、运动员号码、运动员ID、比赛ID、进攻ID、运动员位置、路线类型、进攻方向、到第一次进攻的距离、其他运动员相对于运动员的位置,以及其他诸如与路线相关联的信息。路线聚合引擎140可以聚合从第三方接收的遥测数据。遥测数据可以包括数十万个数据点,所述数据点被分为用于每个事件时段的个体路线,诸如比赛中的每次进攻。

图2A和图2B例示了由原始路线数据200生成子路径270。图2A例示了用于网格250上的一个路线的原始遥测数据200的一个示例。例示的虚拟环境被提供用于路径数据的可视化。路径数据包括起始点260、运动员轨迹210、运动员移动速度220和线230——指示在该路线期间收集数据的点。例如,可以每0.1秒收集一次数据。路线数据包括在该路线期间生成的游戏事件240。例如,pass_forward指示四分卫何时掷球出手,然后是pass_arrived、pass_outcome_caught和out_of_bounds。游戏事件240可以被用来从该路线提取相关数据并且移除对于在游戏应用程序内生成路线没有用的路线数据。

如所例示的,选手的位置向上转向朝向路线的终点,这是因为运动员在pass_outcome_caught处把球接住,并且转向前场以奔跑朝向球门区(end zone,终点区)。在运动员接球时,他的速度也会下降。运动员然后在out_of_bounds处跑出界限。在把球接住之后运动员的移动不再代表运动员沿传球路线的移动。因此,路线数据可以被处理以移除和丢弃与运动员正在奔跑的传球路线无关的数据。路线的被保存以供稍后使用的部分可以被称为子路径。图2B例示了在路线数据已经被过滤和处理之后生成的子路径270。在此情况下,通过在游戏事件pass_arrived之后丢弃路线数据来创建子路径。

其他路线可以包括在传球已经被抛射和被接住之后的附加的可用路线数据。例如,即使在传球被抛射向另一个运动员并且被另一个运动员接住之后,运动员也可以继续奔跑传球路线。路线聚合引擎140接收的每个路线的路线信息可以在被包括在路线数据库中之前被分析、过滤和处理。在一些实施方案中,开发人员可以手动地处理路线数据以确保每个路线利用正确的与传球路线相关的子路径。在一些实施方案中,一种系统可以被配置为自动过滤和处理数据。例如,路线聚合引擎140可以利用一种算法来处理遥测数据220,以基于对物理路线数据和元数据——诸如,例如,游戏事件、速度、定向和轨迹——的分析来过滤和丢弃数据。

图2C例示了在过滤和处理遥测数据之后在路线数据库内选择路线的一个实施方案。路线数据库的每一行280可以对应于供游戏应用程序内的路线生成系统使用的单个子路径。子路径数据可以包括可以被用来在运行时间路线生成期间过滤路线数据的特性。子路径特性可以直接地从遥测数据取得,或可以从遥测数据得出。例如,遥测数据可以被用来得出运动员在路线期间达到的最大速度。在所例示的实施方案中,列提供子路径名称290A、运动员位置290B、最大运动员速度290C、移动角度290D和到第一次进攻的距离290E的数据。数据库可以根据需要包括任何多个路径特性。在一些实施方案中,子路径数据包括原始路线数据中包括的总特性的一个子集,这可以减少存储数据所需的存储空间和在运行时间期间搜索子路径数据所需的处理能力。在数据库完成之后,该数据库可以被包括在游戏应用程序中以供在运行时间期间使用。路线数据库可以被包括在应用程序的游戏代码中、在游戏更新期间被提供、或在运行时间期间通过网络被提供给游戏应用程序。

图3例示了用于生成用于在游戏应用程序内使用的路线数据库的过程的流程图的一个实施方案。过程300可以由任何可以聚合和处理用于游戏应用程序的遥测数据的系统来实施。例如,过程300全部地或部分地可以由路线聚合引擎140、交互式计算系统130、应用程序主机系统132和/或另一个系统来实施。尽管任何数目的系统全部地或部分地可以实施过程300,但是为了简化讨论,将关于特定系统描述过程300。此外,尽管可以关于包括各种游戏应用程序环境的系统的变体执行过程300的实施方案,但是为了简化讨论,将关于交互式计算系统130描述过程300。

在块302处,计算系统接收遥测数据。该遥测数据可以由第三方收集服务在体育事件期间从运动员收集并且可以被提供给该系统以进行处理。可以在体育事件期间使用布置在运动员上的多个跟踪设备从运动员记录遥测数据。

在块304处,该系统处理包括在该遥测数据中的每个路线。该遥测数据可以按事件段被划分,诸如一场橄榄球比赛中的一次进攻。路线数据可以包括在事件段期间记录的物理路线数据、以及相关联的元数据。例如,物理路线数据可以包括起始点、运动员轨迹、运动员移动速度和在该事件段内以限定的间隔收集的在路线期间生成的比赛事件。在一些实施方案中,该系统可以生成路线数据的视觉表示以供开发人员回顾。

在块306处,该系统可以由该路线数据生成子路径路线数据资产(asset)。该子路径路线数据资产可以是通过处理该路线数据以提取与运动员的传球路线相关的路线数据生成的。该处理可以包括丢弃与正在分析的传球路线不相关的路线数据。在一些实施方案中,开发人员可以手动地处理路线数据以识别正确的与传球路线相关的子路径。在一些实施方案中,该系统可以被配置为自动过滤和处理数据。例如,路线聚合引擎140可以利用一种算法来处理遥测数据220,以基于对物理路线数据和元数据——诸如,例如,游戏事件、速度、定向和轨迹——的分析来过滤和丢弃数据。

在块308处,该系统可以确定该子路径路线数据资产的特性。该系统可以根据包括在遥测数据中的特性——诸如运动员在路线上的最大速度——得出特性。

在块310处,该系统可以将子路径路线添加到路线数据库。路线数据库可以被配置为包括可以被用来在运行时间路线生成期间过滤路线数据的选择特性。该系统可以减少与子路径路线相关联的特性或数据的数目,这可以帮助减少路线数据库的存储空间。例如,该系统可以移除包括在原始遥测数据中的与游戏应用程序内的路线的选择不相关的特性。

图4例示了游戏环境400的一个实施方案,该实施方案例示了游戏应用程序110内的路线生成的各方面。路线生成引擎120被配置为基于存储在路线数据库中的子路径路线数据为游戏环境内的角色生成路径。路线生成引擎120可以基于子路径路线数据生成更现实并且类似于实际的运动员在比赛期间奔跑的路线的路线。路线生成引擎120被配置为通过将分配给角色的路点路径与存储在路线数据库中的子路径路线数据匹配来生成用于角色的PTM路径。路线生成引擎120还被配置为程序上生成路径数据,以补充路点路线的未包括在所选择的与路点路径匹配的子路径路线数据中的部分。

图4例示了虚拟游戏环境400的示例界面。角色410位于第一位置并且具有路点路径420。游戏环境400包括在游戏场地上的多个其他角色412。角色410被配置为在整个游戏环境400中移动并且大致遵循基于用户提供的游戏输入分配给该角色的路点路径。例如,用户可以从识别游戏中的进攻的进攻手册(playbook)选择识别路点路径420的进攻。每个路点路径具有一限定的类型(例如,外侧(out)、倾斜、角落(corner)等)和一相对移动角度(例如,路径是向左还是向右)。路点路径420由一系列路点分配构造。每个分配可以识别方向和距离。然后,使用虚拟环境内的位置数据由路点分配来为角色创建路点路径420。例如,如所例示的,生成向前场延伸并且然后包括跨过场地的90度左转的路点路径。

路线生成引擎120可以基于子路径路线的特性过滤可用路线。初始过滤标准可以被称为选通标准,并且被用来减少生成的路点路径的可能匹配的路线的数目。在一些实施方案中,选通标准可以包括路线类型和相对移动角度。当试图将路点路径与路线数据库内的路线匹配时,路线生成引擎120执行此初始过滤步骤,以消除数据库中不能够满足路点路径类型和方向的子路径路线。在图5A中进一步例示了被用来过滤路线的选通标准的一个示例。

参考图5A,界面500例示了可以用于初始查询路线数据库的样本选通标准510。在所例示的实施方案中,该系统包括用作选通标准的九个不同特性。如果选通标准中的任何一个失败,子路径路线不被认为路点路径的可行匹配。如所例示的,一个子集的子路径路线512具有一个分数并且下面的子路径路线514不具有分数。在所例示的实施方案中,最高分数为255并且零被认为失败。在所例示的界面中,子路径路线514不满足最后一个选通标准516,该选通标准516对应于子路径路线的相对移动角度。因此,子路径514还未被评分并且将不被认为与路点路径的匹配。

路线生成引擎120可以使用过滤步骤来快速地识别可以满足生成的路点路径的特性的总可用子路径路线的一个子集。此过程可以消除大部分总子路径路线并且显著降低对剩余的路线中的每个进行评分和选择一个子路径路线的计算成本。

然后可以使用限定的路线选择标准基于子路径特性进一步分析可用子路径路线的该子集。该选择标准可以被用来对每个子路径路线的子路径特性中的一个或多个进行评分,以确定子路径路线与游戏中情形的匹配有多接近。在图4中的例示的实施方案中,路线430未被选择,而路线440被选择。评分标准的一个示例被例示在图5B中。

参考图5B,界面550例示了潜在匹配560的列表。潜在匹配562被选择并且被例示为图4中的线440。匹配564是由图4中的线430例示的接近匹配。路线生成引擎120分析物理路线数据,以察看哪个子路径路线最接近地匹配路点路径。在一些实施方案中,子路径路线距路点路径的最大距离可以被用作基本分数,并且然后可以基于在初始过滤步骤期间生成的分数的良好程度和附加标准570——诸如游戏中的选手是否与奔跑原始路线的运动员匹配——来修改基本分数。

在此阶段,评分标准可以包括可以被用来进一步拒绝路线的附加阈值。例如,在子路径路线距路点路径具有大于限定的阈值的最大距离的情况下,路线可能被拒绝。进一步参考图4,距子路径路线和路点路径的最大距离的视觉表示由线442例示。如果子路径路线的支路(leg)中的一个与路点路径的所有支路都不匹配,子路径路线也可能被拒绝。在所例示的实施方案中,具有最低分数的子路径路线被选择为子路径路线。路线选择标准可以进一步消除未延伸得足够远或延伸得太远的子路径路线。

在选择子路径路线之后,路线生成引擎120可以基于所选择的子路径路线为角色生成姿势轨迹匹配(PTM)路径。对于子路径路线未延伸足够的距离以匹配路点路径的总距离的实例,由路线生成引擎120生成的PTM路径可以包括程序上生成的路径段。可以使用真实世界的数据——诸如运动捕捉数据——生成程序上生成的PTM路径的段。PTM路径的生成在发起进攻之前被完成。可以在进攻开始时从角色的静止位置发起PTM路径。路线生成引擎120基于分配的路点路径和所选定的子路径路线为每个角色生成PTM路径。

PTM路径包括由图形引擎使用以选择角色姿势和生成角色的运动动画的运动特性。包括在PTM中的运动数据可以包括位置、速度、轨迹、定向、加速度和其他运动特性。PTM路径可以使用基于真实世界的数据生成的加速度曲线。该加速度曲线可以充当角色沿PTM路径的移动的基础。PTM路径可以限定角色将奔跑的速度,该速度可以基于被分配以奔跑PTM路径的角色的速度而被按比例缩放。对于不同的游戏中角色,通常,角色遵循的位置路径将是相同的,然而,角色沿路径的点移动的速度可以基于游戏中角色的速度特性和/或加速度特性而被按比例缩放。

在运行时间期间,由PTM路径生成的运动特性可以被用来创建角色的现实动画。运动特性可以被用来在角色沿PTM路径的运动期间为角色选择姿势。角色的姿势选择过程可以使用姿势匹配过程来确定待要在每个帧处渲染的姿势。该姿势匹配过程可以使用角色在沿路径的每个位置点处的运动特性来确定角色的最佳匹配的姿势。姿势匹配系统可以将速度和位置信息与姿势数据库中的姿势进行匹配以选择恰当的姿势。因为PTM路径包括现实的速度和位置数据,所以角色的姿势数据可以与姿势数据库中的姿势数据更好地匹配。以此方式,可以在游戏应用程序的运行时间期间生成更现实的移动和动画。

图6例示了用于在游戏应用程序的游戏环境内的角色的路线生成的过程的流程图的一个实施方案。过程600可以由任何可以执行和运行游戏应用程序的系统来实施。例如,过程600全部地或部分地可以由游戏应用程序110、游戏引擎114、路线生成引擎130、交互式计算系统130、应用程序主机系统132和/或另一个系统来实施。尽管任何数目的系统全部地或部分地可以实施过程600,但是为了简化讨论,将关于特定系统描述过程600。此外,尽管可以关于包括各种游戏应用程序环境的系统的变型执行过程600的实施方案,但是为了简化讨论,将关于计算系统102描述过程600。

在块602处,路线生成引擎从用户计算系统接收输入,该该输入在虚拟环境内选择需要在虚拟环境内生成一个或多个角色路线的动作。例如,用户可以为用户的橄榄球队内的至少一个角色选择包括传球路线的进攻。

块603表示用于在虚拟环境内为一个或多个角色路线中的每个生成PTM路径的子过程。在发起由用户请求的动作之前,对于每个路点路径执行该过程。例如,可以在发起橄榄球游戏中的进攻之前为每个角色完成子过程。

在块604处,路线生成引擎为基于用户输入请求的角色路线中的每个生成路点路径。路点路径由一系列路点分配构造。每个分配可以识别方向和距离。可以使用虚拟环境内的位置数据由路点分配为角色创建路点路径。

在块606处,路线生成引擎可以基于第一过滤标准过滤存储在路线数据库中的可用子路径路线,从而产生可用子路径路线的一个子集。路线生成引擎可以查询路线数据库以识别潜在的子路径路线。路线生成引擎可以基于子路径路线的特性过滤可用路线。第一过滤标准可以被称为选通标准并且被用来减少生成的路点路径的可能匹配的路线的数目。在一些实施方案中,选通标准可以包括路线类型和相对移动角度。如果选通标准中的任何一个失败,子路径路线不被认为路点路径的可行匹配。被认为潜在匹配的子路径路线可以附加地接收初始分数。

在块608处,路线生成引擎基于路线选择标准分析可用子路径路线的该子集。选择标准可以被用来对每个子路径路线的子路径特性中的一个或多个进行评分,以确定子路径路线与游戏中情形的匹配有多接近。在一些实施方案中,子路径路线距路点路径的最大距离可以被用作基本分数,并且然后可以基于在块606中的初始过滤步骤期间生成的分数的良好程度来修改基本分数。该分数也可以通过附加的标准——诸如游戏中的选手是否与奔跑原始路线的运动员匹配——而被修改。路线选择标准可以包括可以被用来进一步拒绝路线的附加的阈值。例如,在子路径路线具有距路点路径的大于限定的阈值的最大距离的情况下,路线可能被拒绝。如果子路径路线的一个支路与路点路径的所有支路不匹配,子路径路线也可能被拒绝。评分标准可以进一步消除未延伸得足够远或延伸得太远的子路径。

在块610处,路线生成引擎基于路线选择特性选择路线。

在块612处,路线生成引擎120基于所选择的路线生成PTM路径。PTM路径可以是子路径路线段和程序上生成的段的组合。PTM路径包括由图形引擎使用以选择角色姿势和生成角色运动动画的运动特性。包括在PTM路径中的运动数据可以包括位置、速度、轨迹、定向、加速度和其他运动特性。PTM路径可以使用基于真实世界的数据生成的加速度曲线。加速度曲线可以充当角色沿PTM路径移动的基础。

在块614处,路线生成引擎120输出用于在虚拟环境内执行的PTM路径。在运行时间期间,由PTM路径生成的运动特性可以被用来创建角色的现实动画。运动特性可以被用来在角色沿PTM路径的运动期间为角色选择姿势。角色的姿势选择过程可以使用姿势匹配过程来确定待要在每个帧处渲染的姿势。该姿势匹配过程可以使用角色在沿路径的每个位置点处的运动特性来确定角色的最佳匹配的姿势。

图7例示了根据本公开内容的计算设备10的一个实施方案。计算设备10的其他变型可以代替本文明确呈现的示例,诸如移除部件或向计算设备100添加部件。计算设备10可以包括游戏设备、智能电话、平板计算机、个人计算机、膝上型计算机、智能电视、汽车控制台显示器、服务器等。如所示出的,计算设备10包括处理单元20,该处理单元20与计算设备10的其他部件以及计算设备10的外部部件交互。包括与介质12通信的介质读取器22。介质读取器22可以是能够读取光盘(诸如CD-ROM或DVD)的光盘读取器,或能够从游戏介质12接收和读取数据的任何其他类型的读取器。所述计算设备中的一个或多个可以被用来实施本文所公开的系统中的一个或多个。

计算设备10可以包括单独的图形处理器24。在一些情况下,图形处理器24可以内置在处理单元20中。在一些这样的情况下,图形处理器24可以与处理单元20共享随机存取存储器(RAM)。替代地,或另外,计算设备10可以包括与处理单元20分离的分立图形处理器24。在一些这样的情况下,图形处理器24可以具有与处理单元20分离的RAM。计算设备10可以是手持视频游戏设备、专用游戏控制台计算系统、通用膝上型计算机或台式计算机、智能电话、平板计算机、汽车控制台或其他合适的系统。

计算设备10还包括用于使能输入/输出的各种部件,诸如I/O 32、用户I/O 34、显示I/O 36和网络I/O 38。I/O 32与存储元件40交互,并且通过设备42与可移动存储介质44交互,以为计算设备10提供存储。处理单元20可以通过I/O 32通信以存储数据,诸如游戏状态数据和任何共享数据文件。除了存储装置40和可移动存储介质44之外,还示出了计算设备10包括ROM(只读存储器)46和RAM 48。RAM 48可以被用于频繁存取的数据,诸如当正玩游戏时或执行欺诈检测时。

用户I/O 34被用来在处理单元20和用户设备(诸如游戏控制器)之间发送和接收命令。在一些实施方案中,用户I/O可以包括触摸屏输入。触摸屏可以是电容性触摸屏、电阻性触摸屏或被配置为通过来自用户的触觉输入来接收用户输入的其他类型的触摸屏技术。显示I/O 36提供被用来显示来自正玩的游戏的图像的输入/输出功能。网络I/O 38被用于网络的输入/输出功能。可以在游戏的执行期间——诸如当正在线玩游戏或正在线访问游戏时——使用网络I/O 38。

通过显示I/O 36产生的显示输出信号包括用于在显示设备上显示由计算设备10产生的视觉内容的信号,所述视觉内容诸如是图形、用户界面、视频和/或其他视觉内容。计算设备10可以包括被配置为接收通过显示I/O 36产生的显示输出信号的一个或多个集成显示器。根据一些实施方案,通过显示I/O 36产生的显示输出信号也可以被输出到计算设备10外部的一个或多个显示设备,诸如显示器16。

计算设备10还可以包括可以与游戏一起使用的其他特征,诸如时钟50、闪存52和其他部件。音频/视频播放器56也可以被用来播放视频序列,诸如电影。应理解,可以在计算设备10中设置其他部件,并且本领域技术人员将理解计算设备10的其他变型。

程序代码可以被存储在ROM 46、RAM 48或存储装置40(其可以包括硬盘、其他磁性存储装置、光学存储装置、其他非易失性存储装置或这些的组合或变型)中。程序代码的一部分可以被存储在可编程的ROM(ROM、PROM、EPROM、EEPROM等),程序代码的一部分可以被存储在存储装置40中,和/或被存储在可移动介质上,所述可移动介质诸如是游戏介质12(其可以是CD-ROM、盒带、存储器芯片等,或可以是根据需要通过网络或其他电子通道获得的)。通常,程序代码可以被发现嵌入在有形的非暂时性信号承载介质中。

随机存取存储器(RAM)48(并且可能是其他存储装置)可用于根据需要存储变量以及其他游戏和处理器数据。使用RAM并且RAM保持在应用程序的执行期间生成的数据,并且RAM的部分还可能被保留用于帧缓冲器、应用程序状态信息和/或需要或可用于解译用户输入和生成显示输出的其他数据。通常,RAM 48是易失性存储装置,并且当计算设备10关闭或丢失电力时,RAM 48内存储的数据可能丢失。

当计算设备10读取介质12并且提供应用程序时,可以从游戏介质12读取信息并且将所述信息存储在存储器设备(诸如RAM 48)中。此外,来自存储装置40、ROM 46、经由网络访问的服务器(未示出)或可移动存储介质46的数据可以被读取并且加载到RAM 48中。尽管数据被描述为在RAM 48中查找,但是应理解,数据不必须被存储在RAM 48中,并且可以被存储在处理单元20可访问的其他存储器或可以被分布在几个介质(诸如介质12和存储装置40)之间。

应理解,根据本文所描述的任何具体实施方案不一定可以实现所有的目标或优点。因此,例如,本领域技术人员将认识到,某些实施方案可以被配置为以实现或优化如本文所教导的一个优点或一组优点而不一定实现如本文可能教导或暗示的其他目标或优点的方式操作。

本文所描述的所有过程均可以体现在软件代码模块中并且经由软件代码模块完全自动化,所述软件代码模块由包括一个或多个计算机或处理器的计算系统执行。代码模块可以被存储在任何类型的非暂时性计算机可读介质或其他计算机存储设备中。一些或所有所述方法可以以专用的计算机硬件来实施。

根据本公开内容将明了除本文所描述的那些之外的许多其他变型。例如,根据实施方案,本文所描述的算法中的任何一个的某些动作、事件或功能可以以不同的顺序执行、可以被添加、合并或完全被省略(例如,对于算法的实行而言,并非所有描述的动作或事件都是必需的)。此外,在某些实施方案中,动作或事件可以被同时执行,例如,通过多线程处理、中断处理或多个处理器或处理器内核被同时执行或在其他并行架构上被同时执行,而不是被顺序地执行。此外,不同的任务或过程可以由可以一起运行的不同机器和/或计算系统来执行。

结合本文所公开的实施方案描述的各种例示性逻辑块和模块可以由机器实施或执行,所述机器诸如是处理单元或处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件或被设计成执行本文所描述的功能的其任何组合。处理器可以是微处理器,但在替代方案中,处理器可以是控制器、微控制器或状态机,其组合等。处理器可以包括被配置为处理计算机可执行指令的电路系统。在另一个实施方案中,处理器包括执行逻辑操作而不处理计算机可执行指令的FPGA或其他可编程器件。处理器还可以被实施为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器连同DSP内核或任何其他这样的配置。尽管本文主要关于数字技术描述了处理器,但是处理器还可以包括主要是模拟性的部件。例如,本文所描述的信号处理算法中的一些或全部可以被实施在模拟电路系统或混合模拟和数字电路系统中。计算环境可以包括任何类型的计算机系统,包括但不限于:基于微处理器的计算机系统、大型计算机(mainframe computer,主机计算机)、数字信号处理器、便携式计算设备、设备控制器或器具内的计算引擎,仅举几个例子。

除非另外特别说明,否则条件性用语,诸如“能(can)”、“可(could)”、“可能(might)”或“可以(may)”等,应在上下文中如通常所使用的被理解为表达:某些实施方案包括某些特征、要素和/或步骤,而其他实施方案不包括所述的某些特征、要素和/或步骤。因此,这样的条件性用语通常并不意在暗示:特征、要素和/或步骤以任何方式是一个或多个实施方案所需要的,或一个或多个实施方案必定包括用于判定——在具有或不具有用户输入或提示的情况下——这些特征、要素和/或步骤是否被包括在任何具体实施方案中或是否要在任何具体实施方案中执行的逻辑。

除非另外特别说明,否则析取性(disjunctive)用语,诸如短语“X、Y或Z中的至少一个”,应在上下文中如通常所使用的被理解为表示:项、术语等可以是X、Y或Z,或它们的任何组合(例如,X、Y和/或Z)。因此,这样的析取性用语通常并不意在并且不应当暗示,某些实施方案需要至少一个X、至少一个Y或至少一个Z均存在。

在本文所描述的和/或在附图中所描绘的流程图中的任何过程描述、要素或块均应被理解为潜在地表示包括用于实施过程中的特定逻辑功能或要素的一个或多个可执行指令的代码模块、代码段或代码部分。在本文所描述的实施方案的范围内包括替代的实施方式,在所述替代的实施方式中,要素或功能可以被删除、不按照所示出的或讨论的顺序执行,包括大体上同时执行或以颠倒的顺序执行,这取决于所涉及的功能,如本领域技术人员将理解的。

除非另外明确说明,否则冠词,诸如“一个(a)”或“一(an)”,通常应被解释为包括一个或多个所描述的项。相应地,诸如“被配置成……的设备”之类的措辞意在包括一个或多个所叙述的设备。这样的一个或多个所叙述的设备还可以被共同配置为执行所陈述的叙述项(recitation)。例如,“被配置为执行叙述项A、B和C的处理器”可以包括结合被配置为执行叙述项B和C的第二处理器工作的、被配置为执行叙述项A的第一处理器。

应强调,可以对上述实施方案做出许多变型和改型,这些变型和修改的要素应被理解为在其他可接受的示例之中。所有这样的改型和变型都意在被包括在本文中在本公开内容的范围内。

相关技术
  • 路线生成系统、路线生成方法和路线生成程序
  • 用于三维虚拟环境的街道网络内的程序生成建筑物图形的系统和方法
技术分类

06120115608948