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

游戏中的寻路方法及装置、计算机存储介质、电子设备

文献发布时间:2023-06-19 11:30:53


游戏中的寻路方法及装置、计算机存储介质、电子设备

技术领域

本公开涉及计算机技术领域,尤其涉及一种游戏中的寻路方法与游戏中的寻路装置、计算机可读存储介质及电子设备。

背景技术

随着计算机技术的发展,出现了众多移动端游戏以及电脑端游戏,并且,在游戏场景中通常存在虚拟对象之间相互追逐的过程。

在相关技术中,通常被追逐的虚拟对象为一个静态虚拟对象,追逐静态虚拟对象只需朝着静态虚拟对象移动即可。然而在游戏场景中,被追逐的虚拟对象还包括动态虚拟对象,在追逐动态虚拟对象的过程中,如果直接朝着动态虚拟对象移动,不仅会增加追逐的时间,而且有可能追逐不到动态虚拟对象。

鉴于此,本领域亟需开发一种新的游戏中的寻路方法及装置。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

本公开的目的在于提供一种游戏中的寻路方法、游戏中的寻路装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的在游戏中无法追逐到动态虚拟对象的问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本发明实施例的第一个方面,提供一种游戏中的寻路方法,所述方法包括:获取与寻路虚拟对象对应的第一距离和与动态虚拟对象对应的第二距离,并获取所述寻路虚拟对象的第一速度和所述动态虚拟对象的第二速度;确定所述第一速度、所述第一距离、所述第二速度以及所述第二距离之间的多个计算关系;按照所述多个计算关系得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息,以利用所述目标位置信息确定所述寻路虚拟对象与所述动态虚拟对象之间的寻路路径。

在本发明的一种示例性实施例中,所述获取与寻路虚拟对象对应的第一距离和与动态虚拟对象对应的第二距离,包括:获取与动态虚拟对象对应的固定位置信息,并获取与所述动态虚拟对象对应的第二位置信息以及与寻路虚拟对象对应的第一位置信息;根据所述第一位置信息、所述第二位置信息以及所述固定位置信息确定所述第一位置信息在所述第二位置信息和所述固定位置信息连线上的垂点信息;计算所述垂点信息与所述第一位置信息之间的距离得到第一距离,并计算所述垂点信息和所述第二位置信息之间的距离得到第二距离。

在本发明的一种示例性实施例中,所述按照所述多个计算关系得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息,包括:按照所述多个计算关系在所述垂点信息和所述第二位置信息之间得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息。

在本发明的一种示例性实施例中,所述基于所述计算结果得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息,包括:计算所述固定位置信息和所述第二位置信息之间的距离得到第五距离,并对所述计算结果、所述第五距离、所述第二位置信息以及所述固定位置信息进行计算得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息。

在本发明的一种示例性实施例中,所述方法还包括:对所述目标位置信息和所述第一位置信息进行计算得到与所述寻路虚拟对象对应的所述移动方向信息;计算所述目标位置信息与所述第一位置信息之间的位置距离,并根据所述位置距离、所述移动方向信息以及所述第一位置信息更新所述第一位置信息。

在本发明的一种示例性实施例中,所述方法还包括:对更新后的所述第一位置信息和所述第二位置信息进行计算得到位置距离差值,并判断所述位置距离差值与预设距离阈值得到差值判断结果;根据所述差值判断结果确定所述寻路虚拟对象的移动状态。

在本发明的一种示例性实施例中,所述根据所述差值判断结果确定所述寻路虚拟对象的移动状态,包括:若所述差值判断结果为所述位置距离差值小于所述预设距离阈值,停止所述寻路虚拟对象的移动状态;若所述差值判断结果为所述位置距离差值大于或等于所述预设距离阈值,继续所述寻路虚拟对象的移动状态。

在本发明的一种示例性实施例中,所述多个计算关系包括第一比例计算关系、第二比例计算关系以及差值计算关系;所述确定所述第一速度、所述第一距离、所述第二速度以及所述第二距离之间的多个计算关系,包括:通过所述第一速度和所述第二速度确定所述第三距离和所述第四距离之间的所述第一比例计算关系;其中,所述第三距离为所述寻路虚拟对象与所述目标位置信息之间的距离,所述第四距离为所述动态虚拟对象与所述目标位置信息之间的距离;获取与所述寻路虚拟对象对应的角度值,并根据所述角度值确定所述第三距离和所述第一距离之间的所述第二比例计算关系;根据所述角度值和所述第二距离确定所述第四距离与所述第三距离之间的所述差值计算关系。

在本发明的一种示例性实施例中,所述按照所述多个计算关系得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息,包括:对所述多个计算关系进行计算处理得到由所述第一速度、所述第二速度、所述第一距离以及所述第二距离组成的计算结果;基于所述计算结果得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息。

根据本发明实施例的第二个方面,提供一种游戏中的寻路装置,所述装置包括:获取模块,被配置为获取与寻路虚拟对象对应的第一距离和与动态虚拟对象对应的第二距离,并获取所述寻路虚拟对象的第一速度和所述动态虚拟对象的第二速度;确定模块,被配置为确定所述第一速度、所述第一距离、所述第二速度以及所述第二距离之间的多个计算关系;寻路模块,被配置为按照所述多个计算关系得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息,以实现所述寻路虚拟对象向所述动态虚拟对象的寻路。

根据本发明实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例的游戏中的寻路方法。

根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的游戏中的寻路方法。

由上述技术方案可知,本发明示例性实施例中的游戏中的寻路方法、游戏中的寻路装置、计算机存储介质及电子设备至少具备以下优点和积极效果:

在本公开的示例性实施例提供的方法及装置中,一方面,游戏中的虚拟对象可以向动态虚拟对象进行寻路,使得游戏中的寻路不再仅是对静态虚拟对象进行的寻路,使得寻路虚拟对象更具有智能化,进而优化了用户的体验度;另一方面,目标位置信息是通过多个计算关系确定的,降低了游戏中寻路方法的复杂度,进而提高了游戏中寻路方法的执行速度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性示出本公开实施例中游戏中的寻路方法的流程示意图;

图2示意性示出本公开实施例中游戏中寻路虚拟对象追赶动态虚拟对象的示意图;

图3示意性示出本公开实施例中获取第一距离和第二距离的流程示意图;

图4示意性示出本公开实施例中游戏中的寻路方法的流程示意图;

图5示意性示出本公开实施例中游戏中的寻路方法的流程示意图;

图6示意性示出本公开实施例中根据差值判断结果确定寻路虚拟对象的移动状态的流程示意图;

图7示意性示出本公开实施例中确定多个计算关系的流程示意图;

图8示意性示出本公开实施例中根据多个计算关系得到目标位置信息的流程示意图;

图9示意性示出本公开实施例中应用场景下寻路虚拟对象向动态虚拟对象进行寻路的示意图;

图10示意性示出本公开实施例中游戏中的寻路方法与现有技术中的寻路方法的效果对比图;

图11示意性示出本公开实施例中游戏中的寻路方法与现有技术中的寻路方法的效果对比图;

图12示意性示出本公开实施例中一种游戏中的寻路方法装置的结构示意图;

图13示意性示出本公开实施例中一种用于游戏中寻路方法的电子设备;

图14示意性示出本公开实施例中一种用于游戏中的寻路方法的计算机可读存储介质。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。

在相关技术中,存在两种寻路方法,分别为迪杰斯特拉算法和A星搜索算法,并且这两种寻路方法都是寻找一条最合适的达到某个静态目标点的到达路线。

具体的,迪杰斯特拉算法计算的是一个节点到其他所有节点的最短路径,以起始点为中心向外层进行扩展,直到找到静态目标点为止;A星搜索算法被广泛应用于路径优化邻域,并且会对起始点到静态目标点之间的距离做出估计,并根据估计的结果求得起始点到静态目标点之间的距离。

针对相关技术中存在的问题,本公开提出了一种游戏中的寻路方法。图1示出了游戏中的寻路方法的流程示意图,如图1所示,游戏中的寻路方法至少包括以下步骤:

步骤S110.获取与寻路虚拟对象对应的第一距离和与动态虚拟对象对应的第二距离,并获取寻路虚拟对象的第一速度和动态虚拟对象的第二速度。

步骤S120.确定第一速度、第一距离、第二速度以及第二距离之间的多个计算关系。

步骤S130.按照多个计算关系得到动态虚拟对象和寻路虚拟对象的目标位置信息,以利用目标位置信息确定寻路虚拟对象与动态虚拟对象之间的寻路路径。

在本公开的示例性实施例提供的方法及装置中,一方面,游戏中的虚拟对象可以向动态虚拟对象进行寻路,使得游戏中的寻路不再仅是对静态虚拟对象进行的寻路,使得寻路虚拟对象更具有智能化,进而优化了用户的体验度;另一方面,目标位置信息是通过多个计算关系确定的,降低了游戏中寻路方法的复杂度,进而提高了游戏中寻路方法的执行速度。

下面对游戏中的寻路方法的各个步骤进行详细说明。

在步骤S110中,获取与寻路虚拟对象对应的第一距离和与动态虚拟对象对应的第二距离,并获取寻路虚拟对象的第一速度和动态虚拟对象的第二速度。

在本公开的示例性实施例中,动态虚拟对象指的是游戏中被追逐的可以移动的虚拟对象,对应的,寻路虚拟对象指的是游戏中追逐动态虚拟对象的虚拟对象。

其中,寻路虚拟对象可以是游戏中的虚拟角色,也可以是游戏中的虚拟生物,本示例性实施例对此不做特殊限定。

动态虚拟对象可以是游戏中的虚拟生物,也可以是与寻路虚拟对象不在同一个战队的虚拟角色,值得说明的是,动态虚拟对象可以是游戏中任何一个可以移动的被追赶对象,本示例性实施例对此不做特殊限定。

图2示出了寻路虚拟对象追赶动态虚拟对象的示意图,如图2所示,其中,点A为寻路虚拟对象,点B为动态虚拟对象,点C为固定位置信息,即目标安全点,点D为垂点信息,即圆点A在圆点B和圆点C的连线上的垂点,点E为目标位置信息,即动态虚拟对象和寻路虚拟对象的相遇点。

其中,目标安全点指的是动态虚拟对象的目标逃离区域,假设动态虚拟对象为游戏中的虚拟生物,目标安全点可以为只有虚拟生物可以进入的含有特殊毒气的森林,假设动态虚拟对象为与虚拟角色不再一个战队的虚拟角色,目标安全点可以为只允许动态虚拟对象所在战队的成员进入的营地。

距离d

举例而言,假设游戏中寻路虚拟对象为游戏角色A,动态虚拟对象为虚拟生物A,此时与虚拟生物A对应的目标安全点为具有特殊毒气只有虚拟生物A可以进入的森林。

基于此,得到游戏角色A在虚拟生物A和森林的连线上的垂点B,计算游戏角色A与垂点B之间的距离得到第一距离,计算虚拟生物A与垂点B之间的距离得到第二距离,获取与游戏角色A对应的移动速度,即第一速度,获取与虚拟生物A对应的移动速度,即第二速度。

在可选的实施例中,图3示出了获取第一距离和第二距离的流程示意图,如图3所示,该方法至少包括以下步骤:在步骤S310中,获取与动态虚拟对象对应的固定位置信息,并获取与动态虚拟对象对应的第二位置信息以及与寻路虚拟对象对应的第一位置信息。

其中,固定位置信息指的就是与动态虚拟对象对应的目标安全点所在的位置信息,假设动态虚拟对象为游戏中的虚拟生物,固定位置信息可以为只有虚拟生物能够进入的海体的位置信息,可以为只有虚拟生物可以进入的含有特殊毒气的森林的位置信息,本示例性实施例对此不做特殊限定,值得说明的是,固定位置信息包括游戏场景中的所有只有动态虚拟对象可以进入,但寻路虚拟对象无法进入的区域的位置信息。

第二位置信息指的是动态虚拟对象所在位置的信息,第一位置信息指的是寻路虚拟对象所在位置的信息,第二位置信息和第一位置信息可以是一个二维坐标,也可以是一个以经纬度表示的信息,本示例性实施例对此不做特殊限定。

举例而言,动态虚拟对象为游戏中的一个虚拟生物,寻路虚拟对象为游戏中的虚拟角色,固定位置信息为虚拟生物可以进入但寻路虚拟对象无法进入的森林的的位置信息(10,10),第一位置信息为虚拟角色所在位置的信息(15,-10),第二位置信息为虚拟生物所在位置的信息(50,10)。

在步骤S320中,根据第一位置信息、第二位置信息以及固定位置信息确定第一位置信息在第二位置信息和固定位置信息连线上的垂点信息。

垂点信息指的是第一位置信息在第二位置信息和固定位置信息连线上的垂点所在位置的信息,垂点信息可以是一个坐标的形式,也可以是一个经纬度的形式,本示例性实施例对此不做特殊限定。

举例而言,第一位置信息为(15,-10),第二位置信息为(50,10),固定位置信息为(10,10),连接固定位置信息与第二位置信息得到一直线,并根据固定位置信息和第二位置信息计算得出这一直线的表达式1。

假设垂点坐标为(x,y),通过垂点坐标和第一位置信息得出垂线的表达式2,并且该表达式的斜率与直线的表达式1的斜率的乘积为-1,并且垂点坐标满足直线的表达式1,将垂点坐标代入直线表达式1可以得出表达式3,对表达式1、表达式2以及表达式3进行求解得出垂点坐标,即垂点信息。

在步骤S330中,计算垂点信息与第一位置信息之间的距离得到第一距离,并计算垂点信息和第二位置信息之间的距离得到第二距离。

根据垂点信息和第一位置信息得出第一距离,并根据垂点信息和第二位置信息得出第二距离。

举例而言,第一位置信息为(15,-10),第二位置信息为(50,10),垂点信息为(30,-10),计算第一位置信息与垂点信息之间的距离得到第一距离为20,计算第二位置信息与垂点信息之间的距离为35。

在本示例性实施例中,通过寻路虚拟对象和动态虚拟对象在追赶过程中的关系得出第一距离和第二距离,有助于后续根据已知的第一距离、第一速度、第二距离以及第二速度得出图2中店E的位置信息。

在可选的实施例中,按照多个计算关系得到动态虚拟对象和寻路虚拟对象的目标位置信息,包括:按照多个计算关系在垂点信息和第二位置信息之间得到动态虚拟对象和寻路虚拟对象的目标位置信息。

如图2,若目标位置信息在垂点信息和固定位置信息之间,此时,第一距离可能远远大于第二距离,虽然可以使得寻路虚拟对象追逐到动态虚拟对象,但是寻路虚拟对象需要在目标位置信息处花费大量时间等待动态虚拟对象的到来。

相反的,若目标位置信息在垂点信息和第二位置信息之间,此时第一距离和第二距离几乎相等,只要寻路虚拟对象的第一速度足够大,就可以保证在目标位置信息处刚好追逐到动态虚拟对象,并且不需要在目标位置信息处花费过多的时间等待动态虚拟对象,提高了寻路的效率,即保证了寻路虚拟对象可以成功追逐到动态虚拟对象,也保证了寻路所花费的时间尽可能的短。

举例而言,假设目标位置信息在垂点信息和第二位置信息之间,根据确定的位置信息得出多个计算关系,按照多个计算关系得出目标位置信息。

在可选的实施例中,将目标位置信息假设在垂点信息和第二位置信息之间,不仅保证寻路虚拟对象可以追逐到动态虚拟对象,而且还降低了寻路虚拟对象向动态虚拟对象进行寻路所花费的时间。

在本示例性实施例中,若将目标位置信息设置在垂点信息与固定位置信息之间,虽然寻路虚拟对象也可以追逐到动态虚拟对象,但是寻路虚拟对象可能会在目标位置信息处等待动态虚拟对象的到来,从寻路开始到寻路结束需要浪费过多的等待时间,然而将目标位置信息确定在垂点信息与第二位置信息之间,在寻路虚拟对象一定可以追逐到动态虚拟对象的前提下,降低了寻路虚拟对象向动态虚拟对象寻路花费的时间。

在可选的实施例中,基于计算结果得到动态虚拟对象和寻路虚拟对象的目标位置信息,包括:计算固定位置信息和第二位置信息之间的距离得到距离差值,并对计算结果、距离差值、固定位置信息以及第二位置信息进行计算得到动态虚拟对象和寻路虚拟对象的目标位置信息。

其中,距离差值指的是固定位置信息和第二位置信息之间的距离,计算结果指的是第二位置信息与目标位置信息之间的距离,假设为35。

举例而言,固定位置信息为(10,10),第二位置信息为(50,10),计算固定位置信息与第二位置信息之间的距离差值为40,将距离差值40、固定位置信息和第二位置信息带入公式(1)和公式(2)中得到目标位置信息的横坐标和纵坐标。

其中,x

在本示例性实施例中,实时根据计算得到第五距离,并根据实时得到的第五距离、实时得到的第二位置信息以及计算结果得到实时的目标位置信息,确保了目标位置信息根据实时得到的数据发生变化,保证了寻路虚拟对象向动态虚拟对象进行寻路的过程是一个动态的过程,并且是根据动态虚拟对象的移动位置而动态改变的过程。

在可选的实施例中,图4示出了游戏中的寻路方法的流程示意图,如图4所示,该方法还至少包括以下步骤:在步骤S410中,对目标位置信息和第一位置信息进行计算得到与寻路虚拟对象对应的移动方向信息。

其中,移动方向信息指的是寻路虚拟对象在寻路过程中的移动方向。

举例而言,实时获取的目标位置信息为(20,10),实时获取的第一位置信息为(15,-10),计算坐标(15,-10)到坐标(20,10)的单位向量,得到实时的寻路虚拟对象的移动方向。

在步骤S420中,计算目标位置信息与第一位置信息之间的位置距离,并根据位置距离、移动方向信息以及第一位置信息更新第一位置信息。

其中,位置距离指的是目标位置信息与第一位置信息之间的距离。

举例而言,利用公式(3)计算目标位置信息与第一位置信息之间的位置距离。

其中,D

在计算出位置距离之后,利用公式(4)(5)实时更新第一位置信息。

其中,t为实时更新的预设时间间隔,预设时间间隔可以为任意一个时间值,本示例性实施例对此不做特殊限定。等号左边的x

在本示例性实施例中,根据实时得到的目标位置信息实时的更新第一位置信息,确保了寻路的过程是一个根据动态虚拟对象移动的位置不断的灵活发生变化的过程,保证了寻路虚拟对象在寻路的过程中不会错过动态虚拟对象。

在可选的实施例中,图5示出了游戏中的寻路方法的流程示意图,如图5所示,该方法还至少包括以下步骤:在步骤S510中,对更新后的第一位置信息和第二位置信息进行计算得到位置距离差值,并判断位置距离差值与预设距离阈值得到差值判断结果。

其中,位置距离差值为第一位置信息与第二位置信息之间的距离值。

预设距离阈值为判断寻路虚拟对象是否继续向动态虚拟对象进行寻路的判断值,预设距离阈值可以为寻路虚拟对象可以使用装备射杀动态虚拟对象的距离,预设距离阈值可以是寻路虚拟对象采用捕获装备可以成功捕获到动态虚拟对象的距离,本示例性实施例对此不做特殊限定。假设,动态虚拟对象为虚拟生物,寻路虚拟对象为虚拟角色,虚拟角色射杀虚拟生物的射程为5,此时可以将预设距离阈值设置为5。

差值判断结果为位置距离差值与预设距离阈值进行判断的判断结果,显然,差值判断结果有三种,第一种为位置距离差值小于预设距离阈值,第二种为位置距离差值等于预设距离阈值,第三种为位置距离差值大于预设距离阈值。

举例而言,更新后的第一位置信与第二位置信息之间的位置距离差值为10,预设距离阈值为5,显然,此时的位置距离差值大于预设距离阈值。

在步骤S520中,根据差值判断结果确定寻路虚拟对象的移动状态。

移动状态指的是寻路虚拟对象是否继续向动态虚拟对象进行寻路的状态。

举例而言,若差值判断结果为位置距离差值大于预设距离阈值,显然此时动态虚拟对象并不在寻路虚拟对象的射程范围内,因此寻路虚拟对象需要继续向动态虚拟对象进行寻路。

在本示例性实施例中,增设一位置距离差值与预设距离阈值之间的判断环节,使得方法的逻辑更加的完善。

在可选的实施例中,图6示出了根据差值判断结果确定寻路虚拟对象的移动状态的流程示意图,如图6所示,该方法至少包括以下步骤:在步骤S610中,若差值判断结果为位置距离差值小于预设距离阈值,停止寻路虚拟对象的移动状态。

当差值判断结果为位置距离差值小于预设距离阈值时,证明此时寻路虚拟对象已经追捕到动态虚拟对象了,因此寻路虚拟对象不再向动态虚拟对象进行寻路,即停止寻路虚拟对象的移动状态。

举例而言,若位置距离差值为3,预设距离阈值为5,显然此时的差值判断结果为位置距离差值小于预设距离阈值,证明此时寻路虚拟对象已经可以成功射杀动态虚拟对象,因此停止寻路虚拟对象向动态虚拟对象的移动状态。

在步骤S620中,若差值判断结果为位置距离差值大于或等于预设距离阈值,继续寻路虚拟对象的移动状态。

当差值判断结果为位置距离差值大于或等于预设距离阈值,证明此时动态虚拟对象还不在寻路虚拟对象的射杀范围内,因此寻路虚拟对象需要继续向动态虚拟对象进行寻路。

举例而言,假设预设距离阈值为5,位置距离差值为10,显然此时差值判断结果为位置距离差值大于预设距离阈值,证明此时寻路虚拟对象没有追捕到动态虚拟对象,因此需要寻路虚拟对象继续向动态虚拟对象进行寻路,即继续寻路虚拟对象的移动状态。

在本示例性实施例中,根据不同的差值判断结果得到不同的寻路虚拟对象的移动状态,使得游戏中的寻路方法的逻辑性更加完善。

在步骤S120中,确定第一速度、第一距离、第二速度以及第二距离之间的多个计算关系。

如图2,可以获取到的值有第一速度、第一距离以及第二速度和第二距离,为了计算得出相遇点C与寻路虚拟对象之间的距离d

举例而言,已知第一速度、第二速度、第一距离以及第二距离,根据第一速度和第二速度可以得到一比例计算关系,根据第一距离可以得出一比例计算关系,根据第二距离可以得出以差值计算关系。

在可选的实施例中,图7示出了确定多个计算关系的流程示意图,如图7所示,多个计算关系包括第一比例计算关系、第二比例计算关系以及差值计算关系,该方法至少包括以下步骤:在步骤S710中,通过第一速度和第二速度确定第三距离和第四距离之间的第一比例计算关系;其中,第三距离为寻路虚拟对象与目标位置信息之间的距离,第四距离为动态虚拟对象与目标位置信息之间的距离。

如图2所示,第三距离是寻路虚拟对象根据实时获取的第一速度值,并沿着第一速度方向到达目标位置信息所产生的距离值,第四距离为动态虚拟对象根据第二速度值,并沿着第二速度方向到达目标位置信息所产生的距离值。

基于此,通过可以获取到的第一速度和第二速度之间的比例关系可以得到第三距离与第四距离之间的第一比例计算关系。

举例而言,若第一速度为v1,第二速度为v2,根据第一速度与第三距离之间的对应关系、第二速度与第四距离之间的对应关系可以得到第三距离与第四距离之间的第一比例计算关系,如公式(6)所示。

其中,v

在步骤S720中,获取与寻路虚拟对象对应的角度值,并根据角度值确定第三距离和第一距离之间的第二比例计算关系。

如图2所示,寻路虚拟对象所在位置,即第一位置信息与垂点之间存在一条直线,第一位置信息与目标位置信息之间也存在一条直线,这两条直线之间的夹角即为与寻路虚拟对象对应的角度值。

并且,在图2中以垂点信息、目标位置信息以及第一位置信息为顶点可以得到一个直角三角形,利用直角三角形中角度值的正余弦关系可以得出第三距离与第一距离之间的第二比例计算关系。

举例而言,根据角度值的正余弦关系可以得出第三距离与第一距离之间的第二比例计算关系,如公式(7)所示。

其中,d

在步骤S730中,根据角度值和第二距离确定第四距离与第三距离之间的差值计算关系。

如图2所示,利用第三距离和角度值的正余弦关系可以得出目标位置信息与垂点信息之间的距离,并利用第二距离与得到的目标位置信息与垂点信息之间的距离可以得到第四距离,即得到了第四距离与第三距离之间的差值计算关系。

举例而言,差值计算关系可以如公式(8)所示。

d

其中,d

在本示例性实施例中,根据已知的第一速度、第二速度、第一距离以及第二距离得到多个计算关系,有助于后续计算目标位置信息,并且目标位置信息的获取是通过多个计算关系得到的,降低了寻路虚拟对象向动态虚拟对象进行寻路的复杂度,进而提升了寻路虚拟对象向动态虚拟对象进行寻路的速度。

在步骤S130中,按照多个计算关系得到动态虚拟对象和寻路虚拟对象的目标位置信息,以利用目标位置信息确定寻路虚拟对象与动态虚拟对象之间的寻路路径。

其中,目标位置信息指的是图2中动态虚拟对象和寻路虚拟对象的相遇点C的位置信息,目标位置信息可以是二维坐标的形式,也可以是经纬度的形式,本示例性实施例对此不做特殊限定。

寻路路径指的是寻路虚拟对象从开始追逐动态虚拟对象到追逐到动态虚拟对象的过程中所经过的路径。

举例而言,根据多个计算关系得出图2中d

在可选的实施例中,图8示出了根据多个计算关系得到目标位置信息的流程示意图,如图8所示,该方法至少包括以下步骤:在步骤S810中,对多个计算关系进行计算处理得到由第一速度、第二速度、第一距离以及第二距离组成的计算结果。

其中,在多个计算关系中存在三个未知数,即第三距离、第四距离和与寻路虚拟对象对应的角度值,首先可以利用已知的第一速度、第二速度、第一距离以及第二距离去表示三个未知数中的任意两个,然后再将这任意两个未知数代入到第三个未知数中可以得到由第一速度、第二速度、第一距离以及第二距离组成的计算结果。

举例而言,利用公式(5)、公式(6)以及公式(7)可以得到如公式(9)所示的计算结果。

其中,d

在步骤S820中,基于计算结果得到动态虚拟对象和寻路虚拟对象的目标位置信息。

目标位置信息指的是寻路虚拟对象追逐到动态虚拟对象的位置信息,值得说明的是,目标位置信息是通过实时计算得到的,并且随着计算的过程不断发生变化的。

举例而言,在计算目标位置信息的过程中,首先需要计算出固定位置信息与第二位置信息之间的距离,其中,固定位置信息为一个始终不变的固定点的位置信息。

具体的,计算固定位置信息与第二位置信息之间的距离的公式可为公式(10)所示。

其中,D为固定位置信息与第二位置信息之间的距离,x

得到D之后,可以利用公式(11)和公式(12)实时计算得到目标位置信息的横坐标和纵坐标。

其中,x

在本示例性实施例中,根据多个已知值得到多个计算关系,并根据多个计算关系得到目标位置信息,有助于后续对第一位置信息进行实时的更新。

在本公开的示例性实施例提供的方法及装置中,一方面,游戏中的虚拟对象可以向动态虚拟对象进行寻路,使得游戏中的寻路不再仅是对静态虚拟对象进行的寻路,使得寻路虚拟对象更具有智能化,进而优化了用户的体验度;另一方面,目标位置信息是通过多个计算关系确定的,降低了游戏中寻路方法的复杂度,进而提高了游戏中寻路方法的执行速度。

下面结合一应用场景对本公开实施例中游戏中的寻路方法做出详细说明。

图9示出了在应用场景下寻路虚拟对象向动态虚拟对象进行寻路的示意图,其中,点A为游戏角色A,即游戏中的寻路虚拟对象虚拟角色A当下所处的位置,点B为虚拟生物,即游戏中的动态虚拟对象虚拟生物当下所处的位置,点C为森林,即只有虚拟生物可以进入的含有特殊毒气的森林。

在点B与点C之间做一直线,并过点A,向点B与点C之间的直线做一垂线,此时可在点B与点C之间的直线上获得一垂点信息D,并且假设在垂点信息D与虚拟生物B之间存在一点E目标位置信息,并且在点E所在位置游戏角色A与虚拟生物B相遇。

基于此,点A所在的位置为第一位置信息,点B所在的位置为第二位置信息,点C所在的位置为固定位置信息,点D所在的位置为垂点信息,点E所在的位置为目标位置信息。

计算点A到点D之间的距离得到第一距离,计算点B与点D之间的距离得到第二距离,获取此时游戏角色的移动速度,即第一速度,并获取虚拟生物此时的移动速度,即第二速度。

以点A、点D以及点E为顶点可以得到一个直角三角形,并假设AD直线与AE直线之间的夹角为a,a即与虚拟角色对应的角度值,点A与点E之间的距离为第三距离,点B与点E之间的距离为第四距离。

其中,第三距离、第四距离以及角度值是未知的,需要通过多个计算关系得出。

具体的,由图9可以实时得出以下三个计算关系,分别为计算关系(13)、计算关系(14)以及计算关系(15)。

d

其中,d

利用已知的第一速度、第二速度、第一距离以及第二距离、计算关系(13)、计算关系(14)以及计算关系(15)可以得出第三距离、第四距离或角度值之中的任意一个未知数的表达式,假设得到的是第四距离的表达式,如表达式(16)所示。

其中,d

通过对d

其中,x

在得到点E所在位置的过程中,首先计算森林所在位置与虚拟生物所在位置之间的距离,然后根据实时获取的虚拟生物所在位置的横坐标和纵坐标、第四距离计算得出点E,即目标位置信息。

计算出目标位置信息后,通过目标位置信息与游戏角色所在位置的第一位置信息实时得出第一速度的方向,并根据第一速度方向更新第一位置信息,以使游戏角色向虚拟生物进行寻路。

更新第一位置信息的公式如公式(20)、公式(21)以及公式(22)所示。

其中,D

在对第一位置信息进行更新后,确定第一位置信息与第二位置信息之间的距离得到位置距离差值,并将位置距离差值与预设距离阈值进行判断得到差值判断结果,根据差值判断结果决定寻路虚拟对象的移动状态。

图10为游戏中的寻路方法与现有技术中的寻路方法的效果对比图。

其中,横坐标表示位置,具体表示虚拟生物以及游戏角色相对于左右方向的位置,纵坐标也表示位置,具体表示虚拟生物以及游戏角色相对于上下方向的位置,并且横坐标以及纵坐标的单位为米,值得说明的是,横坐标以及纵坐标的单位也可以是其他距离单位,点A为森林所在的位置,点B为虚拟生物的起始位置,点C为目标位置信息,虚拟生物是沿着直线向森林所在位置移动的,直线1为虚拟生物的移动路线,直线2为游戏角色的移动路线,曲线3为现有技术中的游戏角色的寻路路线。

由此可见,游戏中的寻路方法比现有技术中的寻路方法在更短的时间内成功追逐到了虚拟生物,对应的,现有技术中的寻路方法在寻路的过程中错过了虚拟生物。

图11为游戏中的寻路方法与现有技术中的寻路方法的效果对比图。

其中,横坐标表示位置,具体表示虚拟生物以及游戏角色相对于左右方向的位置,纵坐标也表示位置,具体表示虚拟生物以及游戏角色相对于上下方向的位置,并且横坐标以及纵坐标的单位为米,值得说明的是,横坐标以及纵坐标的单位也可以是其他距离单位,点A为森林所在的位置,点B为虚拟生物的起始位置,点C为目标位置信息,虚拟生物是不是沿着直线向森林所在位置移动的,曲线1为虚拟生物的移动路线,曲线2为游戏角色的移动路线,曲线3为现有技术中的游戏角色的寻路路线。

由此可见,游戏中的寻路方法比现有技术中的寻路方法在更短的时间内成功追逐到了虚拟生物,对应的,现有技术中的寻路方法在寻路的过程中错过了虚拟生物。

在本应用场景中,一方面,游戏中的虚拟对象可以向动态虚拟对象进行寻路,使得游戏中的寻路不再仅是对静态虚拟对象进行的寻路,使得寻路虚拟对象更具有智能化,进而优化了用户的体验度;另一方面,目标位置信息是通过多个计算关系确定的,降低了游戏中寻路方法的复杂度,进而提高了游戏中寻路方法的执行速度。

此外,在本公开的示例性实施例中,还提供一种游戏中的寻路装置。图12示出了游戏中的寻路装置的结构示意图,如图12所示,游戏中的寻路装置1200可以包括:获取模块1210、确定模块1220和寻路模块1230。其中:

获取模块1210被配置为获取与寻路虚拟对象对应的第一距离和与动态虚拟对象对应的第二距离,并获取所述寻路虚拟对象的第一速度和所述动态虚拟对象的第二速度;确定模块1220,被配置为确定所述第一速度、所述第一距离、所述第二速度以及所述第二距离之间的多个计算关系;寻路模块1230,被配置为按照所述多个计算关系得到所述动态虚拟对象和所述寻路虚拟对象的目标位置信息,以实现所述寻路虚拟对象向所述动态虚拟对象的寻路。

上述游戏中的寻路装置1200的具体细节已经在对应的游戏中的寻路方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及游戏中的寻路装置1200的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。

下面参照图13来描述根据本发明的这种实施例的电子设备1300。图13显示的电子设备1300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图13所示,电子设备1300以通用计算设备的形式表现。电子设备1300的组件可以包括但不限于:上述至少一个处理单元1310、上述至少一个存储单元1320、连接不同系统组件(包括存储单元1320和处理单元1310)的总线1330、显示单元1340。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1310执行,使得所述处理单元1310执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。

存储单元1320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1321和/或高速缓存存储单元1322,还可以进一步包括只读存储单元(ROM)1323。

存储单元1320还可以包括具有一组(至少一个)程序模块1325的程序/使用工具1324,这样的程序模块1325包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包含网络环境的现实。

总线1330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备1300也可以与一个或多个外部设备1370(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1300交互的设备通信,和/或与使得该电子设备1300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1350进行。并且,电子设备1300还可以通过网络适配器1360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1360通过总线1330与电子设备1300的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。

在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。

参考图14所示,描述了根据本发明的实施例的用于实现上述方法的程序产品1400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

相关技术
  • 游戏中的寻路方法及装置、计算机存储介质、电子设备
  • 游戏中寻路路径的处理方法、装置、电子设备及存储介质
技术分类

06120112957426