玩具专利数据库

游戏帧处理方法、装置、电子设备及计算机可读

发布日期:2024-09-02 浏览次数:

本发明涉及游戏领域,具体而言,涉及一种游戏帧处理方法、装置、电子设备及计算机可读存储介质。背景技术:1、在现今的3d游戏中,利用胶囊控制器(即将玩家角色转换为胶囊体进行移动)实现对玩家角色的移动控制是随处可见的,常见的基本移动方式有:走、跑、跳、飞行等。为了保证移动的多样性和趣味性,更多的移动方式被开发出来,例如攀爬这一关键的移动方式被越来越多游戏厂商所关注,而如何实现角色攀爬和解决攀爬过程的边界问题就成了影响用户体验的关键一环。2、现有技术中,常见的实现方法是提前确定可攀爬体上的各个攀爬点,从而形成攀爬配置文件,需要攀爬时,直接读取攀爬配置文件,即可在其表面的可攀爬点之间进行攀爬移动。而要形成一个可攀爬体的攀爬配置文件,要么是人力进行攀爬点标注要么是自动工具进行攀爬点标注,这两种方式都耗时费力。3、并且,这样的方式使得玩家只能在存在攀爬配置文件的可攀爬体表面进行攀爬移动,若是玩家即兴想在游戏场景中某一不存在攀爬配置文件的物体上进行攀爬移动,是无法实现的,容易导致玩家体验较差。技术实现思路1、本发明的目的在于提供一种游戏帧处理方法、装置、电子设备及计算机可读存储介质,以改善现有技术存在的问题。2、本发明的实施例可以这样实现:3、第一方面,本发明提供一种游戏帧处理方法,包括:4、当感知到玩家的攀爬操作时,获取游戏场景中当前游戏帧的游戏角色的当前姿态四元数以及所述游戏角色所在胶囊体的手部位置和旋转点位置;5、从所述手部位置向所述游戏角色的正前方发射判定球,若所述判定球在预设发射长度内接触到障碍物,则将接触点作为第一参考点;6、基于所述手部位置,进行至少一次射线检测以获取所述障碍物表面的第二参考点;7、将所述第一参考点指向所述第二参考点的方向作为单帧位移的方向,并基于预设攀爬速度以及预设帧率,计算所述单帧位移的大小;8、基于所述当前姿态四元数以及所述旋转点位置,确定所述游戏角色的下一姿态四元数;所述单帧位移和所述下一姿态四元数用于确定下一游戏帧中所述游戏角色的攀爬位置和攀爬姿态。9、可选的,所述基于所述手部位置,进行至少一次射线检测以获取所述障碍物表面第二参考点的步骤,包括:10、以所述手部位置为起点,朝所述游戏角色的前进方向发射第一预设长度的第一射线;11、若所述第一射线与所述障碍物相交,则将交点作为所述障碍物表面的第二参考点;12、若所述第一射线与所述障碍物未相交,则以所述第一射线的终点为起点,向所述游戏角色的正前方发射第二预设长度的第二射线;13、若所述第二射线与所述障碍物相交,则将交点作为所述障碍物表面的第二参考点;14、若所述第二射线与所述障碍物未相交,则以所述第二射线上距其起点预设长度处为扫描射线的起点,沿所述第二射线的方向至所述前进方向的反方向之间进行射线扫描且所述扫描射线的长度从预设初始长度线性变化至预设结束长度,直至所述扫描射线与所述障碍物相交,将交点作为所述障碍物表面的第二参考点。15、可选的,所述基于所述当前姿态四元数以及所述旋转点位置,确定所述游戏角色的下一姿态四元数的步骤,包括:16、基于所述旋转点位置,进行至少一次射线检测以获取射线与所述障碍物表面的目标交点的法向量;17、基于所述目标交点的法向量以及所述游戏场景的地面法向量,确定所述游戏角色在所述目标交点的目标姿态四元数;18、在所述当前姿态四元数与所述目标姿态四元数之间进行插值,得到所述游戏角色的下一姿态四元数。19、可选的,所述基于所述目标交点的法向量以及所述游戏场景的地面法向量,确定所述游戏角色在所述目标交点的目标姿态四元数的步骤,包括:20、将所述游戏场景的地面法向量投影至所述目标交点所在的法平面,得到第一投影向量;21、基于所述第一投影向量以及所述目标交点的法向量对应的反向法向量,计算所述游戏角色在所述目标交点的目标姿态四元数。22、可选的,所述方法还包括:23、利用所述单帧位移以及所述下一姿态四元数确定下一游戏帧中游戏角色的攀爬位置和攀爬姿态,以生成所述下一游戏帧;24、将所述下一游戏帧作为新的当前游戏帧;25、检测所述游戏角色的前进方向与地面法向量之间的夹角,若所述夹角小于90°,则利用所述判定球进行攀登检测;26、若攀登检测未通过,则返回执行所述获取游戏场景中当前游戏帧的游戏角色的当前姿态四元数以及所述游戏角色所在胶囊体的手部位置和旋转点位置的步骤,直至感知到玩家的攀爬结束操作或感知到所述游戏角色的前进方向垂直于地面且所述下一游戏帧中所述游戏角色所在的胶囊体接触地面时,停止攀爬,或者,直至攀登检测通过;27、若攀登检测通过,则基于所述游戏角色的正前方单位向量、所述地面法向量以及所述当前游戏帧中游戏角色的当前姿态四元数,生成所述游戏角色从所述当前游戏帧中的当前位置登顶的攀登动画。28、可选的,所述利用所述判定球进行攀登检测的步骤,包括:29、从所述游戏场景中所述当前游戏帧的游戏角色所在胶囊体的顶部位置开始,朝所述游戏角色的正前方延伸第一预设距离,确定第一检测点;30、从所述第一检测点沿着地面法向量方向延伸第二预设距离,确定第二检测点;31、从所述第二检测点向所述第一检测点发生发射所述判定球,若所述判定球在到达所述第一检测点之前接触到障碍物,则获取接触点的法向量;32、计算所述接触点的法向量与所述地面法向量之间的夹角;33、若所述夹角不超过预设角度,则确认所述接触点所在障碍物平面平缓,攀登检测通过;34、若所述夹角超过所述预设角度,则确认所述接触点所在障碍物平面陡峭,攀登检测不通过。35、可选的,所述基于所述游戏角色的正前方单位向量、所述地面法向量以及所述当前游戏帧中游戏角色的当前姿态四元数,生成所述游戏角色从所述当前游戏帧中的当前位置登顶的攀登动画的步骤,包括:36、基于所述游戏角色的正前方单位向量和所述地面法向量,计算所述游戏角色的登顶姿态四元数;37、获取所述当前游戏帧中游戏角色的当前姿态四元数,并在所述当前姿态四元数与所述登顶姿态四元数之间连续进行多次插值,得到多个中间姿态四元数;38、基于所述多个中间姿态四元数以及所述登顶姿态四元数,生成所述游戏角色从所述当前游戏帧中的当前位置登顶的攀登动画。39、第二方面,本发明提供一种游戏帧处理装置,包括:40、位置获取模块,用于当感知到玩家的攀爬操作时,获取游戏场景中当前游戏帧的游戏角色的当前姿态四元数以及所述游戏角色所在胶囊体的手部位置和旋转点位置;41、第一检测模块,用于从所述手部位置向所述游戏角色的正前方发射判定球,若所述判定球在预设发射长度内接触到障碍物,则将接触点作为第一参考点;42、第二检测模块,用于基于所述手部位置,进行至少一次射线检测以获取所述障碍物表面的第二参考点;43、位移确定模块,用于将所述第一参考点指向所述第二参考点的方向作为单帧位移的方向,并基于预设攀爬速度以及预设帧率,计算所述单帧位移的大小;44、姿态转换模块,用于基于所述当前姿态四元数以及所述旋转点位置,确定所述游戏角色的下一姿态四元数;所述单帧位移和所述下一姿态四元数用于确定下一游戏帧中所述游戏角色的攀爬位置和攀爬姿态。45、第三方面,本发明提供一种电子设备,包括:存储器和处理器,所述存储器存储有软件程序,当所述电子设备运行时所述处理器执行所述软件程序以实现如前述第一方面所述的游戏帧处理方法。46、第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面所述的游戏帧处理方法。47、与现有技术相比,本发明实施例提供了一种游戏帧处理方法、装置、电子设备及计算机可读存储介质,该方法在当感知到玩家的攀爬操作时,首先获取游戏场景中当前游戏帧的游戏角色的当前姿态四元数以及游戏角色所在胶囊体的手部位置和旋转点位置;接着从手部位置向游戏角色的正前方发射判定球,若判定球在预设发射长度内接触到障碍物,则将接触点作为第一参考点;再基于手部位置,进行至少一次射线检测以获取障碍物表面的第二参考点;从而将第一参考点指向第二参考点的方向作为单帧位移的方向,并基于预设攀爬速度以及预设帧率,计算单帧位移的大小;最后基于当前姿态四元数以及旋转点位置,确定游戏角色的下一姿态四元数;单帧位移和下一姿态四元数用于确定下一游戏帧中游戏角色的攀爬位置和攀爬姿态。相较于现有技术,本发明在玩家发起攀爬操作时,能够实时计算攀爬过程中玩家角色在下一游戏帧中的攀爬位置和攀爬姿态,使得玩家在理论可攀爬的障碍物上均可攀爬,而无需预先生成攀爬配置文件,使得玩家体验较好。