一种游戏场景中的路径拟合方法及装置与流程

文档序号:22328167发布日期:2020-09-25 17:58阅读:224来源:国知局
一种游戏场景中的路径拟合方法及装置与流程

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



背景技术:

在游戏领域,玩家以及怪物的行进路线的计算以及显示是一个重要的问题。首先,在游戏场景中布置的用于寻路的关键路点是不均匀的,特别是一些野外场景中的关键路点非常稀疏,所以,需要利用已有的路点在小地图上均匀显示,用于怪物或者玩家寻路指引。另外,在人工智能领域,给定几个关键路点,怎么让机器人更加流畅且合乎常理地前进是一个重要的课题,为了降低路径可达性计算消耗的性能,通常给定的点集是一些稀疏的关键路点。如果单纯地在这些关键路点上面设置位置,会导致采用设置的这些位置来寻路的机器人表现得非常突兀而不顺畅。因此,需要对这些关键路点进行进一步的指引并且均匀,然后再让机器人在这些点集上面行进。

目前,解决这类路径指引计算与显示问题,通常使用一般的线性拟合或者指数拟合方法。具体就是,根据给定的点集拟合出一条经过所有点的线性函数。然后根据拟合出的线性函数,扩充点集。然而,这种方法对于路径的拟合有一些明显的缺陷:多项式拟合需要确定拟合幂函数次数;另外还需要考虑误差,例如,路线往往是多样化的,可能会回头,交叉等等,因此,利用拟合的方法来扩充点集局限性非常大。



技术实现要素:

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

本发明实施例公开了一种游戏场景中的路径拟合方法,包括:

获取所述游戏场景中的多个关键路点;

根据所述多个关键路点确定多条分段路径;

对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;

根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。

可选地,还包括:

采用所述目标拟合路点和目标关键路点,生成寻路路径;

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

可选地,所述对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点,包括:

依次从所述多条分段路径中确定待操作的分段路径;

计算所述待操作的分段路径中的插值步长;

根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点。

可选地,所述计算所述待操作的分段路径中的插值步长,包括:

计算所述待操作的分段路径的长度;

根据所述待操作的分段路径的长度和预设数量,确定待操作的分段路径中的插值步长。

可选地,所述根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点,包括:

根据所述插值步长,确定所述待操作的分段路径中每一个点对应的拟合路点的位置;其中,所述拟合路点的位置与所述拟合路点在所述待操作的分段路径上,对应点的位置的误差不超过预设误差。

可选地,所述根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点,包括:

依次从所述多个关键路点中确定待处理的关键路点;

根据所述各分段路径中的多个拟合路点,确定所述待处理的关键路点对应的两条分段路径间的拐角的角度;

当所述两条分段路径间的拐角的角度小于预设角度时,从所述两条分段路径中,确定与所述待处理的关键路点邻近的一对或多对拟合路点;

从两条分段路径对应的多个拟合路点中,删除所述邻近的一对或多对拟合路点得到目标拟合路点;

计算所述邻近的一对或多对拟合路点的中点;

采用所述中点替换所述待处理的关键路点,得到目标关键路点。

可选地,所述根据所述多个关键路点确定多条分段路径,包括:

依次按照预设方向确定所述多个关键路点中的两个关键路点;

根据所述两个关键路点生成分段路径。

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

关键路点获取模块,用于获取所述游戏场景中的多个关键路点;

分段路径确定模块,用于根据所述多个关键路点确定多条分段路径;

分段路径插值模块,用于对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;

平滑处理模块,用于根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。

可选地,所述装置还包括:

寻路路径生成模块,用于采用所述目标拟合路点和目标关键路点,生成寻路路径;

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

可选地,所述分段路径插值模块,包括:

分段路径确定子模块,用于依次从所述多条分段路径中确定待操作的分段路径;

插值步长计算子模块,用于计算所述待操作的分段路径中的插值步长;

路点插值子模块,用于根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点。

可选地,所述插值步长计算子模块,包括:

长度计算单元,用于计算所述待操作的分段路径的长度;

插值步长计算单元,用于根据所述待操作的分段路径的长度和预设数量,确定待操作的分段路径中的插值步长。

可选地,所述路点插值子模块,包括:

拟合路点的位置确定单元,用于根据所述插值步长,确定所述待操作的分段路径中每一个点对应的拟合路点的位置;其中,所述拟合路点的位置与所述拟合路点在所述待操作的分段路径上,对应点的位置的误差不超过预设误差。

可选地,所述平滑处理模块,包括:

关键路点确定子模块,用于依次从所述多个关键路点中确定待处理的关键路点;

拐角的角度确定子模块,用于根据所述各分段路径中的多个拟合路点,确定所述待处理的关键路点对应的两条分段路径间的拐角的角度;

拟合路点确定子模块,用于当所述两条分段路径间的拐角的角度小于预设角度时,从所述两条分段路径中,确定与所述待处理的关键路点邻近的一对或多对拟合路点;

拟合路点删除子模块,用于从两条分段路径对应的多个拟合路点中,删除所述邻近的一对或多对拟合路点得到目标拟合路点;

中点计算子模块,用于计算所述邻近的一对或多对拟合路点的中点;

关键路点替换子模块,用于采用所述中点替换所述待处理的关键路点,得到目标关键路点。

可选地,所述分段路径确定模块,包括:

关键路点确定子模块,用于依次按照预设方向确定所述多个关键路点中的两个关键路点;

分段路径生成子模块,用于根据所述两个关键路点生成分段路径。

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

一个或多个处理器;和

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

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

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

在本发明实施例中,通过根据多个关键路点确定多条分段路径,对多条分段路径进行插值,得到各分段路径中的多个拟合路点,并根据各分段路径中的多个拟合路点,对多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点,使得通过分段的方式对关键路点进行处理,可以保证所得的寻路路径的误差在可控范围内,同时,通过对分段路径间的拐角进行平滑处理,避免拐角过小的路点中,寻路路径太突兀,避免虚拟对象在该位置前进时不顺畅,表现过于机械。

附图说明

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

图2是本发明的一种对关键路点进行插值的示意图;

图3是本发明的一种分段路径的示意图;

图4是本发明的另一种分段路径的示意图;

图5是本发明的一种分段路径间的拐角示意图;

图6是本发明的一种路径拟合效果与其他线性拟合效果的对比示意图;

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

具体实施方式

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

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

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

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

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

步骤101,获取所述游戏场景中的多个关键路点;

具体的,当游戏场景中的虚拟对象需要寻路时,可以获取游戏场景中的多个关键路点,以根据这些关键路点拟合得到寻路路径。

其中,关键路点是游戏场景中布置的用于虚拟对象寻路的关键位置,游戏场景中的关键路点是不均匀的,即各关键路点间的距离不是相等的,有些游戏场景中的关键路点非常稀疏,而有些游戏场景中的关键路点则非常密集。为了降低路径可达性计算的性能消耗,在一次寻路过程中给定的关键路点是一些稀疏的关键点,通常包括起点、终点和中途的一些拐点等。

需要说明的是,虚拟对象可以是游戏场景中玩家通过终端设备所控制的游戏虚拟角色,也可以是游戏中敌方玩家所控制的游戏虚拟角色,也可以是游戏开发者在某个具体游戏场景中预先设置的非玩家角色(non-practicingcharacter,npc)等。

步骤102,根据所述多个关键路点确定多条分段路径;

具体的,可以按照寻路的方向,依次获取相邻的两个关键路点,生成这两个关键路点之间的分段路径。通过分段的方式对关键路点进行处理,可以保证所得的寻路路径的误差在可控范围内。

作为一种示例,假设相邻的两个关键路点的坐标分别(xi-1,yi-1)和(xi,yi),且(xi-xi-1)>(yi-yi-1)。则根据两点之间的直线公式,可知分段路径满足如下公式:

其中,分段路径的斜率a=(yi-yi-1)/(xi-xi-1),则斜率a必定满足0<a<1。

步骤103,对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;

通过分别对每一条分段路径进行均匀插值,所插值的点步长相等,得到各分段路径中的多个拟合路点,如,针对每一条分段路径设置对应的步长,然后根据这个步长计算分段路径中每一个点的位置。具体的,可以采用bresenham直线算法确定每个点的位置,以保证每一条分段路径的误差在可控范围内。

需要说明的是,步长可以根据不同情境或者不同比例尺下的拟合设置为不同的值,本发明实施例对此并不限制。步长的选择与计算量折中,例如,针对每一条分段路径,其长度是固定的,那么可以设置一个路点数量(路点数量越多则所需的计算量越多),根据长度和路点数量可以确定步长,从而可以通过可配置的步长以及路点数量,提供较小的计算量。

步骤104,根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。

由于路径的多样性,可能会存在回头,交叉等情况。为了避免拐角过小的路点中,前进的轨迹会太突兀,虚拟对象在该位置前进时不顺畅,表现过于机械,可以对由各分段路径确定的路径中,拐角的位置进行平滑处理,使得拐角的位置表现得更为顺畅。

具体的,可以根据所述各分段路径中的多个拟合路点,依次确定两条分段路径之间的拐角,判断该拐角是否小于预设角度,当拐角小于预设角度时,则对该拐角进行平滑处理。其中,预设角度可以是预先设定的角度临界值,例如,预设角度为120度。

平滑处理可以包括对拐角附近的拟合路点和关键路点进行调整,使得拐角的角度变大,从而虚拟对象在该位置前进能够表现得更为顺畅。具体的,两条分段路径之间的拐角位置的角点通常为关键路点,可以删除该关键路点以及两条分段路径中分别与该关键路点邻近的一个或多个拟合路点,并计算所删除的拟合路点的中点作为新的关键路点,将剩余的拟合路点作为目标拟合路点,将剩余的关键路点和新的关键路点作为目标关键路点。如图2示出了一种对关键路点进行插值的示意图,其中,x是拟合路点,★是关键路点,对关键路点进行均匀插值,右上角的两个关键点的拟合。对于右上角的两个关键路点,由于其对应的分段路径间的拐角相对较小,通过本发明实施例的方法进行平滑处理,拐角得到了比较好的平滑效果。

通过根据多个关键路点确定多条分段路径,对多条分段路径进行插值,得到各分段路径中的多个拟合路点,并根据各分段路径中的多个拟合路点,对多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点,使得通过分段的方式对关键路点进行处理,可以保证所得的寻路路径的误差在可控范围内,同时,通过对分段路径间的拐角进行平滑处理,避免拐角过小的路点中,寻路路径太突兀,避免虚拟对象在该位置前进时不顺畅,表现过于机械。

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

采用所述目标拟合路点和目标关键路点,生成寻路路径;控制游戏场景中的虚拟对象按照所述寻路路径前进。

具体的,可以按照寻路的方向,连接目标拟合路点和目标关键路点生成寻路路径,并控制游戏场景中的虚拟对象按照寻路路径前进。

作为一种示例,可以按照寻路的方向,连接如图2中的目标拟合路点和目标关键路点,由于经过平滑处理删除了右上角的两个关键路点,寻路路径不经过这两个关键路点,使得生成的寻路路径更为平滑,从而在控制游戏场景中的虚拟对象按照寻路路径前进时,虚拟对象能够表现得更为顺畅,具有良好的表现效果。

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

子步骤s11,依次从所述多条分段路径中确定待操作的分段路径;

子步骤s12,计算所述待操作的分段路径中的插值步长;

子步骤s13,根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点。

在本发明实施例中,可以依次从多条分段路径中确定待操作的分段路径,然后计算待操作的分段路径中的插值步长,根据插值步长对待操作的分段路径进行插值,得到待操作的分段路径中的多个拟合路点。各分段路径的插值步长相同,则可以对分段路径均匀填充路点,使得生成的寻路路径表现更为顺畅。

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

计算所述待操作的分段路径的长度;根据所述待操作的分段路径的长度和预设数量,确定待操作的分段路径中的插值步长。

具体的,可以根据待操作的分段路径的两个关键路点,计算得到待操作的分段路径的长度。其中,待操作的分段路径的长度li满足如下公式:

其中,(xi-1,yi-1)和(xi,yi)分别为两个关键路点的坐标,且(xi-xi-1)>(yi-yi-1)。

预设数量可以是预先设定的插值路点数量,表示为counter。在具体实现中,可以根据终端设备的性能来确定匹配的预设数量,终端设备的性能越好,则匹配的预设数量越大,以使得拟合的路点更多增强表现效果;终端设备的性能越差,则匹配的预设数量越小,以节省路点计算的性能消耗。例如,性能好的终端设备,在运行游戏应用时,通常设置的分辨率较大,而性能较差的终端设备,在运行游戏应用时,通常设置的分辨率较小。可以通过获取分辨率,并根据分辨率确定匹配的预设数量。

在计算得到待操作的分段路径的长度li之后,可以通过计算待操作的分段路径的长度li与预设数量counter的比值,即可得到待操作的分段路径中的插值步长。设插值步长为step,则step=li/counter。

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

根据所述插值步长,确定所述待操作的分段路径中每一个点对应的拟合路点的位置;其中,所述拟合路点的位置与所述拟合路点,在所述待操作的分段路径上对应点的位置的误差不超过预设误差。

其中,预设误差为预先设定的误差值,用于表示实际确定的拟合路点与,例如,预设误差为插值步长的一半。

通过插值步长可以确定待操作的分段路径中每一个点对应的拟合路点的位置,基本原则是当x增加了相应的插值步长以后,y增加或者不增加插值步长,y是否增加插值步长取决于误差是否超过给定的预设误差,如当预设误差为插值步长的一半,误差不超过插值步长的一半。

具体的,设两个关键路点的坐标分别为(xi-1,yi-1)和(xi,yi),可以找出在xi-1与xi之间,第x行相对应的第y列,使得该点的位置最接近(xi-1,yi-1)和(xi,yi)确定的待操作的分段路径。根据直线公式,对于每个点的确定x值,直线基准点的y值满足如下公式:

根据上述直线公式,找出使y上升一个插值步长,x需要增加步长数量。具体的,算法需计算每一像素点与该线之间的误差。对于每一点的x,误差应为其相对的预期点的y*(即拟合路点的y轴方向上的值)与该分段路径上实际的y值(即待操作的分段路径上对应点的y轴方向上的值)的差距。每当误差值超出给定步长的一半时,线就会比较靠近y*加相应步长的拟合点,因此,y*的值便会加一个步长,且误差减少一个步长。

如图3所示,给定的两个关键路点可以确定黑色实线的走向。从左到右按照插值步长增加xt,如果x每增加一个插值步长,误差值就会增加s,那么,如果这个误差值s>0.5*yt,其中,yt为y增加的插值步长,那么线就会比较靠近y增加一个插值步长所对应的点(x+i*xt,y+j*yt),i为x增加的插值步长数,j为y增加的插值步长数。如图4所示,第三个点的y坐标需要增加一个步长。

需要说明的是,对于不同的直线走向,插值步长不一定是正数,可以根据不同斜率,调整插值步长的增长方向,由于寻路方向可能是坐标轴的各个方向,所有对于不同的方向,确定了不同的斜率,因此对于不同斜率,只需要调整插值步长的增长方向即可。

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

子步骤s21,依次从所述多个关键路点中确定待处理的关键路点;

子步骤s22,根据所述各分段路径中的多个拟合路点,确定所述待处理的关键路点对应的两条分段路径间的拐角的角度;

除了起点和终点对应的关键路点,对于中间的关键路点,其具有两个相邻的关键路点,可以分别与这两个关键路点确定两条分段路径,两条分段路径具有交点(即为中间的关键路点)。分别获取分段路径中与中间的关键路点相邻的拟合路点,根据这两个拟合路点可以确定中间的关键路点对应的两条分段路径间的拐角的角度。如图5示出了一种分段路径间的拐角示意图,拐角的角度为α。

子步骤s23,当所述两条分段路径间的拐角的角度小于预设角度时,从所述两条分段路径中,确定与所述待处理的关键路点邻近的一对或多对拟合路点;

其中,预设角度可以是预先设定的角度临界值,如预设角度为120度。

当两条分段路径间的拐角的角度小于预设角度时,则认为拐角较小会导致生成的寻路路径不够平滑,需要进行平滑处理,从两条分段路径中,确定与待处理的关键路点邻近的一对或两对拟合路点(即两条分段路径确定相同个数的拟合路点),并进行后续的步骤s23-s25。具体的,需要选择多少对拟合路点可以根据拐角的角度来确定,拐角的角度越小则选择的拟合路点也越多,如,预设角度为120度,设拐角的角度为60度,则选择与待处理的关键路点邻近的3对拟合路点;设拐角的角度为110度,则选择与待处理的关键路点邻近的1对拟合路点。作为一种示例,可以设置拐角的角度区间与拟合路点数量的对应关系表,直接通过查找对应关系表来确定需要选择的拟合路点数量。

当两条分段路径间的拐角的角度大于或等于预设角度时,则认为拐角较大,不会导致生成的寻路路径不够平滑,不需要进行平滑处理,则不进行后续的步骤s23-s25,并处理下一个关键路点对应的拐角。

子步骤s23,从两条分段路径对应的多个拟合路点中,删除所述邻近的一对或多对拟合路点得到目标拟合路点;

子步骤s24,计算所述邻近的一对或多对拟合路点的中点;

具体的,设有1对拟合路点,其两个拟合路点的坐标分别为(x0,y0)和(x1,y1),则两个拟合路点的中点pi满足如下公式:

当多对拟合路点时,则可以分别从选定的多个拟合路点中选择与关键路点最远的拟合路点,采用上述的计算公式计算这两个拟合路点的中点。

子步骤s25,采用所述中点替换所述待处理的关键路点,得到目标关键路点。

采用邻近的两个拟合路点的中点替换待处理的关键路点,得到目标关键路点,使得寻路路径不经过待处理的关键路点,从而待处理的关键路点对应的待处理的关键路点表现更为平滑顺畅。

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

依次按照预设方向确定所述多个关键路点中的两个关键路点;根据所述两个关键路点生成分段路径。

其中,预设方向可以是预先设定的方向,如预设方向为寻路的方向。在本发明实施例中,可以依次按照寻路的方向确定所述多个关键路点中的两个关键路点,并根据两个关键路点生成分段路径。

作为一种示例,假设相邻的两个关键路点的坐标分别(xi-1,yi-1)和(xi,yi),且(xi-xi-1)>(yi-yi-1)。则根据两点之间的直线公式,可知分段路径满足如下公式:

其中,规定x坐标值沿x轴向右增长,y坐标值沿y轴向下增长。x和y的值分别向右及向下增加,而两个关键路点之间的水平距离为xi-xi-1,垂直距离为yi-yi-1。那么,分段路径的斜率a=(yi-yi-1)/(xi-xi-1),则斜率a必定满足0<a<1。

如图6示出了本发明的路径拟合效果与其他线性拟合效果的对比示意图。其中,x表示采用本发明实施例的方案得到的拟合效果,★是关键路点。图6包括linearpolynomial算法的拟合效果,quadraticpolynomial算法的拟合效果和exponential算法的拟合效果,通过图6对比发现,本发明的拟合效果对于此类问题更加贴合实际情况,拥有更好的表现效果。

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

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

关键路点获取模块701,用于获取所述游戏场景中的多个关键路点;

分段路径确定模块702,用于根据所述多个关键路点确定多条分段路径;

分段路径插值模块703,用于对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;

平滑处理模块704,用于根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。

在本发明的一种优选实施例中,所述装置还可以包括如下模块:

寻路路径生成模块,用于采用所述目标拟合路点和目标关键路点,生成寻路路径;

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

在本发明的一种优选实施例中,所述分段路径插值模块703,包括:

分段路径确定子模块,用于依次从所述多条分段路径中确定待操作的分段路径;

插值步长计算子模块,用于计算所述待操作的分段路径中的插值步长;

路点插值子模块,用于根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点。

在本发明的一种优选实施例中,所述插值步长计算子模块,包括:

长度计算单元,用于计算所述待操作的分段路径的长度;

插值步长计算单元,用于根据所述待操作的分段路径的长度和预设数量,确定待操作的分段路径中的插值步长。

在本发明的一种优选实施例中,所述路点插值子模块,包括:

拟合路点的位置确定单元,用于根据所述插值步长,确定所述待操作的分段路径中每一个点对应的拟合路点的位置;其中,所述拟合路点的位置与所述拟合路点在所述待操作的分段路径上,对应点的位置的误差不超过预设误差。

在本发明的一种优选实施例中,所述平滑处理模块704,包括:

关键路点确定子模块,用于依次从所述多个关键路点中确定待处理的关键路点;

拐角的角度确定子模块,用于根据所述各分段路径中的多个拟合路点,确定所述待处理的关键路点对应的两条分段路径间的拐角的角度;

拟合路点确定子模块,用于当所述两条分段路径间的拐角的角度小于预设角度时,从所述两条分段路径中,确定与所述待处理的关键路点邻近的一对或多对拟合路点;

拟合路点删除子模块,用于从两条分段路径对应的多个拟合路点中,删除所述邻近的一对或多对拟合路点得到目标拟合路点;

中点计算子模块,用于计算所述邻近的一对或多对拟合路点的中点;

关键路点替换子模块,用于采用所述中点替换所述待处理的关键路点,得到目标关键路点。

在本发明的一种优选实施例中,所述分段路径确定模块702,包括:

关键路点确定子模块,用于依次按照预设方向确定所述多个关键路点中的两个关键路点;

分段路径生成子模块,用于根据所述两个关键路点生成分段路径。

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

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

一个或多个处理器;和

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

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

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

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

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

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

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

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

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

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

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