攀爬跳跃方法、装置、计算机设备及计算机可读存储介质

文档序号:1119089 发布日期:2020-10-02 浏览:11次 >En<

阅读说明:本技术 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质 (Climbing jump method and device, computer equipment and computer readable storage medium ) 是由 李宁徽 汤杰 于 2020-06-22 设计创作,主要内容包括:本发明公开了一种攀爬跳跃方法、装置、计算机设备及计算机可读存储介质,涉及游戏设计技术领域,在目标角色的角色状态满足攀爬跳跃的条件下,根据玩家输入的摇杆参数,控制目标角色进行碰撞测试,确定跳跃终点,令目标角色移动到跳跃终点,使得按照游戏中的实际情况攀爬跳跃,无需设置路线,玩家可控制角色自由活动,提高了游戏的可交互性,丰富了玩法,增强玩家的游戏体验。所述方法包括:在目标角色的角色状态满足攀爬跳跃的条件下,获取玩家输入到目标角色的摇杆参数;根据摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,确定跳跃终点;以预设跳跃方式将目标角色由当前位置移动至跳跃终点,完成目标角色的攀爬跳跃。(The invention discloses a climbing jump method, a climbing jump device, computer equipment and a computer readable storage medium, and relates to the technical field of game design. The method comprises the following steps: acquiring rocker parameters input into the target role by a player under the condition that the role state of the target role meets climbing jump; controlling a target role to perform a collision test according to input values of the rocker parameters in the up-down direction and the left-right direction, and determining a jump terminal point; and moving the target role from the current position to a jump end point in a preset jump mode to finish climbing and jumping of the target role.)

攀爬跳跃方法、装置、计算机设备及计算机可读存储介质

技术领域

本发明涉及游戏设计技术领域,特别是涉及一种攀爬跳跃方法、装置、计算机设备及计算机可读存储介质。

背景技术

随着生活水平的提高,人们的生存质量和生活环境发生了翻天覆地的变化,大规模的城市建设,给人们的生活带来高品质享受的同时,也带来了巨大的压力,人们在压力环境下容易出现焦虑、精神不集中、工作无法正常完成等问题,因此,很多可以用于缓解疲劳的游戏应运而生。近年来,游戏设计技术飞速发展,为了更好的游戏体验,游戏开发人员对游戏的要求也越来越高,现在市面上的很多游戏都十分注重玩家在游戏时与游戏世界中的地形、建筑等的交互,所以在游戏中增加了角色的向上攀爬、攀爬跳跃等功能,使得游戏的玩法增加,玩家可以体会别样的游戏感受。

相关技术中,游戏在设计时,游戏开发人员会在游戏中对可以攀爬的建筑进行标记,并以打点的方式,沿着可以攀爬的建筑制作攀爬路线,这样,玩家在游戏时,便可以控制自己的角色在游戏世界中按照设计的攀爬路线进行攀爬,并从攀爬路线规定的位置向上或者向下跳跃到指定的位置,实现对游戏世界的探索。

在实现本发明的过程中,发明人发现相关技术至少存在以下问题:

攀爬路线一般设计在特定的建筑物上,只有在特定的建筑物上玩家才能控制角色进行攀爬以及攀爬跳跃,而且攀爬路线、允许跳跃的位置以及跳到的指定位置都是固定的,对于攀爬路线没有涉及到的区域,玩家无法控制角色进行攀爬以及攀爬跳跃,角色攀爬跳跃的范围受到局限,导致游戏失真且游戏的角色缺乏生命力,游戏玩法单一,交互性以及玩家的游戏体验性较差。

发明内容

有鉴于此,本发明提供了一种攀爬跳跃方法、装置、计算机设备及计算机可读存储介质,主要目的在于解决目前玩家无法控制角色进行攀爬以及攀爬跳跃,角色攀爬跳跃的范围受到局限,导致游戏失真且游戏的角色缺乏生命力,游戏玩法单一,交互性以及玩家的游戏体验性较差的问题。

依据本发明第一方面,提供了一种攀爬跳跃方法,该方法包括:

在所述目标角色的角色状态满足攀爬跳跃的条件下,获取玩家输入到目标角色的摇杆参数;

根据所述摇杆参数中上下方向以及左右方向的输入值,控制所述目标角色进行碰撞测试,确定跳跃终点;

以预设跳跃方式将所述目标角色由当前位置移动至所述跳跃终点,完成所述目标角色的攀爬跳跃。

在另一个实施例中,所述根据所述摇杆参数中上下方向以及左右方向的输入值,控制所述目标角色进行碰撞测试,确定跳跃终点,包括:

若所述摇杆参数中所述上下方向和所述左右方向输入的值均为正数,则获取所述上下方向输入的第一方向向量和所述左右方向输入的第二方向向量;

计算所述第一方向向量和所述第二方向向量的第二向量和,将所述第二向量和作为所述跳跃方向向量;

控制所述目标角色向所述跳跃方向向量指示的方向进行碰撞测试;

若所述目标角色的碰撞测试发生命中,则将所述目标角色碰撞时命中的点作为所述跳跃终点;

若所述目标角色的碰撞测试未发生命中,则向所述跳跃方向向量指示方向的反方向进行碰撞测试,并将碰撞时命中的点作为所述跳跃终点。

在另一个实施例中,所述根据所述摇杆参数中上下方向以及左右方向的输入值,控制所述目标角色进行碰撞测试,确定跳跃终点,包括:

若所述摇杆参数中所述上下方向和所述左右方向输入的值均为0,则控制所述目标角色垂直向上进行碰撞测试;

基于所述目标角色持续向所述目标角色的当前朝向发射检测射线;

当所述检测射线命中障碍物时,确定所述检测射线在所述障碍物上的命中位置,将所述命中位置作为所述跳跃终点;

当所述检测射线未命中所述障碍物时,确定检测到所述目标角色攀爬跳跃至所述障碍物的顶部,在所述顶部确定目标行走点作为所述跳跃终点。

在另一个实施例中,所述在所述顶部确定目标行走点作为所述跳跃终点,包括:

查询所述顶部是否设置有至少一个候选行走点;

若所述顶部设置有至少一个候选行走点,则确定所述顶部允许翻越,在所述至少一个候选行走点中选取所述目标行走点,将所述目标行走点作为所述跳跃终点,所述目标行走点为所述至少一个候选行走点中任意候选行走点;

若所述顶部未设置所述至少一个候选行走点,则确定所述顶部不允许翻越,反馈禁止翻越提示。

在另一个实施例中,所述根据所述摇杆参数中上下方向以及左右方向的输入值,控制所述目标角色进行碰撞测试,确定跳跃终点,包括:

若所述摇杆参数中所述上下方向的输入值为负数且所述左右方向输入的值为0,则控制所述目标角色垂直向下进行碰撞测试;

基于移动检测组件检测可行走地面,将所述上下方向的输入值在所述可行走地面指示的位置作为所述跳跃终点。

在另一个实施例中,所述根据所述摇杆参数中上下方向以及左右方向的输入值,控制所述目标角色进行碰撞测试,确定跳跃终点,包括:

若所述摇杆参数中所述上下方向和所述左右方向输入的值均为负数,则确定所述目标角色当前的角色朝向;

将所述角色朝向的反方向作为回跳方向,按照所述上下方向以及所述左右方向的输入值,向所述回跳方向进行碰撞测试,将碰撞命中的位置作为所述跳跃终点。

在另一个实施例中,所述以预设跳跃方式将所述目标角色由当前位置移动至所述跳跃终点,完成所述目标角色的攀爬跳跃之后,所述方法还包括:

当检测到所述目标角色当前所处环境为室外雨天时,获取预设下滑速度以及预设下滑时间;

控制所述目标角色由所述跳跃终点以所述预设下滑速度进行下滑;

当所述目标角色下滑的时间达到所述预设下滑时间时,控制所述目标角色停止下滑。

依据本发明第二方面,提供了一种攀爬跳跃装置,该装置包括:

第一获取模块,用于在所述目标角色的角色状态满足攀爬跳跃的条件下,获取玩家输入到目标角色的摇杆参数;

确定模块,用于根据所述摇杆参数中上下方向以及左右方向的输入值,控制所述目标角色进行碰撞测试,确定跳跃终点;

移动模块,用于以预设跳跃方式将所述目标角色由当前位置移动至所述跳跃终点,完成所述目标角色的攀爬跳跃。

在另一个实施例中,所述确定模块,用于若所述摇杆参数中所述上下方向和所述左右方向输入的值均为正数,则获取所述上下方向输入的第一方向向量和所述左右方向输入的第二方向向量;计算所述第一方向向量和所述第二方向向量的第二向量和,将所述第二向量和作为所述跳跃方向向量;控制所述目标角色向所述跳跃方向向量指示的方向进行碰撞测试;若所述目标角色的碰撞测试发生命中,则将所述目标角色碰撞时命中的点作为所述跳跃终点;若所述目标角色的碰撞测试未发生命中,则向所述跳跃方向向量指示方向的反方向进行碰撞测试,并将碰撞时命中的点作为所述跳跃终点。

在另一个实施例中,所述确定模块,用于若所述摇杆参数中所述上下方向和所述左右方向输入的值均为0,则控制所述目标角色垂直向上进行碰撞测试;基于所述目标角色持续向所述目标角色的当前朝向发射检测射线;当所述检测射线命中障碍物时,确定所述检测射线在所述障碍物上的命中位置,将所述命中位置作为所述跳跃终点;当所述检测射线未命中所述障碍物时,确定检测到所述目标角色攀爬跳跃至所述障碍物的顶部,在所述顶部确定目标行走点作为所述跳跃终点。

在另一个实施例中,所述确定模块,用于查询所述顶部是否设置有至少一个候选行走点;若所述顶部设置有至少一个候选行走点,则确定所述顶部允许翻越,在所述至少一个候选行走点中选取所述目标行走点,将所述目标行走点作为所述跳跃终点,所述目标行走点为所述至少一个候选行走点中任意候选行走点;若所述顶部未设置所述至少一个候选行走点,则确定所述顶部不允许翻越,反馈禁止翻越提示。

在另一个实施例中,所述确定模块,用于若所述摇杆参数中所述上下方向的输入值为负数且所述左右方向输入的值为0,则控制所述目标角色垂直向下进行碰撞测试;基于移动检测组件检测可行走地面,将所述上下方向的输入值在所述可行走地面指示的位置作为所述跳跃终点。

在另一个实施例中,所述确定模块,用于若所述摇杆参数中所述上下方向和所述左右方向输入的值均为负数,则确定所述目标角色当前的角色朝向;将所述角色朝向的反方向作为回跳方向,按照所述上下方向以及所述左右方向的输入值,向所述回跳方向进行碰撞测试,将碰撞命中的位置作为所述跳跃终点。

在另一个实施例中,所述装置还包括:

第二获取模块,用于当检测到所述目标角色当前所处环境为室外雨天时,获取预设下滑速度以及预设下滑时间;

控制模块,用于控制所述目标角色由所述跳跃终点以所述预设下滑速度进行下滑;

所述控制模块,还用于当所述目标角色下滑的时间达到所述预设下滑时间时,控制所述目标角色停止下滑。

依据本发明第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。

依据本发明第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。

借由上述技术方案,本发明提供的一种攀爬跳跃方法、装置、计算机设备及计算机可读存储介质,本发明在目标角色的角色状态满足攀爬跳跃的条件下,根据玩家输入到目标角色的摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,从而确定跳跃终点,令目标角色可以以预设跳跃方式移动到跳跃终点,完成一次攀爬跳跃的过程,使得目标角色可以按照游戏中当前的实际情况进行攀爬以及攀爬跳跃,无需为攀爬跳跃设置跳跃路线,玩家可以控制角色自由活动,活动范围没有限制,提高了游戏的可交互性,丰富了游戏玩法,增强玩家的游戏体验。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的

具体实施方式

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种攀爬跳跃方法流程示意图;

图2A示出了本发明实施例提供的一种攀爬跳跃方法流程示意图;

图2B示出了本发明实施例提供的一种攀爬跳跃方法的示意图;

图2C示出了本发明实施例提供的一种攀爬跳跃方法的示意图;

图2D示出了本发明实施例提供的一种攀爬跳跃方法的示意图;

图3A示出了本发明实施例提供的一种攀爬跳跃装置的结构示意图;

图3B示出了本发明实施例提供的一种攀爬跳跃装置的结构示意图;

图4示出了本发明实施例提供的一种计算机设备的装置结构示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种攀爬跳跃方法,如图1所示,该方法包括:

101、在目标角色的角色状态满足攀爬跳跃的条件下,获取玩家输入到目标角色的摇杆参数。

102、根据摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,确定跳跃终点。

103、以预设跳跃方式将目标角色由当前位置移动至跳跃终点,完成目标角色的攀爬跳跃。

本发明实施例提供的方法,在目标角色的角色状态满足攀爬跳跃的条件下,根据玩家输入到目标角色的摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,从而确定跳跃终点,令目标角色可以以预设跳跃方式移动到跳跃终点,完成一次攀爬跳跃的过程,使得目标角色可以按照游戏中当前的实际情况进行攀爬以及攀爬跳跃,无需为攀爬跳跃设置跳跃路线,玩家可以控制角色自由活动,活动范围没有限制,提高了游戏的可交互性,丰富了游戏玩法,增强玩家的游戏体验。

本发明实施例提供了一种攀爬跳跃方法,如图2A所示,该方法包括:

201、在目标角色的角色状态满足攀爬跳跃的条件下,获取玩家输入到目标角色的摇杆参数。

发明人认识到,目前的很多游戏中都增加了角色的攀爬功能,为了实现这个攀爬功能,游戏的开发人员在特定的建筑物上设置了特定的攀爬路线,玩家在游戏世界中只能控制自己的角色在这些特定的建筑物上攀爬,而且只能沿着攀爬路线进行攀爬以及攀爬跳跃,这就导致玩家在游戏世界中的行动受到限制,玩家无法控制角色自由的探索游戏世界。为了解决上述问题,本发明提出了一种攀爬跳跃的方法,在接收到玩家的攀爬跳跃指令时,根据玩家输入到目标角色的摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,从而确定跳跃终点,令目标角色可以以预设跳跃方式移动到跳跃终点,完成一次攀爬跳跃的过程,使得目标角色可以按照游戏中当前的实际情况进行攀爬以及攀爬跳跃,无需为攀爬跳跃设置跳跃路线,玩家可以控制角色自由活动,活动范围没有限制,提高了游戏的可交互性,丰富了游戏玩法,增强玩家的游戏体验。

目标角色的角色状态满足攀爬跳跃的条件,即目标角色胶囊体是否与障碍物发生碰撞,发生碰撞的障碍物是否允许交互且地形满足攀爬条件。其中,游戏中可以设置回调函数MoveBlockedBy(障碍移动),基于该回调函数确定目标角色是否与障碍物发生碰撞。若检测为发生碰撞,基于该回调函数实现触发对障碍物的地形进行检测,确定障碍物是否允许交互且地形满足攀爬条件。若检测为允许交互且地形满足攀爬条件,检测玩家的攀爬指示,玩家执行攀爬指示后角色进入攀爬跳跃状态。

而在实际的游戏过程中,检测玩家的攀爬指示存在以下几种情况,第一种情况是在目标角色的角色状态满足攀爬跳跃的条件下,检测到玩家操作所角色处于行径状态,如持续按压方向按键,触发目标角色的攀爬跳跃,进而继续获取玩家输入到目标角色的摇杆参数,执行目标角色攀爬跳跃的过程。

第二种情况是游戏中在展示给玩家的前端页面上会设置一个跳跃的按键图标,在目标角色的角色状态满足攀爬跳跃的条件下,在检测到玩家触发该按键图标时,进而继续获取玩家输入到目标角色的摇杆参数,执行目标角色攀爬跳跃的过程。

第三种情况是游戏中在展示给玩家的前端页面上会设置一个跳跃的按键图标,在目标角色的角色状态满足攀爬跳跃的条件下,该按键图标发生改变,按键图标变化为能提示玩家在当前时刻可以进行攀爬跳跃的图标,并在检测到玩家触发该按键图标时,进而继续获取玩家输入到目标角色的摇杆参数,执行目标角色攀爬跳跃的过程。

上述描述的检测玩家攀爬指示的几种情况,可以单独存在于游戏中,也可同时存在于游戏中,还可以按照不同攀爬对象设定其最合适的情况,此处不做具体限定。

在进行地形检测时,考虑到游戏世界中有些障碍物是可以直接推动、翻越以及进行其他交互的,因此,需要先按照这种其他交互的方式对障碍物进行识别,如果障碍物是直接可以推动、翻越或者进行其他交互的,则直接进行交互即可,也无需执行其他的攀爬操作。其中,由于在游戏中为了可以对游戏世界中的实体进行区分以及集成管理,通常会为每个实体设置与其对应的实体属性,用该实体属性来指示实体是哪种物体是用来做什么的是否可以与角色进行交互等等,因此,可以利用游戏世界中实体对应的实体属性,对障碍物进行一个大致的检测,也即获取障碍物的实体属性,当障碍物的实体属性指示障碍物允许交互时,表明该障碍物是可以与目标角色进行推动、翻越、攀爬中任一种交互的,而推动以及翻越都是具有固定的执行模式的,所以,进一步地,需要检测障碍物是否允许推动以及是否允许翻越。若检测到障碍物允许推动,则将目标角色调整至推动状态,控制目标角色推动障碍物即可,也无需执行下述检测障碍物是否允许翻越以及是否可以攀爬的过程。若检测到障碍物不允许推动,则继续检测障碍物是否允许翻越,并在确定障碍物允许翻越时,将目标角色调整至翻越状态,控制目标角色翻越障碍物,也无需执行下述检测障碍物是否允许攀爬的过程。而若检测到障碍物不允许推动且不允许翻越,则需要继续确定该障碍物是否可以攀爬,确定是否可以攀爬是通过查询障碍物是否携带禁止攀爬标记实现的。在查询障碍物是否携带禁止攀爬标记时,若查询到障碍物未携带禁止攀爬标记,则表示该障碍物是可以进行攀爬的,而在游戏世界中,可以攀爬的障碍物一般分为两种类型,一种是诸如山、高楼等的实体,这种实体是可以为玩家提供自由攀爬的功能的,而另一种是虚拟爬梯,虚拟爬梯也就是梯子,一般来说,梯子的大小是固定的,使得梯子可以提供的攀爬范围也是固定的,目标角色只能沿着梯子进行攀爬,所以,在确定障碍物可以进行攀爬后,需要以目标角色的中心点为起点,向水平方向发射预设长度的检测射线,并接收检测射线返回的检测结果,根据该检测结果确定该障碍物是否为虚拟爬梯。当检测结果显示障碍物为虚拟爬梯时,表示目标角色只能沿着虚拟爬梯进行攀爬,虚拟爬梯营造的环境不具有提供自由攀爬的条件,因此,控制目标角色沿着虚拟爬梯的铺设轨迹进行攀爬。而当检测结果显示障碍物并非虚拟爬梯时,表明该障碍物并不是虚拟爬梯,确定是诸如山、高楼等实体,这种实体可以提供一定范围的攀爬区域,在这一定范围的攀爬区域内,目标角色是可以自由攀爬的,因此,确定检测到障碍物的地形允许攀爬。至此,通过上述过程可以确定障碍物允许交互且地形满足攀爬条件,所以开始控制目标角色紧贴障碍物进行攀爬。

另外,游戏世界中的障碍物很多都是不规则形状的,只有障碍物的墙面才能满足目标角色的攀爬要求,所以,需要以目标角色的当前位置为起点,控制目标角色向前进方向进行碰撞,将目标角色与障碍物发生碰撞的位置确定为墙面位置,并将目标角色调整至墙面位置指示的位置,以使得目标角色紧贴障碍物。在实际应用的过程中,上述将目标角色紧贴障碍物的过程可以基于函数MoveAlongVines(沿途行进)实现,在该函数中,可将目标角色视为一个玩家胶囊体,以玩家胶囊体为形状,玩家胶囊体的位置为起点,按照摇杆参数的指示向前方做一次碰撞检测,检测障碍物的墙面位置,以便使玩家胶囊体可以紧贴障碍物进行运动。

202、根据摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,确定跳跃终点。

在本发明实施例中,游戏世界中提供的攀爬跳跃功能也即玩家通过摇杆控制目标角色进行攀爬跳跃,使得目标角色跳跃一定高度,挂载在障碍物的一定高度,进而在从一定高度向上或者向下攀爬;或者说还可以直接跳跃到障碍物的顶点;或者直接向下跳跃到地面进行行走等等,因此,当接收到玩家的攀爬跳跃指令时,由于攀爬跳跃是具有方向性的,而攀爬跳跃的方向是由玩家通过控制摇杆输入给目标角色的,所以,需要根据摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,确定跳跃终点,在后续按照跳跃终点来执行目标角色的攀爬跳跃。在进行碰撞测试时,需要以目标角色的胶囊体半径为长和宽,胶囊体高度为高的长方体的形状,做摇杆参数中上下方向以及左右方向的输入值的长度的碰撞检测。

其中,当检测到目标角色请求进行攀爬跳跃时,可以控制该目标角色进入游戏中的攀爬跳跃模式,通过该攀爬跳跃模式中的SprintVinesCheck(快速行进检测)函数,确定目标角色请求攀爬跳跃的方向,进而实现目标角色的攀爬跳跃。该SprintVinesCheck函数分为两种取值,一种是UpValue(垂直取值),用于指示摇杆参数中上下方向输入的值,另一种是RightValue(水平取值),用于指示摇杆参数中左右方向输入的值。

具体地,摇杆参数中上下方向和左右方向输入的值是存在多种情况的,第一种是上下方向和左右方向输入的值均为正数,这种情况下,需要获取上下方向输入的第一方向向量和左右方向输入的第二方向向量,基于第一方向向量和第二方向向量计算跳跃方向向量,并根据跳跃方向向量确定跳跃终点,控制目标角色跳跃至跳跃终点。其中,在计算跳跃方向向量时,需要计算第一方向向量和第二方向向量的第二向量和,将第二向量和作为跳跃方向向量。确定了跳跃方向向量后,控制目标角色向跳跃方向向量指示的方向进行碰撞。若目标角色的碰撞发生命中,则说明目标角色之前存在阻挡,这个阻挡的点就是本次攀爬跳跃的终点,因此,将目标角色碰撞时发生命中的点作为跳跃终点,参见图2B,M点所指示的位置即为跳跃终点,椭圆为目标角色,则控制该椭圆由原始位置过渡于M点指示的位置即可。若目标角色的碰撞未发生命中,则说明目前目标角色之前没有阻挡,需要为该目标角色获取一个跳跃终点。而这种没有发生命中是存在两种情况的,一种情况是,目标角色跳的不够远,阻挡实际就位于目标角色的不远处,因此,基于目标角色进行射线检测,将射线检测命中的位置直接作为跳跃终点即可,具体参见图2C所示,椭圆为目标角色,由图2C中的后视图可以看出目标角色进行的碰撞未发生命中,所以参见图2C中的顶视图,实线圆形代表目标角色的当前位置,虚线圆形代表目标角色碰撞测试后所处的位置,碰撞没有发生命中,所以基于虚线圆形所在的位置进行射线检测,虚线圆形的向上箭头指示的位置即为命中位置,作为跳跃终点即可。另一种情况是,可能目标角色位于障碍物的边缘,已经超出了障碍物的范围,所以没能发生命中,这种情况下便需要向跳跃方向向量指示方向的反方向进行碰撞,并将碰撞时发生命中的点作为跳跃终点。具体参见图2D,由图2D中的后视图可以看出目标角色进行的碰撞未发生命中,所以参见图2D中的顶视图,1代表目标角色当前位置,2代表目标角色碰撞测试后所处位置,碰撞没有发生命中,且目标角色已经超出了障碍物的范围,所以由于之前跳跃方向向量指示的方向为向右,所以现在以3的状态向左,也即跳跃方向向量指示方向的反方向进行碰撞,并将碰撞发生命中的点,也即障碍物上的黑点位置作为跳跃终点。

第二种情况是摇杆参数中上下方向和左右方向输入的值均为0,这种情况下默认该目标角色请求向上攀爬跳跃,确定攀爬跳跃的执行方式为向上跳跃,将UpValue的取值设置为1.0f,将RightValue的取值设置为0.0f,这样,便可以控制目标角色垂直向上进行碰撞测试。而垂直向上跳跃后是存在两种可能的,一种可能是目标角色直接跳至障碍物的顶点,另一种可能是尚未跳至顶点,只是位置增加了一定的高度,所以,在控制目标角色垂直向上跳跃后,需要基于目标角色持续向障碍物发射检测射线。当检测射线命中障碍物时,确定检测射线在障碍物上的命中位置,将命中位置作为跳跃终点。当检测射线未命中障碍物时,确定检测到目标角色攀爬跳跃至障碍物的顶部,控制目标角色翻越顶部,在顶部确定目标行走点作为跳跃终点。其中,目标行走点的确定是需要通过检测顶部是否可以翻越来确定的,具体可以通过CheckVinesOverOnClient(检测顶部翻越)组件实现。检测射线未命中障碍物时,表明目标角色面对的障碍物逐渐消失了,确定检测到目标角色攀爬至顶部,这时开始查询顶部是否设置有至少一个候选行走点。若顶部设置有至少一个候选行走点,则确定顶部允许翻越,在至少一个候选行走点中选取任意候选行走点作为目标行走点,将目标行走点作为跳跃终点。若顶部未设置至少一个候选行走点,则确定顶部不允许翻越,反馈禁止翻越提示。需要说明的是,在选取目标行走点时,可以选择距离目标角色最近的候选行走点作为目标行走点,或者也可以按照目标角色的速度,计算滑行距离,将与滑行距离最近的候选行走点作为目标行走点,或者还可以默认一个候选行走点作为目标行走点,本发明对选择目标行走点的方式不进行具体限定。

第三种情况是摇杆参数中上下方向的输入值为负数且左右方向输入的值为0,也即摇杆参数中携带的UpValue的取值为负数,则可以确定目标角色请求向下攀爬跳跃,控制目标角色垂直向下进行碰撞测试,目标角色会直接跳至可行走的地面,因此,需要控制目标角色退出攀爬状态。具体地,在控制目标角色垂直向下进行碰撞测试时,需要基于移动检测组件检测可行走地面,将目标角色置于可行走地面,将上下方向的输入值在可行走地面指示的位置作为跳跃终点。其中,该移动组件可为void MoveForward(行进)组件,检测是否到达可行走地面可以通过移动组件的FindFloor(地面寻找)函数实现,由该函数检测是否存在可行走地面。这样,如果该函数输出的结果为FloorResult.IsWalkableFloor()(可行走地面),则可以确定检测到可行走地面,将上下方向的输入值在可行走地面指示的位置作为跳跃终点。

第四种情况是摇杆参数中上下方向和左右方向输入的值均为负数,则确定攀爬跳跃的执行方式为反方向回跳,也即向目前目标角色的角色朝向的反方向进行回跳,因此,确定目标角色当前的角色朝向,将角色朝向的反方向作为回跳方向,按照上下方向以及左右方向的输入值,向回跳方向进行碰撞测试,将碰撞命中的位置作为跳跃终点。

通过上述过程,无论是玩家请求向上攀爬跳跃、向下攀爬跳跃、向某个位置跳跃还是向反方向的跳跃,都可以识别到跳跃的终点,之后,便可以将目标角色由当前位置移动到确定的跳跃终点,实现目标角色的攀爬跳跃过程。

203、以预设跳跃方式将目标角色由当前位置移动至跳跃终点,完成目标角色的攀爬跳跃。

在本发明实施例中,当确定了跳跃终点后,可以开始目标角色的移动。其中,预设跳跃方式可以为飞行模式或者普通跳跃模式。如果预设跳跃方式为飞行模式,则在确定了跳跃终点后,可以控制目标角色进入飞行模式,飞行模式具体可通过组件MOVE_Custom_Sub_SprintVines(移动常规组件)设置,使得目标角色可以以飞行模式模拟角色移动到跳跃终点位置,同时配合游戏世界中的飞行动画,完成目标角色的一次攀爬跳跃。如果预设跳跃方式为普通跳跃模式,则直接以普通跳跃方式将目标角色移动至跳跃终点,同时配合游戏世界中的跳跃动画,完成目标角色的一次攀爬跳跃。

另外,考虑到游戏世界中的实际环境,很可能玩家进行攀爬跳跃所处的环境是室外雨天,为了使游戏世界与真实世界更加相符,可在游戏的室外雨天环境中设置一种角色的下滑机制,这样,当检测到目标角色当前所处环境为室外雨天时,需要获取预设下滑速度以及预设下滑时间,并在目标角色完成了一次的攀爬跳跃后,控制目标角色由跳跃终点以预设下滑速度进行下滑,当目标角色下滑的时间达到预设下滑时间时,控制目标角色停止下滑。其中,上述的以预设下滑速度下滑预设下滑时间的过程可以通过调用函数MoveAlongVines实现,将该函数中的参数InVelocity(速度)的取值设置为预设下滑速度,将该函数中的参数DeltaSeconds(每帧耗时)的取值设置为预设下滑时间,进而通过调用该函数便可以实现目标角色的下滑过程。

本发明实施例提供的方法,在接收到玩家的攀爬跳跃指令时,根据玩家输入到目标角色的摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,从而确定跳跃终点,令目标角色可以以预设跳跃方式移动到跳跃终点,完成一次攀爬跳跃的过程,使得目标角色可以按照游戏中当前的实际情况进行攀爬以及攀爬跳跃,无需为攀爬跳跃设置跳跃路线,玩家可以控制角色自由活动,活动范围没有限制,提高了游戏的可交互性,丰富了游戏玩法,增强玩家的游戏体验。

进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种攀爬跳跃装置,如图3A所示,所述装置包括:第一获取模块301,确定模块302和移动模块303。

该第一获取模块301,用于在目标角色的角色状态满足攀爬跳跃的条件下,获取玩家输入到目标角色的摇杆参数;

该确定模块302,用于根据所述摇杆参数中上下方向以及左右方向的输入值,控制所述目标角色进行碰撞测试,确定跳跃终点;

该移动模块303,用于以预设跳跃方式将所述目标角色由当前位置移动至所述跳跃终点,完成所述目标角色的攀爬跳跃。

在具体的应用场景中,该确定模块302,用于若所述摇杆参数中所述上下方向和所述左右方向输入的值均为正数,则获取所述上下方向输入的第一方向向量和所述左右方向输入的第二方向向量;计算所述第一方向向量和所述第二方向向量的第二向量和,将所述第二向量和作为所述跳跃方向向量;控制所述目标角色向所述跳跃方向向量指示的方向进行碰撞测试;若所述目标角色的碰撞测试发生命中,则将所述目标角色碰撞时命中的点作为所述跳跃终点;若所述目标角色的碰撞测试未发生命中,则向所述跳跃方向向量指示方向的反方向进行碰撞测试,并将碰撞时命中的点作为所述跳跃终点。

在具体的应用场景中,该确定模块302,用于若所述摇杆参数中所述上下方向和所述左右方向输入的值均为0,则控制所述目标角色垂直向上进行碰撞测试;基于所述目标角色持续向所述目标角色的当前朝向发射检测射线;当所述检测射线命中障碍物时,确定所述检测射线在所述障碍物上的命中位置,将所述命中位置作为所述跳跃终点;当所述检测射线未命中所述障碍物时,确定检测到所述目标角色攀爬跳跃至所述障碍物的顶部,在所述顶部确定目标行走点作为所述跳跃终点。

在具体的应用场景中,该确定模块302,用于查询所述顶部是否设置有至少一个候选行走点;若所述顶部设置有至少一个候选行走点,则确定所述顶部允许翻越,在所述至少一个候选行走点中选取所述目标行走点,将所述目标行走点作为所述跳跃终点,所述目标行走点为所述至少一个候选行走点中任意候选行走点;若所述顶部未设置所述至少一个候选行走点,则确定所述顶部不允许翻越,反馈禁止翻越提示。

在具体的应用场景中,该确定模块302,用于若所述摇杆参数中所述上下方向的输入值为负数且所述左右方向输入的值为0,则控制所述目标角色垂直向下进行碰撞测试;基于移动检测组件检测可行走地面,将所述上下方向的输入值在所述可行走地面指示的位置作为所述跳跃终点。

在具体的应用场景中,该确定模块302,用于若所述摇杆参数中所述上下方向和所述左右方向输入的值均为负数,则确定所述目标角色当前的角色朝向;将所述角色朝向的反方向作为回跳方向,按照所述上下方向以及所述左右方向的输入值,向所述回跳方向进行碰撞测试,将碰撞命中的位置作为所述跳跃终点。

在具体的应用场景中,如图3B所示,该装置还包括:第二获取模块304和控制模块305。

该第二获取模块304,用于当检测到所述目标角色当前所处环境为室外雨天时,获取预设下滑速度以及预设下滑时间;

该控制模块305,用于控制所述目标角色由所述跳跃终点以所述预设下滑速度进行下滑;

该控制模块305,还用于当所述目标角色下滑的时间达到所述预设下滑时间时,控制所述目标角色停止下滑。

本发明实施例提供的装置,在目标角色的角色状态满足攀爬跳跃的条件下,根据玩家输入到目标角色的摇杆参数中上下方向以及左右方向的输入值,控制目标角色进行碰撞测试,从而确定跳跃终点,令目标角色可以以预设跳跃方式移动到跳跃终点,完成一次攀爬跳跃的过程,使得目标角色可以按照游戏中当前的实际情况进行攀爬以及攀爬跳跃,无需为攀爬跳跃设置跳跃路线,玩家可以控制角色自由活动,活动范围没有限制,提高了游戏的可交互性,丰富了游戏玩法,增强玩家的游戏体验。

需要说明的是,本发明实施例提供的一种攀爬跳跃装置所涉及各功能单元的其他相应描述,可以参考图1和图2A中的对应描述,在此不再赘述。

在示例性实施例中,参见图4,还提供了一种设备,该设备400包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的攀爬跳跃方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的攀爬跳跃方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:位置同步方法、装置及设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类