基于JumpPointSearch算法的寻路方法及系统技术方案

技术编号:30522900 阅读:20 留言:0更新日期:2021-10-27 23:07
本发明专利技术涉及计算机技术的技术领域,尤其是涉及一种基于JPS算法的寻路方法及系统,基于JPS算法的寻路方法包括以下步骤:S10:打开对应的美术地图,并打开地图编辑器,导出地图,创建寻路系统的载体;S20:通过场景编辑器打开对应的导出地图,编辑可行走、怪物、战斗、安全等区域信息,建立自动寻路系统必要的辨识信息;S30:导出场景配置,从上述过程生成的数据中获取JPS算法所需的加速数据信息;S40:读取上一步骤所获得的数据信息,对该二维数组进行分类,使用JPS算法加速配置,x_boundary和y_boundary字段,加速计算出跳点,快速得出寻路路径。本发明专利技术具有使游戏更加智能化,减轻玩家负担的效果。负担的效果。

【技术实现步骤摘要】
基于Jump Point Search算法的寻路方法及系统


[0001]本专利技术涉及计算机技术的
,尤其是涉及一种基于Jump Point Search算法的寻路方法及系统。

技术介绍

[0002]目前,随着科技的发展,人们生活水平的不断提高,手机、平板电脑等移动终端设备快速发展,手机、平板电脑已经占据人们生活很重要的地位,其中包括各种丰富人们生活的软件,例如手机游戏。
[0003]目前市场上的MMORGP游戏玩家已经普遍适应了自动寻路,寻路系统已经成为标配。一个性能优越,路径规划优雅的寻路系统,能为游戏增色不少,提高玩家的体验。传统的寻路算法为AStar,只能适用较小的地图,而目前的MMORPG游戏都是大地图趋势。NavMesh寻路是对AStar的改进,极大的提升了效率,但其因算法特点,会有莫名的折返问题,和贴边走问题。这两种方法都无法完美满足用户需求,存在影响用户体验的情况,进而导致用户流失,因此存在改进空间。

技术实现思路

[0004]本专利技术的目的是提供一种性能优越,路径规划优雅的基于JPS算法的寻路系统加载方法及系统。
[0005]本专利技术的上述专利技术目的一是通过以下技术方案得以实现的:一种基于JPS算法的寻路方法,所述基于JPS算法的寻路方法包括以下步骤:S10:打开对应的美术地图,并打开地图编辑器,导出地图,创建寻路方法的载体;S20:通过场景编辑器打开对应的导出地图,编辑可行走、怪物、战斗、安全等区域信息,建立自动寻路系统必要的辨识信息;S30:导出场景配置,从上述过程生成的数据中获取JPS算法所需的加速数据信息;S40:读取上一步骤所获得的数据信息,对该二维数组进行分类,使用JPS算法加速配置,x_boundary和y_boundary字段,加速计算出跳点,快速得出寻路路径。
[0006]通过采用上述技术方案,通过场景编辑器对美术地图进行信息编辑,再使用JPS算法进行计算,快速计算出跳点,不会折返,内存节省。且结合有向距离场(SDF),可约束JPS算法得到不贴边行走的路径,在效率与优雅之间取得平衡,使玩家可以拥有性能优越,路径规划优雅的寻路路径。
[0007]本专利技术进一步设置为:步骤S20中的将打开地图,编辑区域信息具体包括如下步骤:S21:通过基于Unity开发的场景编辑器打开对应的导出地图,设置好编辑器的基本配置;S22:在场景编辑器的基础上,编辑可行走、怪物、战斗、安全等区域信息,将地图上的区域信息转化为数据代码。
[0008]通过采用上述技术方案,对已完成的美术地图进行技术上的信息分类和编辑,可以给后续寻路系统的建设提供数据基础,提高程序运行的效率。
[0009]本专利技术进一步设置为:步骤S30包括:S31:完成场景编辑后,保存并导出场景配置;S32:获取导出过程中生成的两份数据,一份为客户端数据,一份为服务端数据;S33:选择客户端数据进行分析;S34:提取客户端.lua文件中JPS算法需要用到的加速数据和SDF数据。
[0010]通过采用上述技术方案,在计算寻路跳点前,对导出的场景配置信息进行分类,并只对客户端数据中的加速数据和SDF数据进行分析,能够减少数据分析的次数,进而提高数据分析的效率。
[0011]本专利技术进一步设置为:在步骤S40之后,所述基基于JPS算法的寻路方法还包括:S41:将作为二维数组的场景配置数据,进行行走、高度、SDF等方面的维度分析;S42:对上述数据进行位运算,读取出相关的数值;S43:使用JPS算法加速配置,x_boundary和y_boundary字段等,加速计算出JPS算所需的跳点,快速得出寻路路径。
[0012]通过采用上述技术方案,能够对地图数据进行快速处理且计算出寻路需要的跳点,从而能使玩家在游戏时快速而方便地进行寻路,且遵循一条较为优雅的路线,进而提升了用户的使用体验。
[0013]本专利技术的上述专利技术目的二是通过以下技术方案得以实现的:一种基于Jump Point Search算法的寻路系统,其特征在于,所述基于Jump Point Search算法的寻路系统包括:算法模块,采用JPS算法,用于根据地图数据快速计寻路路径,使游戏角色的移动有可以遵循的轨迹;数据计算模块,利用有向距离场SDF,并根据JPS算法特性,生成加速计算数据,用于计算得出行走区域数据,防止游戏角色寻路路径贴近不可行走的区域如墙等;数据序列化模块,根据Lua特性实现高压缩,用于快速反序列化的持久化储存行走区域数据、SDF数据和加速数据,方便计算寻路路径时引用读取。
[0014]通过采用上述技术方案,通过对地图编辑器导出的地图配置数据进行快速计算,并计算出可供游戏角色行走的区域等信息,且对这些信息进行压缩存储随时调用,从而能够使得用户在体验游戏自动寻路时,避免莫名折返和贴墙走,有助于提升用户体验和留存率。
[0015]综上所述,本专利技术的有益技术效果为:1.通过对地图编辑器导出的地图配置数据进行快速计算,并计算出可供游戏角色行走的区域等信息,且对这些信息进行压缩存储随时调用,从而能够使得用户在体验游戏自动寻路时,避免莫名折返和贴墙走,有助于提升用户体验和留存率;2.能够有效提高自动寻路的效率,节省用户内存调用量,使得自动寻路更加流畅,有助于提升用户体验和在线时间。
附图说明
[0016]图1是本专利技术一实施例中基于基于Jump Point Search算法的寻路方法的一流程图;图2是本专利技术一实施例中基于Jump Point Search算法的寻路方法中步骤S10的实现流程图;图3是本专利技术一实施例中基于Jump Point Search算法的寻路方法中步骤S20的实现流程图;图4是本专利技术一实施例中基于Jump Point Search算法的寻路方法中的另一流程图。
具体实施方式
[0017]以下结合附图对本专利技术作进一步详细说明。
[0018]实施例一:在一实施例中,如图1所示,本专利技术公开了一种基于Jump Point Search算法的寻路方法,具体包括如下步骤:S10:打开对应的美术地图,并打开地图编辑器,导出地图,创建寻路方法的载体。
[0019]在本实施例中,美术地图是美术部门使用地图编辑器制作完成的一张游戏场景地图。该地图数据包括有该场景地图的地形、植被、建筑等所有数据。美术部门在该款游戏策划好之后,通过设计地图原画、建立场景模型和进行地图编辑等获得该地图的最终数据。其中,地图编辑器是使用untiy开发的,该Unity游戏引擎是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
[0020]具体地,在开发人员调用该地图数据时,需要美术部门打开地图编辑器,打开需要配置寻路系统的地图,并且导出可以用以程序编辑的地图数据,以助于进行后面的步骤。
[0021]S20:通过场景编辑器打开对应的导出地图,编辑可行走、怪物、战斗、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Jump Point Search算法的寻路方法,其特征在于,所述基于Jump Point Search算法的寻路方法包括以下步骤:S10:打开对应的美术地图,并打开地图编辑器,导出地图,创建自动寻路方法的载体;S20:通过场景编辑器打开对应的导出地图,编辑可行走、怪物、战斗、安全等区域信息,建立自动寻路系统必要的辨识信息;S30:导出场景配置,从上述过程生成的数据中获取JPS算法所需的加速数据信息;S40:读取上一步骤所获得的数据信息,对该二维数组进行分类,使用JPS算法加速配置,x_boundary和y_boundary字段,加速计算出跳点,快速得出寻路路径。2.如权利要求1所述的基于Jump Point Search算法的寻路方法,其特征在于,步骤S20中的打开地图,编辑辨识信息具体包括如下步骤:S21:通过基于Unity开发的场景编辑器打开对应的导出地图,设置好编辑器的基本配置;S22:在场景编辑器的基础上,编辑可行走、怪物、战斗、安全等区域信息,将地图上的区域信息转化为数据代码。3.如权利要求1所述的基于Jump Point Search算法的寻路方法,其特征在于,步骤S30包括:S31:完成场景编辑后,保存并导出场景配置;S32:获取导出过程中生成的两份数据,一份为客户端数据,一份为服务端数据;S33:选择客户端数据进行分析;S34:提取客户端.lua文件中JPS算法需要用到的加速数据和SDF数据。4.如权利要求1所述的基于Jump Point Search算法的寻路方法,其特征在于,在步骤S40之后,所述基于Jump Point Search算法的寻路系统还包括:S41:将作为二维数组的场景配置数据,进行行走、高度、SDF等方面的维度分析;S42:对上述数据进行位运算,读取出相关的数值;S43:使用JPS算...

【专利技术属性】
技术研发人员:徐白鹿陈孟青邓华斌
申请(专利权)人:广州小丑鱼信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1