非玩家角色的控制方法、装置、电子设备和存储介质制造方法及图纸

技术编号:37244561 阅读:11 留言:0更新日期:2023-04-20 23:25
本申请实施例公开了非玩家角色的控制方法、装置、电子设备和存储介质;本申请实施例可以获取非玩家角色在游戏场景中的待移动路线,待移动路线包括多个子路径;根据非玩家角色位于第一子路径终点时的第一方向的速度和第二子路径确定偏移速度;根据偏移速度和预设加速度,预测非玩家角色的偏移距离;基于偏移距离,调整非玩家角色位于第一子路径终点的第一方向的速度,以通过调整后的第一方向的速度和预设的第二子路径起点对应的第二方向的速度,控制非玩家角色沿第二子路径移动,第二方向为沿第二子路径的方向。在本申请实施例中,改进了非玩家角色在游戏场景中的移动,使其移动较为自然。自然。自然。

【技术实现步骤摘要】
非玩家角色的控制方法、装置、电子设备和存储介质


[0001]本申请涉及计算机领域,具体涉及一种非玩家角色的控制方法、装置、电子设备和存储介质。

技术介绍

[0002]游戏中存在多种非玩家角色(NPC,Non

Player Character),用户可以控制虚拟角色与NPC交互,从而获得参与感。为了丰富游戏剧情,存在一些可以在游戏场景中移动的NPC。
[0003]然而,目前在控制NPC移动时,先获取NPC移动的路径,并预先设置固定时间NPC在路径上所处于的位置,如此,可以得到NPC在一段连续时间所对应的位置变化,以此实现控制NPC在游戏场景中移动,但是,上述方法使NPC在移动时具有固定的速度,以致于NPC在游戏场景中的移动较为刻板。

技术实现思路

[0004]本申请实施例提供一种非玩家角色的控制方法、装置、电子设备和存储介质,可以改进非玩家角色在游戏场景中的移动,以使其移动较为自然。
[0005]本申请实施例提供一种非玩家角色的控制方法,包括:
[0006]获取非玩家角色在游戏场景中的待移动路线,待移动路线包括多个子路径,相邻两个子路径中前一子路径的终点与后一子路径的起点相连;
[0007]根据非玩家角色位于第一子路径终点时的第一方向的速度和第二子路径确定偏移速度,偏移速度的速度方向垂直于第二子路径,第一方向为沿第一子路径的方向,第一子路径为多个子路径中除最后一个子路径中的任意一个子路径,第二子路径为第一子路径的后一子路径;
[0008]根据偏移速度和预设加速度,预测非玩家角色的偏移距离,预设加速度为游戏场景中设置的加速度;
[0009]基于偏移距离,调整非玩家角色位于第一子路径终点的第一方向的速度,以通过调整后的第一方向的速度和预设的第二子路径起点对应的第二方向的速度,控制非玩家角色沿第二子路径移动,第二方向为沿第二子路径的方向。
[0010]本申请实施例还提供一种非玩家角色的控制装置,包括:
[0011]获取单元,用于获取非玩家角色在游戏场景中的待移动路线,所述待移动路线包括多个子路径,相邻两个所述子路径中前一子路径的终点与后一子路径的起点相连;
[0012]速度确定单元,用于根据所述非玩家角色位于第一子路径终点时的第一方向的速度和第二子路径确定偏移速度,所述偏移速度的速度方向垂直于所述第二子路径,所述第一方向为沿所述第一子路径的方向,所述第一子路径为所述多个子路径中除最后一个子路径的任意一个子路径,所述第二子路径为所述第一子路径的后一子路径;
[0013]偏移确定单元,用于根据偏移速度和预设加速度,预测非玩家角色的偏移距离,预
设加速度为游戏场景中设置的加速度;
[0014]调整单元,用于基于偏移距离,调整非玩家角色位于第一子路径终点的第一方向的速度,以通过调整后的第一方向的速度和预设的第二子路径起点对应的第二方向的速度,控制非玩家角色沿第二子路径移动,第二方向为沿第二子路径的方向。
[0015]在一些实施例中,第一方向的速度包括非偏移速度,非偏移速度的速度方向与第二方向相同,基于偏移距离,调整非玩家角色位于第一子路径终点的第一方向的速度,以通过调整后的第一方向的速度和预设的第二子路径起点对应的第二方向的速度,控制非玩家角色沿第二子路径移动,包括:
[0016]若偏移距离在预设范围外时,消除偏移速度;
[0017]基于非玩家角色位于第一子路径终点的非偏移速度和预设的第二子路径起点对应的第二方向的速度,控制非玩家角色沿第二子路径移动;
[0018]若偏移距离在预设范围内时,根据非玩家角色位于第一子路径终点的第一方向的速度和第二方向的速度,控制非玩家角色沿第二子路径移动。
[0019]在一些实施例中,第二子路径携带有至少一个移动信息,移动信息包括非玩家角色的移动类型、以及移动类型对应的起点和终点,在基于偏移距离,调整非玩家角色位于第一子路径终点的第一方向的速度,以通过调整后的所述第一方向的速度和预设的第二子路径起点对应的第二方向的速度,控制使非玩家角色沿第二子路径移动之后,还包括:
[0020]获取非玩家角色沿第二子路径移动的实时位置,以及至少一个移动信息中与实时位置对应的目标移动信息;
[0021]根据目标移动信息中的移动类型,控制非玩家角色从目标起点移动至目标终点,目标起点和目标终点为目标移动信息中的移动类型对应的起点和终点。
[0022]在一些实施例中,根据目标移动信息中的移动类型,控制非玩家角色从目标起点移动至目标终点,包括:
[0023]当目标移动信息中的移动类型为跳跃类型时,计算垂直高度对应的自由落体时间,垂直高度为实时位置与目标终点之间的高度差,目标终点为目标移动信息中的移动类型对应的终点;
[0024]基于自由落体时间,以及非玩家角色位于实时位置的实时速度,确定自由落体时间内非玩家角色在水平方向上的位移距离;
[0025]根据位移距离,调整位于第二子路径上的目标起点和目标终点,以使调整后的目标起点和目标终点之间的水平距离等于位移距离,目标起点为目标移动信息中的移动类型对应的起点;
[0026]根据非玩家角色位于调整后的目标起点的实时速度,控制非玩家角色从调整后的目标起点向调整后的目标终点跳跃。
[0027]在一些实施例中,第一方向的速度包括非偏移速度,在基于自由落体时间,以及非玩家角色位于实时位置的实时速度,确定自由落体时间内非玩家角色在水平方向上的位移距离之前,还包括:
[0028]根据预设加速度以及非玩家角色位于第一子路径终点的非偏移速度,确定非玩家角色在实时位置的第一实时非偏移速度;
[0029]根据第一实时非偏移速度和第二方向的速度,确定非玩家角色位于实时位置的实
时速度;
[0030]在根据非玩家角色位于调整后的目标起点的实时速度,控制非玩家角色从调整后的目标起点向调整后的目标终点跳跃之前,还包括:
[0031]根据预设加速度以及非玩家角色位于第一子路径终点的非偏移速度,确定非玩家角色位于调整后的目标起点的第二实时非偏移速度;
[0032]根据第二实时非偏移速度和第二方向的速度,确定非玩家角色位于调整后的目标起点的实时速度。
[0033]在一些实施例中,根据目标移动信息中的移动类型,控制非玩家角色从目标起点移动至目标终点,包括:
[0034]若目标移动信息中的移动类型为目标移动类型时,获取非玩家角色从目标起点向目标终点移动的实时目标移动位置,目标移动类型为翻越障碍物所对应的移动类型;
[0035]确定实时目标移动位置与第二子路径之间的实时距离;
[0036]若实时距离在预设范围外时,调整非玩家角色位于实时目标移动位置的移动方向,以使非玩家角色向目标终点移动。
[0037]在一些实施例中,在若实时距离在预设范围外时,调整非玩家角色位于实时目标移动位置的移动方向之后,还包括:
[0038]获取调整次数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非玩家角色的控制方法,其特征在于,包括:获取非玩家角色在游戏场景中的待移动路线,所述待移动路线包括多个子路径,相邻两个所述子路径中前一子路径的终点与后一子路径的起点相连;根据所述非玩家角色位于第一子路径终点时的第一方向的速度和第二子路径确定偏移速度,所述偏移速度的速度方向垂直于所述第二子路径,所述第一方向为沿所述第一子路径的方向,所述第一子路径为所述多个子路径中除最后一个子路径的任意一个子路径,所述第二子路径为所述第一子路径的后一子路径;根据所述偏移速度和预设加速度,预测所述非玩家角色的偏移距离,所述预设加速度为所述游戏场景中设置的加速度;基于所述偏移距离,调整所述非玩家角色位于第一子路径终点的所述第一方向的速度,以通过调整后的所述第一方向的速度和预设的所述第二子路径起点对应的第二方向的速度,控制所述非玩家角色沿所述第二子路径移动,所述第二方向为沿所述第二子路径的方向。2.如权利要求1所述的非玩家角色的控制方法,其特征在于,所述第一方向的速度包括非偏移速度,所述非偏移速度的速度方向与所述第二方向相同,所述基于所述偏移距离,调整所述非玩家角色位于第一子路径终点的所述第一方向的速度,以通过调整后的所述第一方向的速度和预设的所述第二子路径起点对应的第二方向的速度,控制所述非玩家角色沿所述第二子路径移动,包括:若所述偏移距离在预设范围外时,消除所述偏移速度;基于所述非玩家角色位于所述第一子路径终点的所述非偏移速度和预设的所述第二子路径起点对应的第二方向的速度,控制所述非玩家角色沿所述第二子路径移动;若所述偏移距离在预设范围内时,根据所述非玩家角色位于第一子路径终点的所述第一方向的速度和所述第二方向的速度,控制所述非玩家角色沿所述第二子路径移动。3.如权利要求1所述的非玩家角色的控制方法,其特征在于,所述第二子路径携带有至少一个移动信息,所述移动信息包括所述非玩家角色的移动类型、以及所述移动类型对应的起点和终点,在所述基于所述偏移距离,调整所述非玩家角色位于第一子路径终点的所述第一方向的速度,以通过调整后的所述第一方向的速度和预设的所述第二子路径起点对应的第二方向的速度,控制所述非玩家角色沿所述第二子路径移动之后,还包括:获取所述非玩家角色沿所述第二子路径移动的实时位置,以及所述至少一个移动信息中与所述实时位置对应的目标移动信息;根据所述目标移动信息中的移动类型,控制所述非玩家角色从目标起点移动至目标终点,所述目标起点和所述目标终点为所述目标移动信息中的移动类型对应的起点和终点。4.如权利要求3所述的非玩家角色的控制方法,其特征在于,所述根据所述目标移动信息中的移动类型,控制所述非玩家角色从目标起点移动至目标终点,包括:当所述目标移动信息中的移动类型为跳跃类型时,计算垂直高度对应的自由落体时间,所述垂直高度为所述实时位置与目标终点之间的高度差,所述目标终点为所述目标移动信息中的移动类型对应的终点;基于所述自由落体时间,以及所述非玩家角色位于所述实时位置的实时速度,确定所述自由落体时间内所述非玩家角色在水平方向上的位移距离;
根据所述位移距离,调整位于所述第二子路径上的目标起点和所述目标终点,以使调整后的所述目标起点和所述目标终点之间的水平距离等于所述位移距离,所述目标起点为所述目标移动信息中的移动类型对应的起点;根据所述非玩家角色位于调整后的所述目标起点的实时速度,控制所述非玩家角色从调整后的所述目标起点向调整后的所述目标终点跳跃。5.如权利要求4所述的非玩家角色的控制方法,其特征在于,所述第一方向的速度包括非偏移速度,在所述基于所述自由落体时间,以及所述非玩家角色位于所述实时位置的实时速度,确定所述自由落体时间内所述非玩家角色在水平方向上的位移距离之前,还包括:根据所述预设加速度以及所述非玩家角色位于所述第一子路径终点的所述非偏移速度,确定所述非玩家角色在所述实时位置的第一实时非偏移速度;根据所述第一实时非偏移速度和所述第二方向的速度,确定所述非玩家角色位于所述实时位置的实时速度;在所述根据所述非玩家角色位于调整后的所述目标起点的实时速度,控制所述非玩家角色从调整后的所述目标起点向调整后的所述目标终点跳跃之前,还包括:根据预设加速度以及所述非玩家角色位于所述第一子路径终点的所述非偏移速度,确定所述非玩家角色位于调整后的所述目标起点的第二实时非偏移速度;根据所述第二实时非偏移速度和所述第二方向的速度,确定所述非玩家角色位于调整后的所述目标起点的实时速度。6.如权利要求3所述的非玩家角色的控制方法,其特征在于,所述根据所述目标移动信息中的移动类型,控制所述非玩家角色从目标起点移动至目标终点,包括:若所述目标移动信息中的移动类型为目标移动类型时,获取所述非玩家角色从目标起点向目标终点移动的实时目标移动位置,所述目标移动类型为翻越障碍物所对应的移动类型;确定所述实...

【专利技术属性】
技术研发人员:孙明琦
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1