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

一种游戏场景中的路径生成方法及装置

文献发布时间:2023-06-19 09:30:39


一种游戏场景中的路径生成方法及装置

技术领域

本发明涉及游戏技术领域,特别是涉及一种游戏场景中的路径生成方法,以及一种游戏场景中的路径生成装置。

背景技术

游戏中经常遇到主干道寻路的需求,即按照策划的要求,主角通过走主干道的方式到达目标位置。现有技术中的主干道寻路是通过路点网络实现的。游戏编辑者在游戏场景中布置一个个路点,通过路点和路点间的连线将主干道表示出来,程序通过最短路的方式找出路径,沿着该路径进行寻路。然而,现有技术中这种方案存在以下缺点:

一、无法覆盖大面积路面:路点和其连边只能代表一条线,在主干道比较窄的时候比较好用,比如楼梯,走廊,林间小道。但是,如果遇到康庄大道或者大面积平原地区,比如沙漠等,路点就比较难用了(不可能用线去填满一个面)。

二、寻路路径固定:由于路点和连边是单纯的一条线,不管起点终点如何,都是同一条路径,这会让寻路过程比较死板。

发明内容

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种游戏场景中的路径生成方法和相应的一种游戏场景中的路径生成装置。

为了解决上述问题,本发明实施例公开了一种游戏场景中的路径生成方法,包括:

获取所述游戏场景中的起点和终点;

确定所述游戏场景对应的场编数据,所述场编数据包含多个多边形;

采用所述多个多边形生成所述起点和终点之间的寻路路径。

可选地,所述采用所述多个多边形生成所述起点和终点之间的寻路路径,包括:

计算所述多个多边形之间的多个交集;

针对每个交集生成对应的节点,所述节点携带交集信息和中心位置;

从所述多个多边形中确定距离所述起点最近的起始对象;

从所述多个多边形中确定距离所述终点最近的终止对象;

当所述起始对象与所述终止对象相同时,生成通过单个多边形时所述起点和终点之间的寻路路径;

当所述起始对象与所述终止对象不相同时,生成通过多个多边形时所述起点和终点之间的寻路路径。

可选地,所述生成通过多个多边形时所述起点和终点之间的寻路路径,包括:

针对所述多个多边形的节点中,位于同一个多边形中的每两个节点生成节点线段;

在与所述终点相同的位置生成第一临时节点;

根据所述第一临时节点和所述多个多边形中的节点线段生成最短路树;

采用所述最短路树生成所述起点和终点之间的寻路路径。

可选地,所述根据所述第一临时节点和所述多个多边形中的节点线段生成最短路树,包括:

若所述第一临时节点位于所述终止对象中,则生成所述第一临时节点与所述终止对象中各个节点之间的第一线段,采用所述第一线段和所述多个多边形中的节点线段生成最短路树;

若所述第一临时节点不位于所述终止对象中,则从所述终止对象中确定与所述第一临时节点的距离最近的第二临时节点,生成所述第一临时节点与所述第二临时节点之间的第二线段,以及,生成所述第二临时节点与所述终止对象中各个节点之间的第三线段;采用所述第二线段、第三线段和所述多个多边形中的节点线段生成最短路树。

可选地,所述采用所述最短路树生成所述起点和终点之间的寻路路径,包括:

判断所述起始对象中是否有存在于所述最短路树中的目标节点;

若所述起始对象中有存在于所述最短路树中的节点,则确定所述起始对象中与所述起点和终点的距离最小的开始节点;

根据所述开始节点确定所述终止对象中的终止节点;

根据所述开始节点、终止节点和最短路树,生成所述起点和终点之间的寻路路径。

可选地,还包括:

若所述起始对象中没有存在于所述最短路树中的节点,则判定寻路失败。

可选地,所述根据所述开始节点、终止节点和最短路树,生成所述起点和终点之间的寻路路径,包括:

根据所述开始节点和所述最短路树生成对象路径;

根据所述起始对象和开始节点生成切入路径;

根据所述终止对象和终止节点生成切出路径;

采用所述对象路径、切入路径和切出路径,生成所述起点和终点之间的寻路路径。

可选地,所述根据所述起点、起始对象和开始节点生成切入路径,包括:

若所述起点位于所述起始对象中,则连接所述起点与所述开始节点生成切入路径;

若所述起点不位于所述起始对象中,则从所述起始对象中确定距离起点最近的第三临时节点,连接所述起点与第三临时节点以及连接所述第三临时节点和开始节点生成切入路径。

可选地,所述根据所述终点、终止对象和终止节点计算得到切出路径,包括:

若所述终点位于所述终止对象中,则连接所述终点与所述终止节点生成切入路径;

若所述终点不位于所述终止对象中,则从所述终止对象中确定距离终点最近的第四临时节点,连接所述终点与第三临时节点以及连接所述第三临时节点和终止节点生成切入路径。

可选地,所述方法还包括:

控制所述游戏场景中的虚拟角色按照所述寻路路径前进。

本发明实施例还公开了一种游戏场景中的路径生成装置,包括:

位置获取模块,用于获取所述游戏场景中的起点和终点;

场编数据确定模块,用于确定所述游戏场景对应的场编数据,所述场编数据包含多个多边形;

寻路路径生成模块,用于采用所述多个多边形生成所述起点和终点之间的寻路路径。

本发明实施例还公开了一种电子设备,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本发明实施例任一项所述的方法。

本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例任一项所述的方法。

本发明实施例包括以下优点:

在本发明实施例中,通过获取游戏场景中的起点和终点,确定游戏场景对应的场编数据,采用场编数据中的多个多边形生成起点和终点之间的寻路路径,从而可以覆盖到基于面生成寻路路径,解决了宽路与大平原的问题,避免只能基于点和线生成寻路路径。而且,对于同一条路,只要起点或者终点不同,路径就是不同的,使得生成的路径更加自然和多样。

附图说明

图1是本发明的一种游戏场景中的路径生成方法实施例的步骤流程图;

图2是本发明的一种游戏场景的中的多边形的示意图;

图3是本发明的一种针对图2中的多边形生成的临时边和节点之间连边的示意图;

图4是本发明的一种采用图3中的临时边和节点之间连边生成的最短路树的示意图;

图5是本发明的一种采用图4中的最短路树生成的寻路路径的示意图;

图6是本发明的一种游戏场景中的路径生成装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

在本发明其中一种实施例中的游戏场景中的路径生成方法可以运行于终端设备或者是服务器。其中,终端设备可以为本地终端设备。当游戏场景中的路径生成方法运行于服务器时,该游戏场景中的路径生成方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。

在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,游戏场景中的路径生成方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行游戏场景中的路径生成方法的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。

在一可选的实施方式中,终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。

参照图1,示出了本发明的一种游戏场景中的路径生成方法实施例的步骤流程图,具体可以包括如下步骤:

步骤101,获取所述游戏场景中的起点和终点;

本发明实施例可以在终端设备中实现,该终端设备可以是前述提到的本地终端设备,也可以是前述提到的云交互系统中的客户端设备,终端设备可以包括各种移动终端,例如,手机、平板电脑、游戏机、PDA等,其可以与用户通过键盘、虚拟键盘、触摸板、触摸屏以及声控设备等输入设备来进行人机交互。该移动终端的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等,通常可以支持各种游戏应用的运行。

通过在终端设备上运行游戏应用,并在终端设备的触控显示器上渲染图形用户界面,图形用户界面所显示的内容至少部分地包含一局部或全部的游戏场景,游戏场景的具体形态可以是方形,也可以是其它形状(比如,圆形等)。具体地,游戏场景中可以包括至少一虚拟角色,该虚拟角色可以是玩家通过终端设备进行操控的游戏虚拟角色,可以通过图形用户界面所呈现,所呈现的内容可以包含虚拟角色的全部,也可以是虚拟角色的局部。例如,在第三人称视角游戏中,图形用户界面所呈现的内容可以包含虚拟角色的全部,或者,在第一人称视角游戏中,图形用户界面所呈现的内容可以包含虚拟角色的部分或局部。

在一些游戏的情境中,玩家可以控制虚拟角色自动寻路前往目的地,通过选择游戏场景中的需要前往的目的地,在玩家选择完目的地之后,相当于向游戏应用发送了一个自动寻路的指令,游戏应用可以响应与该自动寻路的指令,获取游戏场景中的起点和终点,以根据该起点和终点生成寻路路径。其中,起点可以是游戏场景中虚拟角色所处的位置,终点可以是玩家所选择的目的地。

步骤102,确定所述游戏场景对应的场编数据,所述场编数据包含多个多边形;

其中,场编数据可以是用于描述组成游戏场景的多边形的数据,在场编数据中可以包含多个多边形,该多边形可以指凸多边形。具体的,可以预先针对游戏场景编辑其所包含的多边形,并存储编辑得到的场编数据,例如,可以将得到的场编数据存储为Json格式。游戏场景可以具备一一对应的场编数据,在需要确定场编数据时,可以直接从存储的场编数据中,确定当前的游戏场景对应的场编数据。

步骤103,采用所述多个多边形生成所述起点和终点之间的寻路路径。

在本发明实施例中,可以通过提取场编数据中的多个多边形,然后采用多个多边形生成起点和终点之间的寻路路径,从而可以基于多边形生成寻路路径。

具体的,在同一个多边形之内,任意两个点之间直线可达,若起点和终点位于同一个多边形之内,则可以直接确定起点和终点之间的线段为寻路路径。若起点和终点不位于同一个多边形之内,则可以生成起点到最近的一个多边形的路径,生成终点到最近的一个多边形之间的路径,以及生成这两个多边形之间的路径,从而得到最终的寻路路径。

通过获取游戏场景中的起点和终点,确定游戏场景对应的场编数据,采用场编数据中的多个多边形生成起点和终点之间的寻路路径,从而可以覆盖到基于面生成寻路路径,解决了宽路与大平原的问题,避免只能基于点和线生成寻路路径。而且,对于同一条路,只要起点或者终点不同,路径就是不同的,使得生成的路径更加自然和多样。此外,相对于原先需要编辑很多路点和连线的情况,这种方案只需要画一些多边形即可,使得游戏场景的编辑更加方便。

在本发明的一种优选实施例中,所述步骤103可以包括如下子步骤:

子步骤S11,计算所述多个多边形之间的多个交集;

具体的,可以采用半平面交算法计算多个多边形之间的多个交集。

子步骤S12,针对每个交集生成对应的节点,所述节点携带交集信息和中心位置;

在计算得到多个多边形之间的交集之后,可以进一步针对每个交集生成对应的节点,该节点用于记录多边形之间交集信息和中心位置,该交集信息可以指描述相交的多边形,例如,交集信息为:多边形A和多边形B的交集。

如图2示出了本发明的一种游戏场景的中的多边形的示意图,其中,S点为游戏场景的起点,T点为游戏场景的终点,阴影部分是各个多边形的交集,即为各个节点。

子步骤S13,从所述多个多边形中确定距离所述起点最近的起始对象;

具体的,可以计算起点与各个多边形的距离,然后根据计算得到的距离确定距离最小的起始对象。

此外,还可以确定距离最小的N个多边形,得到起始对象集合。其中,N可以是预先设定的数值,用于表示需要确定的距离最近多边形的数量,例如,N为3,则确定三个多边形作为起始对象集合的元素。通过确定N个多边形来生成寻路路径,可以提高生成寻路路径的多样性,在具体实现时,N可以根据实际需要进行设置,本发明实施例对此并不限制。

子步骤S14,从所述多个多边形中确定距离所述终点最近的终止对象;

具体的,可以计算终点与各个多边形的距离,然后根据计算得到的距离确定距离最小的终止对象。

此外,还可以确定距离最小的N个多边形,得到终止对象集合,其中,N可以是预先设定的数值,用于表示需要确定的距离最近多边形的数量,例如,N为3,则确定三个多边形作为终止对象集合的元素。在具体实现时,N可以根据实际需要进行设置,本发明实施例对此并不限制。

子步骤S15,当所述起始对象与所述终止对象相同时,生成通过单个多边形时所述起点和终点之间的寻路路径;

具体的,确定起始对象和终止对象之后,可以进一步判断起始对象与终止对象是否相同,若起始对象与终止对象相同,则可以直接在起始对象和/或终止对象中生成起点和终点之间直线为的寻路路径。

子步骤S16,当所述起始对象与所述终止对象不相同时,生成通过多个多边形时所述起点和终点之间的寻路路径。

在本发明实施例中,当起始对象与所述终止对象不相同时,则需要跨多边形生成起点和终点之间的寻路路径,即可以生成通过多个多边形时起点和终点之间的寻路路径。

在本发明的一种优选实施例中,所述子步骤S16可以包括如下子步骤:

子步骤S161,针对所述多个多边形的节点中,位于同一个多边形中的每两个节点生成节点线段;

在本发明实施例中,可以针对多个多边形的节点中,位于同一个多边形中的每两个节点生成节点线段,其中,线段长度即为两个节点之间的直线距离。

子步骤S162,在与所述终点相同的位置生成第一临时节点;

其中,第一临时节点用于确定终点与多个多边形的节点之间的最短路树。

子步骤S163,根据所述第一临时节点和所述多个多边形中的节点线段生成最短路树;

具体的,假设生成第一临时节点为b,b的位置与终点相同,根据b和节点线段生成最短路树。作为一种示例,可以以第一临时节点b为根节点,采用dijkstra算法,生成第一临时节点和多个多边形中的节点线段生成最短路树。

子步骤S164,采用所述最短路树生成所述起点和终点之间的寻路路径。

在以终点为基准,生成最短路树之后,可以进一步采用最短路树生成起点和终点之间的寻路路径。

在本发明的一种优选实施例中,所述子步骤S163可以包括如下子步骤:

子步骤S163-1,若所述第一临时节点位于所述终止对象中,则生成所述第一临时节点与所述终止对象中各个节点之间的第一线段,采用所述第一线段和所述多个多边形中的节点线段生成最短路树;

在本发明实施例中,可以判断第一临时节点是否位于终止对象中,若第一临时节点位于终止对象中,则可以第一临时节点来生成最短路树。

具体的,可以直接生成第一临时节点与终止对象中各个节点之间的第一线段,然后采用第一线段和多个多边形中的节点线段生成最短路树。

其中,生成的第一线段可以为临时边,即不是采用多边形的两个节点生成的线段,临时边在终点的位置发生变化时需要重新确定,而采用多边形的两个节点生成的线段不需要重新确定。

子步骤S163-2,若所述第一临时节点不位于所述终止对象中,则从所述终止对象中确定与所述第一临时节点的距离最近的第二临时节点,生成所述第一临时节点与所述第二临时节点之间的第二线段,以及,生成所述第二临时节点与所述终止对象中各个节点之间的第三线段;采用所述第二线段、第三线段和所述多个多边形中的节点线段生成最短路树。

在本发明实施例中,若第一临时节点不位于终止对象中,则需要首先确定第一临时节点到终止对象的最短线段,然后再生成最短路树。

具体的,可以从终止对象中确定与第一临时节点的距离最近的第二临时节点,然后生成第一临时节点与第二临时节点之间的第二线段,以及,生成第二临时节点与终止对象中各个节点之间的第三线段,然后采用第二线段、第三线段和多个多边形中的节点线段生成最短路树。其中,生成的第二线段和第三线段为临时边。

如图3示出了本发明的一种针对图2中的多边形生成的临时边和节点之间连边的示意图,其中,线段AT为临时边,其余的线段为节点之间的连边。

如图4示出了本发明的一种采用图3中的临时边和节点之间连边生成的最短路树的示意图。

在本发明的一种优选实施例中,所述子步骤S164可以包括如下子步骤:

子步骤S164-1,判断所述起始对象中是否有存在于所述最短路树中的节点;

具体的,可以依次遍历起始对象中的每一个节点,判断该节点是否存在于最短路树中。

子步骤S164-2,若所述起始对象中有存在于所述最短路树中的节点,则确定所述起始对象中与所述起点和终点的距离最小的开始节点;根据所述开始节点确定所述终止对象中的终止节点;根据所述开始节点、终止节点和最短路树,生成所述起点和终点之间的寻路路径。

在本发明实施例中,若起始对象集合中有存在于最短路树中的目标节点,则表示起点与终点中可以连通,可以生成起点和终点之间的寻路路径。

首先,计算起点通过起始对象中的节点到达终点的距离,从计算得到的多个距离中确定距离最小的节点为开始节点。具体的,可以计算起始对象中的每一个节点与起点之间的第一距离,以及计算该节点与终点之间的第二距离,将第一距离和第二距离相加得到第三距离,确定第三距离最小的节点作为开始节点。进一步的,可以根据开始节点确定终止对象中的终止节点。具体的,可以从最短路树中确定终止节点,由于最短路树以终点(第一临时节点)为根节点生成,因此,可以从最短路树中确定开始节点所在的分支的倒数第二个节点为终止节点。在确定开始节点和终止节点之后,可以根据开始节点、终止节点和最短路树,生成起点和终点之间的寻路路径。

在本发明的一种优选实施例中,所述子步骤S164还可以包括如下子步骤:

子步骤S164-3,若所述起始对象中没有存在于所述最短路树中的节点,则判定寻路失败。

在本发明实施例中,若起始对象中没有存在于最短路树中的节点,则表示在游戏场景对应的所有的多边形中,没有能够使起始对象与终止对象之间连通的多边形,因此,游戏场景中的起点与终点之间不可达,可以判定寻路失败。在判定寻路失败之后,可以生成失败提示信息,在图形用户界面上展示该失败提示信息,以提醒玩家当前选择的目的地不可达。

在本发明的一种优选实施例中,所述子步骤S164-2可以包括如下子步骤:

根据所述开始节点和所述最短路树生成对象路径;根据所述起点、起始对象和开始节点生成切入路径;根据所述终点、终止对象和终止节点生成切出路径;采用所述对象路径、切入路径和切出路径,生成所述起点和终点之间的寻路路径。

在本发明实施例中,可以根据开始节点和最短路树生成对象路径,该对象路径可以为最短路树中从开始节点到终止节点之间的路径,可以直接通过查找最短路树确定。根据起点、起始对象和开始节点生成切入路径,根据终点、终止对象和终止节点生成切出路径,采用对象路径、切入路径和切出路径生成起点和终点之间的寻路路径,其中,寻路路径=对象路径+切入路径+切出路径。

在本发明的一种优选实施例中,所述根据所述起点、起始对象和开始节点生成切入路径,包括:

若所述起点位于所述起始对象中,则连接所述起点与所述开始节点生成切入路径;若所述起点不位于所述起始对象中,则从所述起始对象中确定距离起点最近的第三临时节点,连接所述起点与第三临时节点以及连接所述第三临时节点和开始节点生成切入路径。

具体的,可以首先判断起点是否位于起始对象之内,若起点位于起始对象之内,由于同一个多边形之内的两点之间直线可达,则可以直接确定起点到开始节点之间的线段作为切入路径,通过连接起点与开始节点生成切入路径。若起点不位于起始对象之内,则需要以折线的方式生成切入路径,具体的,可以从起始对象中确定距离起点最近的第三临时节点,连接起点与第三临时节点以及连接第三临时节点和开始节点生成切入路径。

在本发明的一种优选实施例中,所述根据所述终点、终止对象和终止节点计算得到切出路径,包括:

若所述终点位于所述终止对象中,则连接所述终点与所述终止节点生成切入路径;若所述终点不位于所述终止对象中,则从所述终止对象中确定距离终点最近的第四临时节点,连接所述终点与第三临时节点以及连接所述第三临时节点和终止节点生成切入路径。

具体的,可以首先判断终点是否位于终止对象之内,若终点位于终止对象之内,由于同一个多边形之内的两点之间直线可达,则可以直接确定终点到终止节点之间的线段作为切出路径,通过连接起点与开始节点生成切出路径。若起点不位于终止对象之内,则需要以折线的方式生成切出路径,具体的,可以从终止对象中确定距离终点最近的第四临时节点,连接终点与第四临时节点以及连接第四临时节点和终止节点生成切入路径。如图5示出了本发明的一种采用图4中的最短路树生成的寻路路径的示意图。

在本发明的一种优选实施例中,所述方法还包括:

控制所述游戏场景中的虚拟角色按照所述寻路路径前进。

在本发明实施例中,在确定游戏场景中的起点和终点之间的寻路路径之后,可以进一步控制游戏场景中的虚拟角色按照寻路路径前进,以使得虚拟角色可以自动寻路前往终点对应的位置。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图6,示出了本发明的一种游戏场景中的路径生成装置实施例的结构框图,具体可以包括如下模块:

位置获取模块601,用于获取所述游戏场景中的起点和终点;

场编数据确定模块602,用于确定所述游戏场景对应的场编数据,所述场编数据包含多个多边形;

寻路路径生成模块603,用于采用所述多个多边形生成所述起点和终点之间的寻路路径。

在本发明的一种优选实施例中,所述寻路路径生成模块603,包括:

交集计算子模块,用于计算所述多个多边形之间的多个交集;

节点生成子模块,用于针对每个交集生成对应的节点,所述节点携带交集信息和中心位置;

起始对象确定子模块,用于从所述多个多边形中确定距离所述起点最近的起始对象;

终止对象确定生成子模块,用于从所述多个多边形中确定距离所述终点最近的终止对象;

第一寻路路径生成子模块,用于当所述起始对象与所述终止对象相同时,生成通过单个多边形时所述起点和终点之间的寻路路径;

第二寻路路径生成子模块,用于当所述起始对象与所述终止对象不相同时,生成通过多个多边形时所述起点和终点之间的寻路路径。

在本发明的一种优选实施例中,所述第二寻路路径生成子模块,包括:

节点线段生成子模块,用于针对所述多个多边形的节点中,位于同一个多边形中的每两个节点生成节点线段;

临时节点生成子模块,用于在与所述终点相同的位置生成第一临时节点;

最短路树生成子模块,用于根据所述第一临时节点和所述多个多边形中的节点线段生成最短路树;

寻路路径生成子模块,用于采用所述最短路树生成所述起点和终点之间的寻路路径。

在本发明的一种优选实施例中,所述最短路树生成子模块,包括:

第一最短路树生成单元,用于若所述第一临时节点位于所述终止对象中,则生成所述第一临时节点与所述终止对象中各个节点之间的第一线段,采用所述第一线段和所述多个多边形中的节点线段生成最短路树;

第二最短路树生成单元,用于若所述第一临时节点不位于所述终止对象中,则从所述终止对象中确定与所述第一临时节点的距离最近的第二临时节点,生成所述第一临时节点与所述第二临时节点之间的第二线段,以及,生成所述第二临时节点与所述终止对象中各个节点之间的第三线段;采用所述第二线段、第三线段和所述多个多边形中的节点线段生成最短路树。

在本发明的一种优选实施例中,所述寻路路径生成子模块,包括:

节点判断单元,用于判断所述起始对象中是否有存在于所述最短路树中的节点;

寻路路径生成单元,用于若所述起始对象中有存在于所述最短路树中的节点,则确定所述起始对象中与所述起点和终点的距离最小的开始节点;根据所述开始节点确定所述终止对象中的终止节点;根据所述开始节点、终止节点和最短路树,生成所述起点和终点之间的寻路路径。

在本发明的一种优选实施例中,所述寻路路径生成子模块,还包括:

寻路失败判定单元,用于若所述起始对象中没有存在于所述最短路树中的节点,则判定寻路失败。

在本发明的一种优选实施例中,所述寻路路径生成单元,包括:

对象路径生成子单元,用于根据所述开始节点和所述最短路树生成对象路径;

切入路径生成子单元,用于根据所述起点、起始对象和开始节点生成切入路径;

切出路径生成子单元,用于根据所述终点、终止对象和终止节点生成切出路径;

寻路路径生成子单元,用于采用所述对象路径、切入路径和切出路径生成所述起点和终点之间的寻路路径。

在本发明的一种优选实施例中,所述切入路径生成子单元,包括:

第一切入路径生成子单元,用于若所述起点位于所述起始对象中,则连接所述起点与所述开始节点生成切入路径;

第二切入路径生成子单元,用于若所述起点不位于所述起始对象中,则从所述起始对象中确定距离起点最近的第三临时节点,连接所述起点与第三临时节点以及连接所述第三临时节点和开始节点生成切入路径。

在本发明的一种优选实施例中,所述切出路径生成子单元,包括:

第一切出路径生成子单元,用于若所述终点位于所述终止对象中,则连接所述终点与所述终止节点生成切入路径;

第二切出路径生成子单元,用于若所述终点不位于所述终止对象中,则从所述终止对象中确定距离终点最近的第四临时节点,连接所述终点与第四临时节点以及连接所述第四临时节点和终止节点生成切入路径。

在本发明的一种优选实施例中,所述装置还包括:

寻路控制模块,用于控制所述游戏场景中的虚拟角色按照所述寻路路径前进。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例提供了一种电子设备,包括:

一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本发明实施例任一项所述的方法。

本发明实施例公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例任一项所述的方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种游戏场景中的路径生成方法和一种游戏场景中的路径生成装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种游戏场景中的路径生成方法及装置
  • 一种RPG游戏场景路径的自动生成方法及装置
技术分类

06120112192291