CN106422330B - 单位的寻路方法及装置 - Google Patents
单位的寻路方法及装置 Download PDFInfo
- Publication number
- CN106422330B CN106422330B CN201610898545.8A CN201610898545A CN106422330B CN 106422330 B CN106422330 B CN 106422330B CN 201610898545 A CN201610898545 A CN 201610898545A CN 106422330 B CN106422330 B CN 106422330B
- Authority
- CN
- China
- Prior art keywords
- pathfinding
- unit
- anchor point
- motion profile
- frame image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种单位的寻路方法及装置。其中,该方法包括:在地图的规划路线上选取至少两个寻路锚点;采用至少两个寻路锚点确定单位的运动轨迹;从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置。本发明解决了相关技术中提供的寻路方式在经过寻路锚点时易出现卡顿现象,用户体验不流畅的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种单位的寻路方法及装置。
背景技术
自动寻路作为一种新兴的技术,具备便捷、智能化等诸多优点,现如今已经被应用在了各个领域,以游戏领域为例,自动寻路功能是为了满足从传统的角色扮演游戏(PRG)向新时代的RPG过度的需求,衍生而来的一项功能。由于新手玩家进入游戏后,对游戏的诸多规则不甚了解,特别是对游戏地图知之甚少,由此造成了新手玩家对该款游戏上手难度大幅提升,并且也极大地延长了游戏玩家真正获得游戏核心乐趣的时间。
自动寻路功能的问世,在较大程度上解决了新手玩家在游戏前期难以找到各种类型非玩家控制(NPC),其可以包括但不限于:提供新手指引的NPC、提供商品交易服务的NPC、提供新手任务的NPC、提供装备修理服务的NPC,同时还难以摸清在游戏地图上设置的为新手玩家初期练级的怪物的分布。为了解决新手玩家的上述困惑,自动寻路功能在不影响游戏性能的同时,还会为游戏玩家带来更多的便利,从而使得游戏玩家尽早熟悉游戏过程,更容易感受到游戏的魅力。
目前,游戏通常所采用的寻路计算过程如下:
第一步、在游戏场景中指定一条完整运动路线,该运动路线上涵盖了多个预先设定的寻路锚点。
第二步、特定游戏单位沿着该指定路径保持行走状态。
第三步、如果该特定游戏单位在寻路过程发生异常中断,则需要重新回到寻路路径上。
通常在游戏画面中会存在画面显示的最大帧数,而为了确保运算效率,坐标变换的周期通常为每帧图像更新一次。然而,在每帧图像更新过程中,很有可能会发生从当前寻路锚点到相邻的下一个寻路锚点之间的距离或者在当前寻路锚点与相邻的下一个寻路锚点之间的路段上的特定位置到相邻的下一个寻路锚点的距离不足一帧图像对应的游戏单位的移动距离,而坐标变换的周期又是每帧图像更新一次时,便会造成游戏单位在运动过程中出现卡顿现象,并且在经过拐弯时,游戏单位在游戏画面中的运行速度是与各个寻路锚点之间的距离相关的。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种单位的寻路方法及装置,以至少解决相关技术中提供的寻路方式在经过寻路锚点时易出现卡顿现象,用户体验不流畅的技术问题。
根据本发明实施例的一个方面,提供了一种单位的寻路方法,包括:
在地图的规划路线上选取至少两个寻路锚点;采用至少两个寻路锚点确定单位的运动轨迹;从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置。
可选地,从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置包括:计算步骤:根据单位的移动速度计算单位在当前帧图像的位移变化;处理步骤:采用运动轨迹上与当前帧图像对应的起始位置坐标和位移变化计算运动轨迹上与当前帧图像对应的结束位置坐标,控制单位移动至结束位置坐标,并将结束位置坐标设置为运动轨迹上与下一帧图像对应的起始位置坐标,返回计算步骤。
可选地,上述单位在高度方向上高于地图内设置的全部场景物件的高度。
可选地,在从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置之后,还包括:当单位因特定事件偏离运动轨迹时,沿运动轨迹的运动方向获取单位待回归的寻路锚点;控制单位移动至待回归的寻路锚点。
可选地,当待回归的寻路锚点是与单位的偏离位置坐标距离最近的寻路锚点时,沿运动轨迹的运动方向获取单位待回归的寻路锚点包括:获取与单位所在偏离位置距离最近的第一寻路锚点以及在运动方向上与第一寻路锚点相邻的第二寻路锚点;计算第一寻路锚点与第二寻路锚点之间的第一距离以及偏离位置与第二寻路锚点之间的第二距离;当第一距离大于第二距离时,则将第二寻路锚点设置为待回归的寻路锚点;当第一距离小于第二距离时,则将第一寻路锚点设置为待回归的寻路锚点。
可选地,在从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置之后,还包括:当单位移动至运动轨迹的终点位置时,保持与终点位置对应的高度方向上的坐标继续移动,直至在重新回到运动轨迹的起始位置后,将与终点位置对应的高度方向上的坐标调整为与运动轨迹的起始位置对应的高度方向上的坐标。
根据本发明实施例的另一方面,还提供了一种单位的寻路装置,包括:
选取模块,用于在地图的规划路线上选取至少两个寻路锚点;确定模块,用于采用至少两个寻路锚点确定单位的运动轨迹;第一获取模块,用于从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置。
可选地,第一获取模块包括:第二计算单元,用于根据单位的移动速度计算单位在当前帧图像的位移变化;第一处理单元,用于采用运动轨迹上与当前帧图像对应的起始位置坐标和位移变化计算运动轨迹上与当前帧图像对应的结束位置坐标,控制单位移动至结束位置坐标,并将结束位置坐标设置为运动轨迹上与下一帧图像对应的起始位置坐标,返回第二计算单元。
可选地,上述单位在高度方向上高于地图内设置的全部场景物件的高度。
可选地,上述装置还包括:第二获取模块,用于当单位因特定事件偏离运动轨迹时,沿运动轨迹的运动方向获取单位待回归的寻路锚点;控制模块,用于控制单位移动至待回归的寻路锚点。
可选地,第二获取模块包括:获取单元,用于当待回归的寻路锚点是与单位的偏离位置坐标距离最近的寻路锚点时,获取与单位所在偏离位置距离最近的第一寻路锚点以及在运动方向上与第一寻路锚点相邻的第二寻路锚点;第三计算单元,用于计算第一寻路锚点与第二寻路锚点之间的第一距离以及偏离位置与第二寻路锚点之间的第二距离;第二处理单元,用于当第一距离大于第二距离时,则将第二寻路锚点设置为待回归的寻路锚点;当第一距离小于第二距离时,则将第一寻路锚点设置为待回归的寻路锚点。
可选地,上述装置还包括:处理模块,用于当单位移动至运动轨迹的终点位置时,保持与终点位置对应的高度方向上的坐标继续移动,直至在重新回到运动轨迹的起始位置后,将与终点位置对应的高度方向上的坐标调整为与运动轨迹的起始位置对应的高度方向上的坐标。
在本发明实施例中,采用在地图的规划路线上选取多个寻路锚点并利用上述多个寻路锚点确定单位的运动轨迹的方式,通过从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置,达到了避免在寻路过程中因每帧图像刷新导致的在寻路锚点上出现明显卡顿的目的,从而实现了提高画面的流畅度、提升用户体验的技术效果,进而解决了相关技术中提供的寻路方式在经过寻路锚点时易出现卡顿现象,用户体验不流畅的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的单位的寻路方法的流程图;
图2是根据本发明优选实施例一的在运动轨迹上获取下一个即将抵达的寻路锚点的示意图;
图3是根据本发明优选实施例二的在运动轨迹上获取下一个即将抵达的寻路锚点的示意图;
图4是根据本发明实施例的单位的寻路装置的结构框图;
图5是根据本发明实施例的单位的寻路装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种单位的寻路方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的单位的寻路方法的流程图,如图1所示,该方法包括如下步骤:
步骤S10,在地图的规划路线上选取至少两个寻路锚点;
步骤S12,采用至少两个寻路锚点确定单位的运动轨迹;
步骤S14,从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置。
通过上述步骤,可以采用在地图的规划路线上选取多个寻路锚点并利用上述多个寻路锚点确定单位的运动轨迹的方式,通过从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置,达到了避免在寻路过程中因每帧图像刷新导致的在寻路锚点上出现明显卡顿的目的,从而实现了提高画面的流畅度、提升用户体验的技术效果,进而解决了相关技术中提供的寻路方式在经过寻路锚点时易出现卡顿现象,用户体验不流畅的技术问题。
需要说明的是,为了对本发明实施例提供的单位的寻路方法的具体实施过程作进一步详细说明,下文中仅以游戏场景中的游戏单位(例如:玩家控制的游戏角色)的自动寻路过程为例加以描述,但其并不构成对本发明的不当限定,上述单位的寻路方法仍然可以应用于除游戏领域之外的其他可以适用该技术方案的领域。
为了实现特定游戏单位沿一条指定轨迹在道路上运动,需要设置一定数量的寻路锚点。而由于在不同的游戏地图中,地形与道具的配置方式存在差异,因此,需要运行地图编辑器,在整条道路上选取寻路锚点。此处,需要注意以下几点:
(1)在两个寻路锚点之间需要保持路段通畅,不能存在阻碍游戏单位前行的设置。换言之,即便游戏引擎配置有自动生成寻路功能,但是如果两个寻路锚点之间中存在阻碍游戏单位前行的障碍物,则会发生游戏单位对墙体进行剐蹭的异常表现效果,并且如果游戏地图本身的地形较为复杂,则还有可能会造成游戏单位在寻路过程中直接卡在阻碍游戏单位前行的设置处,进而造成整个寻路过程中断。
(2)在设计游戏场景时,应当尽量避免平滑的曲线拐弯的路面设计,其原因在于:此种设计方式一方面会导致需要选取过多的寻路锚点,特定游戏单位在自动寻路过程中,会加大用户终端或服务器的负载压力;另一方面,频繁选取寻路锚点易造成载具在拐弯过程中频繁地发生转动,为此,还需要设计特定程序来处理拐弯行为,否则会在游戏过程中给游戏玩家带来违和感。
如果在游戏过程中,确实存在特殊需求需要使得寻路过程看起来更加平滑,此时,可以选取一定数量的寻路锚点,同时还需要设定经由这些寻路锚点进行寻路的过程中,游戏单位需要进行平滑寻路。然后,再将选取的寻路锚点带入方程求根公式中进行计算,如果选取两个寻路锚点,那么通过两个寻路锚点,可以确定出轨迹为一条直线,则需要建立二元一次方程;如果选取三个寻路锚点,可以确定出轨迹为一条曲线,则需要建立二元二次方程。例如:当前选取三个寻路锚点,其中,寻路锚点A的坐标为(1,1)、寻路锚点B的坐标为(1,-1),寻路锚点C的坐标为(2,1)将这三个寻路锚点带入aX2+b*X+c=Y的曲线函数中可以计算得出系数a、b和c的取值分别为:a=2,b=-4,c=1,进而得到轨迹函数为Y=2X2-4X+1。最终,游戏单位将在Y=2X2-4X+1的轨迹上进行自动寻路。
需要注意的是,上述计算过程的复杂度以及需要消耗的硬件资源会随着寻路锚点选取数量的增多而不断加大,为此,需要控制寻路锚点的选取数量,以避免计算复杂度过高,同时还需要避免消耗过多的硬件资源。
可选地,在步骤S14中,从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置可以包括以下执行步骤:
步骤S141,根据单位的移动速度计算单位在当前帧图像的位移变化;
步骤S142,采用运动轨迹上与当前帧图像对应的起始位置坐标和位移变化计算运动轨迹上与当前帧图像对应的结束位置坐标,控制单位移动至结束位置坐标,并将结束位置坐标设置为运动轨迹上与下一帧图像对应的起始位置坐标,返回步骤S141,如此,则实现了将所述单位沿着所述运动轨迹依次移动至所述每一帧图像对应的结束位置。
在优选实施过程中,上述单位在高度方向上高于游戏地图内设置的全部场景物件的高度。
根据上述计算得到的自动寻路轨迹确定特定游戏单位在每一帧图像中发生的位移变化,即该特定游戏单位在每一帧图像开始播放时对应的在自动寻路轨迹上的起始位置至结束位置的积分运算结果等于起始位置与结束位置之间的线段长度,由此,可以最终计算得到结束位置的坐标。然后再结合第三步计算得到的与每帧图像对应的从起始位置至结束位置的运动变化过程,在游戏画面中加以显示。
不同于相关技术中提供的在寻路过程中仅寻找相邻的下一个寻路锚点,而是为满足平滑拐弯的需求,假设在当前存在的寻路锚点A的基础上预先加载另外三个寻路锚点,即寻路锚点B,寻路锚点C和寻路锚点D。
如果从当前所在的寻路锚点A至下一个相邻的寻路锚点B之间的距离无法满足不足一帧图像变化的需求时,采用寻路锚点B到达下一个相邻的寻路锚点C之间的部分移动轨迹来补齐,具体使用以下规则:
(1)假设完整的寻路路径为:寻路锚点A→寻路锚点B→寻路锚点C→寻路锚点D,且游戏单位当前位于寻路锚点A;
(2)通过采用游戏单位当前位于的寻路锚点A的坐标以及游戏单位自身的移动速度计算出与一帧图像播放结束后对应的目标位置坐标。如果在游戏单位达到寻路锚点B时,尚未达到一帧图像播放结束后对应的目标位置坐标,则计算出的目标位置坐标可能位于寻路锚点B→寻路锚点C的轨迹上;
(3)通过计算出的目标位置坐标确定在寻路锚点B→寻路锚点C轨迹上的实际位置并将游戏单位移动至该目标位置坐标。
另外,特定游戏单位能够进行循环移动的充分且必要条件在于:寻路锚点需要构成首尾相连的环形线路。
当特定游戏单位在程序逻辑中被设定为普通单位时,会导致该特定游戏单位遭受到诸多限制,例如:被空气墙阻挡、被怪兽碰撞阻挡,因此,需要通过设计特定程序以使得特定游戏单位可以无视这些障碍物而正常径直移动。
当游戏场景中的碰撞事件是通过该游戏场景中各个游戏单位的碰撞体积进行计算时,处于循环移动状态下的游戏单位会在一定程度上穿越无法正常通过的区域。此时,该游戏单位在游戏场景中的碰撞规则需要进行以下修改:该游戏单位需要能够无视游戏场景中其他游戏单位的碰撞,能够穿透所有游戏单位,而且该游戏单位只需要保持在高度方向上(Y轴)高于除交互对象单位(例如:怪兽、NPC)之外的场景物件(例如:树木、路障、拱桥)的最大高度,便能够完成在不可行走区域进行循环移动。
可选地,在步骤S14,从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置之后,还可以包括以下执行步骤:
步骤S15,当单位因特定事件偏离运动轨迹时,沿运动轨迹的运动方向获取单位待回归的寻路锚点;
步骤S16,控制单位移动至待回归的寻路锚点。
如果在游戏过程中开启游戏单位自动寻路过程,并且在寻路过程中因遇到特定事件(例如:脱离运动轨迹去击杀不定时刷出的怪物以获取装备和经验值),则在成功击杀怪物后,需要回归至原有的运动轨迹。此时,需要在运动轨迹上获取下一个即将抵达的寻路锚点。
可选地,在步骤S15中,当待回归的寻路锚点是与单位的偏离位置坐标距离最近的寻路锚点时,沿运动轨迹的运动方向获取单位待回归的寻路锚点可以包括以下执行步骤:
步骤S151,获取与单位所在偏离位置距离最近的第一寻路锚点以及在运动方向上与第一寻路锚点相邻的第二寻路锚点;
步骤S152,计算第一寻路锚点与第二寻路锚点之间的第一距离以及偏离位置与第二寻路锚点之间的第二距离;
步骤S153,当第一距离大于第二距离时,则将第二寻路锚点设置为待回归的寻路锚点;当第一距离小于第二距离时,则将第一寻路锚点设置为待回归的寻路锚点。
获取特定游戏单位在相邻两个寻路锚点之间的实际行走距离,分别计算出从该特定游戏单位从当前寻路锚点到其余寻路锚点之间的距离,并寻找出与当前寻路锚点之间距离最小的下一个寻路锚点。
图2是根据本发明优选实施例一的在运动轨迹上获取下一个即将抵达的寻路锚点的示意图。如图2所示,a为所有寻路锚点中距离游戏单位当前所在偏离位置的距离最近的寻路锚点B与游戏单位所在偏离位置之间的距离,b为寻路锚点B沿运动轨迹的运动方向上到下一个寻路锚点C之间的距离,c为游戏单位所在偏离位置到寻路锚点C之间的距离。当b<c时,游戏单位所在偏离位置当前所要前往的寻路锚点为寻路锚点B。
图3是根据本发明优选实施例二的在运动轨迹上获取下一个即将抵达的寻路锚点的示意图。如图3所示,a为所有寻路锚点中距离游戏单位当前所在偏离位置的距离最近的寻路锚点B与游戏单位所在偏离位置之间的距离,b为寻路锚点B沿运动轨迹的运动方向上到下一个寻路锚点C之间的距离,c为游戏单位所在偏离位置到寻路锚点C之间的距离。当b>c时,游戏单位所在偏离位置当前所要前往的寻路锚点为寻路锚点C。
上述功能同样适用于:当游戏玩家从手动操控状态切换至游戏单位自动战斗时,如果游戏单位需要使用自动寻路功能,则需要存在一个待抵达的寻路锚点,并在每次到达寻路锚点后,需要将该寻路锚点的行进方向指向下一个寻路锚点。
可选地,在步骤S14,从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置之后,还可以包括以下执行步骤:
步骤S17,当单位移动至运动轨迹的终点位置时,保持与终点位置对应的高度方向上的坐标继续移动,直至在重新回到运动轨迹的起始位置后,将与终点位置对应的高度方向上的坐标调整为与运动轨迹的起始位置对应的高度方向上的坐标。
当游戏场景使用的是游戏单位的碰撞体积而并非游戏单位的实际体积时,该游戏场景的寻路过程需要进行以下的处理:
(1)如果游戏单位运动至不可行走区域,则只需要保持该游戏单位原来的高度方向上的Y轴坐标,等待该游戏单位重新进入可行走区域后,再将其坐标调整为当前寻路的Y轴坐标高度。例如:游戏单位在重新进入可行走区时,该游戏单位保持的高度是20米,而刚进入寻路区域的地面高度只有5米,就需要将该游戏单位的高度调整为5米。
(2)如果游戏单位碰撞到空气墙,则只需要无视碰撞即可,其中,空气墙特指在游戏场景中生成的临时墙,以使游戏单位无法正常经过。
(3)如果要使游戏单位不与其它最近刷新的被攻击对象单位(例如:副本内的怪兽)重合,需要在经过这类单位时,通过寻路路径绕开这类单位,而不与这类单位发生碰撞重合,并且还可以无视不可行走区域。
例如:当车辆开过来时,其最佳的视角是车辆迎面开来,为了保证车辆始终都是迎面开来,并且一个车辆是循环移动,而并非从初始点移动到达终点之后即被销毁,所以需要进行上述配置。
根据本发明实施例,提供了一种单位的寻路装置的实施例,图4是根据本发明实施例的单位的寻路装置的结构框图,如图4所示,该装置包括:选取模块10,用于在地图的规划路线上选取多个寻路锚点;确定模块20,用于采用多个寻路锚点确定单位的运动轨迹;第一获取模块30,用于从运动轨迹的起始位置开始根据单位在每一帧图像的位移变化从运动轨迹上获取与每一帧图像对应的结束位置。
可选地,第一获取模块30包括:第二计算单元(图中未示出),用于根据单位的移动速度计算单位在当前帧图像的位移变化;第一处理单元(图中未示出),用于采用运动轨迹上与当前帧图像对应的起始位置坐标和位移变化计算运动轨迹上与当前帧图像对应的结束位置坐标,控制单位移动至结束位置坐标,并将结束位置坐标设置为运动轨迹上与下一帧图像对应的起始位置坐标,返回第二计算单元。
在优选实施过程中,上述单位在高度方向上高于地图内设置的全部场景物件的高度。
可选地,图5是根据本发明实施例的单位的寻路装置的结构框图,如图5所示,上述装置还可以包括:第二获取模块40,用于当单位因特定事件偏离运动轨迹时,沿运动轨迹的运动方向获取单位待回归的寻路锚点;控制模块50,用于控制单位移动至待回归的寻路锚点。
可选地,第二获取模块40包括:获取单元(图中未示出),用于获取与单位所在偏离位置距离最近的第一寻路锚点以及在运动方向上与第一寻路锚点相邻的第二寻路锚点;第三计算单元(图中未示出),用于计算第一寻路锚点与第二寻路锚点之间的第一距离以及偏离位置与第二寻路锚点之间的第二距离;第二处理单元(图中未示出),用于当第一距离大于第二距离时,则将第二寻路锚点设置为待回归的寻路锚点;当第一距离小于第二距离时,则将第一寻路锚点设置为待回归的寻路锚点。
可选地,如图5所示,上述装置还可以包括:处理模块60,用于当单位移动至运动轨迹的终点位置时,保持与终点位置对应的高度方向上的坐标继续移动,直至在重新回到运动轨迹的起始位置后,将与终点位置对应的高度方向上的坐标调整为与运动轨迹的起始位置对应的高度方向上的坐标。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种单位的寻路方法,其特征在于,包括:
在地图的规划路线上选取至少两个寻路锚点;
采用所述至少两个寻路锚点确定所述单位的运动轨迹;
从所述运动轨迹的起始位置开始根据所述单位在每一帧图像的位移变化从所述运动轨迹上获取与每一帧图像对应的结束位置;
其中,在从所述运动轨迹的起始位置开始根据所述单位在每一帧图像的位移变化从所述运动轨迹上获取与每一帧图像对应的结束位置之后,还包括:当所述单位因特定事件偏离所述运动轨迹时,沿所述运动轨迹的运动方向获取所述单位待回归的寻路锚点;控制所述单位移动至所述待回归的寻路锚点;
其中,当所述待回归的寻路锚点是与所述单位的偏离位置坐标距离最近的寻路锚点时,沿所述运动轨迹的运动方向获取所述单位待回归的寻路锚点包括:获取与所述单位所在偏离位置距离最近的第一寻路锚点以及在所述运动方向上与所述第一寻路锚点相邻的第二寻路锚点;计算所述第一寻路锚点与所述第二寻路锚点之间的第一距离以及所述偏离位置与所述第二寻路锚点之间的第二距离;当所述第一距离大于所述第二距离时,则将所述第二寻路锚点设置为所述待回归的寻路锚点;当所述第一距离小于所述第二距离时,则将所述第一寻路锚点设置为所述待回归的寻路锚点。
2.根据权利要求1所述的方法,其特征在于,从所述运动轨迹的起始位置开始根据所述单位在每一帧图像的位移变化从所述运动轨迹上获取与每一帧图像对应的结束位置包括:
计算步骤:根据所述单位的移动速度计算所述单位在当前帧图像的位移变化;
处理步骤:采用所述运动轨迹上与所述当前帧图像对应的起始位置坐标和所述位移变化计算所述运动轨迹上与所述当前帧图像对应的结束位置坐标,控制所述单位移动至所述结束位置坐标,并将所述结束位置坐标设置为所述运动轨迹上与下一帧图像对应的起始位置坐标,返回所述计算步骤。
3.根据权利要求2所述的方法,其特征在于,所述单位在高度方向上高于所述地图内设置的全部场景物件的高度。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在从所述运动轨迹的起始位置开始根据所述单位在每一帧图像的位移变化从所述运动轨迹上获取与每一帧图像对应的结束位置之后,还包括:
当所述单位移动至所述运动轨迹的终点位置时,保持与所述终点位置对应的高度方向上的坐标继续移动,直至在重新回到所述运动轨迹的起始位置后,将与所述终点位置对应的高度方向上的坐标调整为与所述运动轨迹的起始位置对应的高度方向上的坐标。
5.一种单位的寻路装置,其特征在于,包括:
选取模块,用于在地图的规划路线上选取至少两个寻路锚点;
确定模块,用于所述至少两个寻路锚点确定所述单位的运动轨迹;
第一获取模块,用于从所述运动轨迹的起始位置开始根据所述单位在每一帧图像的位移变化从所述运动轨迹上获取与每一帧图像对应的结束位置;
其中,所述装置还包括:第二获取模块,用于当所述单位因特定事件偏离所述运动轨迹时,沿所述运动轨迹的运动方向获取所述单位待回归的寻路锚点;控制模块,用于控制所述单位移动至所述待回归的寻路锚点;
其中,所述第二获取模块包括:获取单元,用于当所述待回归的寻路锚点是与所述单位的偏离位置坐标距离最近的寻路锚点时,获取与所述单位所在偏离位置距离最近的第一寻路锚点以及在所述运动方向上与所述第一寻路锚点相邻的第二寻路锚点;第三计算单元,用于计算所述第一寻路锚点与所述第二寻路锚点之间的第一距离以及所述偏离位置与所述第二寻路锚点之间的第二距离;第二处理单元,用于当所述第一距离大于所述第二距离时,则将所述第二寻路锚点设置为所述待回归的寻路锚点;当所述第一距离小于所述第二距离时,则将所述第一寻路锚点设置为所述待回归的寻路锚点。
6.根据权利要求5所述的装置,其特征在于,所述第一获取模块包括:
第二计算单元,用于根据所述单位的移动速度计算所述单位在当前帧图像的位移变化;
第一处理单元,用于采用所述运动轨迹上与所述当前帧图像对应的起始位置坐标和所述位移变化计算所述运动轨迹上与所述当前帧图像对应的结束位置坐标,控制所述单位移动至所述结束位置坐标,并将所述结束位置坐标设置为所述运动轨迹上与下一帧图像对应的起始位置坐标,返回所述第二计算单元。
7.根据权利要求6所述的装置,其特征在于,所述单位在高度方向上高于所述地图内设置的全部场景物件的高度。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述装置还包括:
处理模块,用于当所述单位移动至所述运动轨迹的终点位置时,保持与所述终点位置对应的高度方向上的坐标继续移动,直至在重新回到所述运动轨迹的起始位置后,将与所述终点位置对应的高度方向上的坐标调整为与所述运动轨迹的起始位置对应的高度方向上的坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610898545.8A CN106422330B (zh) | 2016-10-14 | 2016-10-14 | 单位的寻路方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610898545.8A CN106422330B (zh) | 2016-10-14 | 2016-10-14 | 单位的寻路方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106422330A CN106422330A (zh) | 2017-02-22 |
CN106422330B true CN106422330B (zh) | 2019-10-29 |
Family
ID=58173751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610898545.8A Active CN106422330B (zh) | 2016-10-14 | 2016-10-14 | 单位的寻路方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106422330B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107261500B (zh) * | 2017-06-07 | 2020-07-07 | 北京凯罗天下科技有限公司 | 一种定位对象的方法、装置及移动终端 |
CN109833624B (zh) * | 2017-11-29 | 2021-05-14 | 腾讯科技(成都)有限公司 | 用于虚拟地图上行军线信息的显示方法及装置 |
CN108261764B (zh) * | 2017-12-22 | 2021-06-25 | 福建省天奕网络科技有限公司 | 一种自动化寻路的打怪方法及终端 |
CN112023401B (zh) * | 2020-09-11 | 2024-08-16 | 北京冰封互娱科技有限公司 | 寻路恢复的处理方法、装置及电子设备 |
CN112221143B (zh) * | 2020-10-09 | 2022-07-15 | 腾讯科技(深圳)有限公司 | 一种控制虚拟对象移动的方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975747A (zh) * | 2006-10-12 | 2007-06-06 | 中山大学 | 一种rpg游戏场景路径的自动生成方法及装置 |
CN101615301A (zh) * | 2009-07-29 | 2009-12-30 | 腾讯科技(深圳)有限公司 | 计算机虚拟环境中目标的路径控制方法和系统 |
CN102254335A (zh) * | 2011-07-01 | 2011-11-23 | 厦门吉比特网络技术股份有限公司 | 游戏人物编辑系统和方法 |
CN105957120A (zh) * | 2016-06-22 | 2016-09-21 | 财付通支付科技有限公司 | 运动轨迹模拟方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678660B2 (en) * | 2012-11-05 | 2017-06-13 | Nokia Technologies Oy | Method and apparatus for conveying efficient map panning over a mapping user interface |
US20150290541A1 (en) * | 2014-04-15 | 2015-10-15 | King.Com Limited | Device, game and methods therefor |
-
2016
- 2016-10-14 CN CN201610898545.8A patent/CN106422330B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975747A (zh) * | 2006-10-12 | 2007-06-06 | 中山大学 | 一种rpg游戏场景路径的自动生成方法及装置 |
CN101615301A (zh) * | 2009-07-29 | 2009-12-30 | 腾讯科技(深圳)有限公司 | 计算机虚拟环境中目标的路径控制方法和系统 |
CN102254335A (zh) * | 2011-07-01 | 2011-11-23 | 厦门吉比特网络技术股份有限公司 | 游戏人物编辑系统和方法 |
CN105957120A (zh) * | 2016-06-22 | 2016-09-21 | 财付通支付科技有限公司 | 运动轨迹模拟方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106422330A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106422330B (zh) | 单位的寻路方法及装置 | |
US11633671B2 (en) | Method and apparatus for dynamic management of formations in a video game | |
KR102111870B1 (ko) | 이동 궤적을 결정하는 방법, 및 사용자 장비 | |
CN100368042C (zh) | 分析计算机游戏的游戏情形的方法 | |
Weigel et al. | CS Freiburg: coordinating robots for successful soccer playing | |
US11439903B2 (en) | Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method | |
CN106938142B (zh) | 游戏系统、游戏处理方法、游戏装置以及记录介质 | |
US10406438B2 (en) | Controlling behavior of entities in funnel sections of a computer-represented environment | |
JP2009056181A (ja) | ゲーム装置 | |
CN110141862A (zh) | 游戏中移动控制的方法及装置、电子设备、存储介质 | |
JP7149056B2 (ja) | ゲーム環境内でカバーモードにあるキャラクタの曲線化された移動軌跡を決定する方法及びシステム | |
CN111388975A (zh) | 交互游戏地面系统和方法 | |
CN102693362A (zh) | 一种与地形相适应的游戏角色跳跃方法和装置 | |
CN108654087A (zh) | 信息指示方法及装置、路况提示方法及装置 | |
CN111729311B (zh) | 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质 | |
US11684855B2 (en) | System and method for virtual navigation in a gaming environment | |
KR102648598B1 (ko) | 가상 레이싱 카 제어 방법 및 장치, 저장 매체 및 디바이스 | |
Broadhurst et al. | A prediction and planning framework for road safety analysis, obstacle avoidance and driver information | |
JP2021524076A (ja) | 仮想カメラ配置システム | |
CN117308983A (zh) | 路径规划方法、装置、设备及存储介质 | |
CN107970610A (zh) | 一种3d场景垂直空间飞行路线的规划方法和装置 | |
KR100865072B1 (ko) | 다중 접속 온라인 게임에서의 트래픽카 제어 방법 및시스템 | |
CN112150634A (zh) | 基于多人重定向的大规模虚拟场景漫游方法 | |
Tomlinson | The long and short of steering in computer games | |
Ciupiński | Animation-driven locomotion with locomotion planning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |