游戏角色的运动碰撞方法及装置、存储介质、计算机设备制造方法及图纸

技术编号:38154592 阅读:9 留言:0更新日期:2023-07-13 09:21
本申请公开了一种游戏角色的运动碰撞方法及装置、存储介质、计算机设备,该方法包括:在监控到游戏中多个游戏角色之间发生碰撞的条件下,依据每个所述游戏角色各自的角色属性,确定所述游戏角色中的被挤开角色;以所述被挤开角色的碰撞点为切点,确定所述被挤开角色对应的切线;基于所述被挤开角色的运动方向以及所述切线的切线方向,确定所述被挤开角色的挤开方向,并依据所述被挤开角色的运动速度以及所述挤开方向,计算所述被挤开角色的挤开速度;控制所述被挤开角色以所述挤开速度并沿所述挤开方向移动。本申请有助于避免游戏角色碰撞后产生重叠,运动更符合真实规律,提升游戏表现力,提升玩家游戏体验。提升玩家游戏体验。提升玩家游戏体验。

【技术实现步骤摘要】
游戏角色的运动碰撞方法及装置、存储介质、计算机设备


[0001]本申请涉及计算机游戏
,尤其是涉及到一种游戏角色的运动碰撞方法及装置、存储介质、计算机设备。

技术介绍

[0002]在游戏场景中通常包含很多游戏角色,大量游戏角色在游戏场景中按照各自的逻辑运动时,游戏角色和游戏角色之间可能会产生碰撞。现有技术中对游戏角色的碰撞控制一般分为两种,一种是各游戏角色按照各自的逻辑运动,不对游戏角色的碰撞进行检测,这种方式会导致游戏角色的运动位置重叠,不符合真实运动规律,另一种是对游戏角色进行碰撞检测,为了避免游戏角色重叠,在检测到游戏角色发生碰撞后,改变游戏角色的运动轨迹,游戏角色以产生碰撞的位置为原点,进行随机移动或者重新寻路,真实性较差,影响玩家游戏体验。

技术实现思路

[0003]有鉴于此,本申请提供了一种游戏角色的运动碰撞方法及装置、存储介质、计算机设备,有助于提升角色碰撞后的运动表现力。
[0004]根据本申请的一个方面,提供了一种游戏角色的运动碰撞方法,所述方法包括:
[0005]在监控到游戏中多个游戏角色之间发生碰撞的条件下,依据每个所述游戏角色各自的角色属性,确定所述游戏角色中的被挤开角色;
[0006]以所述被挤开角色的碰撞点为切点,确定所述被挤开角色对应的切线;
[0007]基于所述被挤开角色的运动方向以及所述切线的切线方向,确定所述被挤开角色的挤开方向,并依据所述被挤开角色的运动速度以及所述挤开方向,计算所述被挤开角色的挤开速度;
[0008]控制所述被挤开角色以所述挤开速度并沿所述挤开方向移动。
[0009]可选地,所述角色属性包括阵营属性以及体型属性;所述在监控到游戏中多个游戏角色之间发生碰撞的条件下,依据每个所述游戏角色各自的角色属性,确定所述游戏角色中的被挤开角色,具体包括:
[0010]在监控到游戏中两个游戏角色之间发生碰撞的条件下,识别两个所述游戏角色是否属于同一阵营;
[0011]在所述游戏角色不属于同一阵营的情况下,在所述游戏角色的体型不同时,将体型小的游戏角色确定为所述被挤开角色,在所述游戏角色的体型相同时,将两个所述游戏角色均确定为所述被挤开角色;
[0012]在所述游戏角色均属于同一阵营,且属于非玩家角色阵营的情况下,若所述游戏角色的体型不同,则将体型小的游戏角色确定为所述被挤开角色,若所述游戏角色的体型相同,则将两个所述游戏角色均确定为所述被挤开角色。
[0013]可选地,所述基于所述被挤开角色的运动方向以及所述切线的切线方向,确定所
述被挤开角色的挤开方向,并依据所述被挤开角色的运动速度以及所述挤开方向,计算所述被挤开角色的挤开速度,具体包括:
[0014]基于所述被挤开角色的中心位置和另一游戏角色的中心位置构成的连线确定碰撞坐标系的纵轴,基于所述切线确定所述碰撞坐标系的横轴;
[0015]获取所述被挤开角色的运动方向在所述横轴上的分解方向,作为所述被挤开角色的挤开方向;
[0016]计算所述被挤开角色的运动速度在所述挤开方向上的分解速度,作为所述被挤开角色的挤开速度。
[0017]可选地,所述控制所述被挤开角色以所述挤开速度并沿所述挤开方向移动之前,所述方法还包括:
[0018]获取所述被挤开角色在预设时长内,以所述挤开速度并沿所述挤开方向移动的目标路径,或者,获取沿所述挤开方向移动预设距离的目标路径;
[0019]若所述目标路径不经过预设不可达位置,则执行所述控制所述被挤开角色以所述挤开速度并沿所述挤开方向移动;
[0020]若所述目标路径经过预设不可达位置,则重新确定所述游戏角色中的被挤开角色。
[0021]可选地,所述重新确定所述游戏中的被挤开角色,具体包括:
[0022]若所述游戏角色包含非被挤开角色,则将所述非被挤开角色确定为新的被挤开角色;
[0023]若所述游戏角色不包括所述非被挤开角色,则控制所述目标路径经过所述预设不可达位置的所述被挤开角色,保持所述运动方向和所述运动速度。
[0024]可选地,所述在监控到游戏中多个游戏角色之间发生碰撞的条件下,依据每个所述游戏角色各自的角色属性,确定所述游戏角色中的被挤开角色,具体包括:
[0025]在监控到游戏中三个游戏角色之间发生碰撞的条件下,识别三个所述游戏角色是否属于同一阵营;
[0026]在所述游戏角色属于同一阵营,且属于非玩家角色阵营的情况下,获取每个所述游戏角色对应的碰撞角色数量,并将对应的碰撞角色数量为1的游戏角色确定为所述被挤开角色;
[0027]在所述游戏角色不属于同一阵营的情况下,获取每个所述游戏角色对应的碰撞角色数量,并在任一游戏角色的碰撞角色数量为1,且所述任一游戏角色与碰撞角色不同时属于玩家角色阵营的情况下,将所述任一游戏角色确定为所述被挤开角色。
[0028]可选地,所述确定所述游戏角色中的被挤开角色之后,所述方法还包括:
[0029]若所述被挤开角色处于强制移动状态,则保持所述被挤开角色的运动速度和运动方向,其中,所述游戏角色在强制移动类型的技能触发下进入所述强制移动状态;
[0030]若所述被挤开角色处于非强制移动状态,则执行所述以所述被挤开角色的碰撞点为切点,确定所述被挤开角色对应的切线。
[0031]可选地,所述方法还包括:
[0032]在游戏中任意的目标游戏角色由所述强制移动状态进入所述非强制移动状态的条件下,检测所述目标游戏角色是否与其他游戏角色存在重叠;
[0033]若所述目标游戏角色与所述其他游戏角色存在重叠,则基于所述其他游戏角色和所述目标游戏角色各自的位置,调整所述目标游戏角色的位置,以使所述目标游戏角色与所述其他游戏角色不产生重叠。
[0034]可选地,所述方法还包括:
[0035]在游戏中任一非玩家角色进入寻路状态的条件下,对所述任一非玩家角色进行路径规划,得到寻路路径;
[0036]检测所述寻路路径上是否包含可碰撞角色,并在包含时,重新对所述任一非玩家角色进行路径规划,直到得到的寻路路径上不包含所述可碰撞角色为止。
[0037]根据本申请的另一方面,提供了一种游戏角色的运动碰撞装置,所述装置包括:
[0038]角色确定模块,用于在监控到游戏中多个游戏角色之间发生碰撞的条件下,依据每个所述游戏角色各自的角色属性,确定所述游戏角色中的被挤开角色;
[0039]计算模块,用于以所述被挤开角色的碰撞点为切点,确定所述被挤开角色对应的切线;基于所述被挤开角色的运动方向以及所述切线的切线方向,确定所述被挤开角色的挤开方向,并依据所述被挤开角色的运动速度以及所述挤开方向,计算所述被挤开角色的挤开速度;
[0040]移动控制模块,用于控制所述被挤开角色以所述挤开速度并沿所述挤开方向移动。
[0041]可选地,所述角色属性包括阵营属性以及体型属性;所述角色确定模块,具体用于:
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种游戏角色的运动碰撞方法,其特征在于,所述方法包括:在监控到游戏中多个游戏角色之间发生碰撞的条件下,依据每个所述游戏角色各自的角色属性,确定所述游戏角色中的被挤开角色;以所述被挤开角色的碰撞点为切点,确定所述被挤开角色对应的切线;基于所述被挤开角色的运动方向以及所述切线的切线方向,确定所述被挤开角色的挤开方向,并依据所述被挤开角色的运动速度以及所述挤开方向,计算所述被挤开角色的挤开速度;控制所述被挤开角色以所述挤开速度并沿所述挤开方向移动。2.根据权利要求1所述的方法,其特征在于,所述角色属性包括阵营属性以及体型属性;所述在监控到游戏中多个游戏角色之间发生碰撞的条件下,依据每个所述游戏角色各自的角色属性,确定所述游戏角色中的被挤开角色,具体包括:在监控到游戏中两个游戏角色之间发生碰撞的条件下,识别两个所述游戏角色是否属于同一阵营;在所述游戏角色不属于同一阵营的情况下,在所述游戏角色的体型不同时,将体型小的游戏角色确定为所述被挤开角色,在所述游戏角色的体型相同时,将两个所述游戏角色均确定为所述被挤开角色;在所述游戏角色均属于同一阵营,且属于非玩家角色阵营的情况下,若所述游戏角色的体型不同,则将体型小的游戏角色确定为所述被挤开角色,若所述游戏角色的体型相同,则将两个所述游戏角色均确定为所述被挤开角色。3.根据权利要求2所述的方法,其特征在于,所述基于所述被挤开角色的运动方向以及所述切线的切线方向,确定所述被挤开角色的挤开方向,并依据所述被挤开角色的运动速度以及所述挤开方向,计算所述被挤开角色的挤开速度,具体包括:基于所述被挤开角色的中心位置和另一游戏角色的中心位置构成的连线确定碰撞坐标系的纵轴,基于所述切线确定所述碰撞坐标系的横轴;获取所述被挤开角色的运动方向在所述横轴上的分解方向,作为所述被挤开角色的挤开方向;计算所述被挤开角色的运动速度在所述挤开方向上的分解速度,作为所述被挤开角色的挤开速度。4.根据权利要求3所述的方法,其特征在于,所述控制所述被挤开角色以所述挤开速度并沿所述挤开方向移动之前,所述方法还包括:获取所述被挤开角色在预设时长内,以所述挤开速度并沿所述挤开方向移动的目标路径,或者,获取沿所述挤开方向移动预设距离的目标路径;若所述目标路径不经过预设不可达位置,则执行所述控制所述被挤开角色以所述挤开速度并沿所述挤开方向移动;若所述目标路径经过预设不可达位置,则重新确定所述游戏角色中的被挤开角色。5.根据权利要求4所述的方法,其特征在于,所述重新确定所述游戏中的被挤开角色,具体包括:若所述游戏角色包含非被挤开角色,则将所述非被挤开角色确定为新的被挤开角色;若所述游戏角色不包括所述非被挤开角色,则控制所述目标路径经过所述预设不可达
位置的所述被挤开角色,保持所述运动方向和所述运动速度。6.根据权利要求1所述的方法,其特征在于,所述在监控...

【专利技术属性】
技术研发人员:殷杰锋蔡倜
申请(专利权)人:上海完美时空软件有限公司
类型:发明
国别省市:

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

1