一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟角色的控制方法和装置、存储介质及电子设备与流程

2021-10-30 02:58:00 来源:中国专利 TAG:电子设备 装置 角色 虚拟 控制


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.又一方面,在本发明实施例中,在虚拟角色的攀爬高度大于阈值时,控制虚拟角色执行对应的跳跃动作(例如,小跳),执行跳跃动作之后要么站上虚拟墙体的顶部,或者,跳下虚拟墙体。通过上述方式,可以避免虚拟角色通过攀爬虚拟墙体移动到不允许虚拟角色移动到的位置或区域,降低了游戏应用出现问题的可能性。
附图说明
26.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
27.图1是根据本发明实施例的一种可选的虚拟角色的控制方法的应用环境的示意图;
28.图2是根据本发明实施例的一种可选的虚拟角色的控制方法的流程示意图;
29.图3是根据本发明实施例的一种可选的虚拟角色的控制方法的示意图;
30.图4是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
31.图5是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
32.图6是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
33.图7是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
34.图8是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
35.图9是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
36.图10是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
37.图11是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
38.图12是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
39.图13是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
40.图14是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
41.图15是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
42.图16是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
43.图17是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
44.图18是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图;
45.图19是根据本发明实施例的一种可选的虚拟角色的控制装置的结构示意图;
46.图20是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
47.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
48.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
49.首先,在对本技术实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
50.攀爬:在游戏中玩家控制角色沿着墙壁进行爬墙移动;
51.小跳:在攀爬结束状态下玩家控制角色进行跳起的小范围位移;
52.悬挂:在攀爬结束后玩家孔子的角色使用双手挂在墙壁边缘。
53.下面结合实施例对本发明进行说明:
54.根据本发明实施例的一个方面,提供了一种虚拟角色的控制方法,可选地,在本实施例中,上述虚拟角色的控制方法可以应用于如图1所示的由服务器101和用户终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为用户终
端或用户终端上安装的客户端提供服务,客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端、游戏客户端等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,例如,游戏数据存储服务器,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络,用户终端103可以是配置有应用程序的终端,可以包括但不限于以下至少之一:手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobile internet devices,移动互联网设备)、pad、台式电脑、智能电视等计算机设备,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器,使用上述虚拟角色的控制方法的目标游戏应用通过用户终端103进行显示。
55.结合图1所示,上述虚拟角色的控制方法可以在用户终端103通过如下步骤实现:
56.s1,显示游戏画面,游戏画面中包括目标虚拟角色和目标虚拟墙体;
57.s2,在目标虚拟角色面向目标虚拟墙体、且目标虚拟角色与目标虚拟墙体之间的距离小于第一阈值时,响应于对目标虚拟角色执行的第一操作指令,控制目标虚拟角色攀爬到目标虚拟墙体上;
58.s3,在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的第二操作指令,控制目标虚拟角色在目标虚拟墙体上沿着第二操作指令指示的攀爬方向进行攀爬。
59.上述仅是一种示例,本实施例不做具体的限定。
60.可选地,作为一种可选的实施方式,如图2所示,上述虚拟角色的控制方法包括:
61.s202,显示游戏画面,游戏画面中包括目标虚拟角色和目标虚拟墙体;
62.s204,在目标虚拟角色面向目标虚拟墙体、且目标虚拟角色与目标虚拟墙体之间的距离小于第一阈值时,响应于对目标虚拟角色执行的第一操作指令,控制目标虚拟角色攀爬到目标虚拟墙体上;
63.s206,在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的第二操作指令,控制目标虚拟角色在目标虚拟墙体上沿着第二操作指令指示的攀爬方向进行攀爬。
64.可选地,在本实施例中,上述虚拟角色的控制方法的应用场景可以包括但不限于医疗、金融、征信、银行、政务、政府、能源、教育、安防、楼宇、游戏、交通、物联、工业等多种应用场景的游戏应用。
65.可选地,在本实施例中,该游戏应用可以为多人在线战术竞技游戏(multiplayer online battle arena简称为moba)应用,或者还可以为单人游戏(single

player game简称为spg)应用。上述游戏应用的类型可以包括但不限于以下至少之一:二维(two dimension,简称2d)游戏应用、三维(three dimension,简称3d)游戏应用、虚拟现实(virtual reality,简称vr)游戏应用、增强现实(augmented reality,简称ar)游戏应用、混合现实(mixed reality,简称mr)游戏应用。以上只是一种示例,本实施例对此不作任何限定。
66.此外,上述游戏应用可以包括但不限于为第三人称射击游戏(third person shooting game,简称tps)应用,如除当前玩家所控制的虚拟角色之外的第三方角色对象的视角来运行该射击游戏应用,还可以为第一人称射击游戏(first person shooting game,
简称fps)应用,如以当前玩家所控制的虚拟角色的视角来运行该游戏应用。
67.可选地,在本实施例中,上述目标虚拟角色可以包括但不限于为虚拟人物、虚拟动物、虚拟动画角色、虚拟载具等,上述目标虚拟墙体可以包括但不限于显示在游戏画面中的虚拟障碍物,上述第一阈值可以包括但不限于由策划人员预先配置,也可以通过目标虚拟角色与目标虚拟墙体之间的夹角和距离确定。
68.例如,图3是根据本发明实施例的一种可选的虚拟角色的控制方法的示意图,如图3所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
69.其中,获取目标虚拟角色与目标虚拟墙体之间的距离,在上述距离小于第一阈值的情况下,响应于图3所示的第一操作指令,控制目标虚拟角色攀爬到目标虚拟墙体上。
70.图4是根据本发明实施例的另一种可选的虚拟角色的控制方法的示意图,如图4所示,上述通过目标虚拟角色与目标虚拟墙体之间的夹角和距离确定是否允许控制目标虚拟角色攀爬到目标虚拟墙体可以包括但不限于如下内容:
71.从目标虚拟角色处向目标虚拟墙体进行射线检测,获取该射线与目标虚拟墙体之间的夹角,通过比对该夹角与墙面法线的夹角之间的大小,确定是否允许控制目标虚拟角色攀爬到目标虚拟墙体,再获取目标虚拟角色与目标虚拟墙体之间的距离,在上述距离小于第一阈值的情况下,响应于第一操作指令,控制目标虚拟角色攀爬到目标虚拟墙体上。
72.换言之,可以通过包括但不限于如下方式控制目标虚拟角色攀爬到目标虚拟墙体:
73.当前射线检测到的碰撞component或actor没标记noclimb的tag(可以理解为,上述目标虚拟墙体为允许攀爬的虚拟墙体)。虚拟墙体法向量z值小于最大攀爬斜率(maxclimbznormalvaule),避免墙壁过于倾斜。目标虚拟角色水平方向与墙壁法向量水平方向夹角小于最大面向墙水平夹角(maxfacingwallangle)或自动攀爬时,小于自动攀爬最大面向墙水平夹角(autoclimbmaxfacingwallangle),即保证目标虚拟角色面朝目标虚拟墙体。
74.当虚拟墙体法向量z值大于最大攀爬斜率(maxclimbznormalvaule),则确定为无法控制上述目标虚拟角色攀爬到目标虚拟墙体上。
75.上述仅是一种示例,本实施例不做任何具体的限定。
76.当然,还可以包括但不限于其他条件用于确定是否允许控制目标虚拟角色攀爬到目标虚拟墙体,例如,攀爬总距离小于最大攀爬高度(climblimitheight),且z轴方向速度小于退出攀爬速度(climbendspeed),并且不处于第一操作指令的冷却时间内,攀爬的总距离大于等于最大攀爬高度(climblimitheight)。检测不到障碍物,目标虚拟对象的朝向前方做胶囊体检测时无法检测到其他物体等。
77.可选地,在本实施例中,上述第二操作指令可以被配置为与第一操作指令相同或者不同,上述第二操作指令用于控制目标虚拟角色在目标虚拟墙体上沿着第二操作指令指示的攀爬方向进行攀爬。
78.例如,图5是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图5所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
79.其中,通过获取第二操作指令,响应于第二操作指令控制目标虚拟角色沿着第二操作指令如图5所示指示的攀爬方向进行攀爬。
80.上述仅是一种示例,本实施例不做任何具体的限定。
81.在本发明实施例中,通过在一定的条件下执行对应的操作指令,可以控制虚拟角色攀爬到虚拟墙体上,避免虚拟角色在碰到虚拟墙壁时需要通例如走楼梯的操作方式,或者,多次跳跃的操作方式,才能爬到具有一定高度的位置,解决了相关技术中虚拟角色的控制效率较低的技术问题。
82.作为一种可选的方案,响应于对目标虚拟角色执行的第一操作指令,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上,包括:
83.响应于对目标虚拟角色执行的跳跃操作指令,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上,其中,第一操作指令包括跳跃操作指令,跳跃操作指令用于指示目标虚拟角色执行第一跳跃动作;或者
84.响应于对目标虚拟角色执行的第一移动操作指令,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上,其中,第一操作指令包括第一移动操作指令,第一移动操作指令用于指示目标虚拟角色向目标虚拟墙体移动;或者
85.响应于对目标虚拟角色同时执行的跳跃操作指令和第一移动操作指令,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上,其中,第一操作指令包括跳跃操作指令和第一移动操作指令,跳跃操作指令和第一移动操作指令用于指示目标虚拟角色朝着目标虚拟墙体的方向执行第一跳跃动作。
86.可选地,在本实施例中,上述跳跃操作指令、第一移动操作指令可以包括但不限于触控操作指令,例如,预先配置对应的虚拟按钮,获取对虚拟按钮的触控操作,以获取上述跳跃操作指令、第一移动操作指令。
87.可选地,在本实施例中,上述跳跃操作指令、第一移动操作指令可以包括但不限于语音操作指令,例如,通过语音采集设备采集语音信息,识别语音信息中的语义,以获取上述跳跃操作指令、第一移动操作指令。
88.例如,图6是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图6所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
89.其中,通过获取跳跃操作指令,在目标游戏应用中控制目标虚拟角色如图6所示攀爬到目标虚拟墙体上。
90.例如,图7是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图7所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
91.其中,通过获取第一移动操作指令,在目标游戏应用中控制目标虚拟角色如图7所示攀爬到目标虚拟墙体上。
92.作为一种可选的方案,方法还包括:
93.在目标虚拟角色面向目标虚拟墙体、且目标虚拟角色与目标虚拟墙体之间的距离小于第一阈值时,在目标游戏应用中显示攀爬状态标识,其中,攀爬状态标识用于表示目标虚拟角色处于允许攀爬目标虚拟墙体的状态。
94.可选地,在本实施例中,上述攀爬状态标识可以包括但不限于根据目标虚拟角色的造型进行灵活配置,例如,将目标虚拟角色的部分图像作为攀爬状态标识,还可以包括但不限于将目标虚拟墙体的部分图像作为上述攀爬状态标识。
95.例如,图8是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如
图8所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
96.其中,通过获取第一操作指令,在目标虚拟角色面向目标虚拟墙体、且目标虚拟角色与目标虚拟墙体之间的距离小于第一阈值时,在目标游戏应用中显示攀爬状态标识。
97.在本发明实施例中,在满足可以攀爬墙体的条件时,通过在游戏应用中显示攀爬状态标识,以提示虚拟角色处于允许攀爬虚拟墙体的状态。这样,可以避免因为对于攀爬状态的判断不准确,所导致的在虚拟角色未处于攀爬状态下对虚拟角色执行的错误攀爬操作,或者,因为对于攀爬状态的判断不及时,所导致的在虚拟角色处于攀爬状态下一段时间之后才意识到可以控制虚拟角色攀爬虚拟墙体。
98.作为一种可选的方案,响应于对目标虚拟角色执行的第二操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着第二操作指令指示的攀爬方向进行攀爬,包括:
99.响应于对目标虚拟角色执行的第二移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着第二移动操作指令指示的攀爬方向进行攀爬,其中,第二操作指令包括第二移动操作指令。
100.可选地,在本实施例中,上述第二操作指令包括第二移动操作指令,上述第二移动操作指令可以包括但不限于横向移动操作指令、斜向上移动操作指令以及向上移动操作指令。
101.可选地,在本实施例中,上述沿着第二移动操作指令指示的攀爬方向进行攀爬的攀爬速度可以根据实际业务场景进行灵活调整。
102.例如,可以包括但不限于如下公式计算:
103.1)若控制人物往上爬时,z轴方向获得攀爬加速度(climb acceleration)计算公式accdirz=(climb acceleration*delta time),其中,delta time表示攀爬时长;
104.2)z轴方向加速度存在重力和常量衰减(climbdeceleration),则计算公式accdirz=((climbdeceleration 980.0f)*deltatime);
105.3)若有水平方向速度,但并未控制人物水平移动,则施加攀爬水平减速度(climbhorizontaldeceleration),直至衰减到0:
[0106][0107]
4)若有水平方向速度,并且控制人物水平移动,则给水平方向速度添加玩家水平方向加速度:
[0108]
curvelocityhorizontalspeed =(curaccelerationhorizontalspeed*deltatime);
[0109]
5)若没有水平速度,但控制目标虚拟角色开始往水平方向移动时,获得攀爬水平开始速度(climbhorizontalspeed):
[0110]
curvelocityhorizontalspeed=climbhorizontalspeed;
[0111]
6)计算最后的速度矢量,根据水平方向速度值和玩家水平方向加速度计算水平方向速度,以及z轴加速度,计算最终的z轴速度:
[0112]
accdir.z=0;
[0113]
accdir.normalize();
[0114]
curaccelerationhorizontalvelocity=curvelocityhorizontalspeed*accdir;
[0115]
velocity.x=curaccelerationhorizontalvelocity.x;
[0116]
velocity.y=curaccelerationhorizontalvelocity.y;
[0117]
velocity.z =accdirz;
[0118]
上述仅是一种示例,本实施例不做任何具体的限定。
[0119]
在本发明实施例中,通过在一定的条件下执行对应的操作指令,可以控制虚拟角色攀爬到虚拟墙体上,避免虚拟角色在碰到虚拟墙壁时需要通例如走楼梯的操作方式,或者,多次跳跃的操作方式,才能爬到具有一定高度的位置,解决了相关技术中虚拟角色的控制效率较低的技术问题。
[0120]
作为一种可选的方案,响应于对目标虚拟角色执行的第二移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着第二移动操作指令指示的攀爬方向进行攀爬,包括:
[0121]
响应于对目标虚拟角色执行的横向移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着横向移动操作指令指示的横向方向进行攀爬,其中,第二移动操作指令包括横向移动操作指令,在目标虚拟角色沿着横向移动操作指令指示的横向方向进行攀爬时,目标虚拟角色距离虚拟地面的高度不变,虚拟地面与目标虚拟墙体的底部接触;或者
[0122]
响应于对目标虚拟角色执行的斜向上移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着斜向上移动操作指令指示的斜向上方向进行攀爬,其中,第二移动操作指令包括斜向上移动操作指令,在目标虚拟角色沿着斜向上移动操作指令指示的斜向上方向进行攀爬时,目标虚拟角色距离虚拟地面的高度变大;或者
[0123]
响应于对目标虚拟角色执行的向上移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着向上移动操作指令指示的向上方向进行攀爬,其中,第二移动操作指令包括向上移动操作指令,在目标虚拟角色沿着向上移动操作指令指示的向上方向进行攀爬时,目标虚拟角色距离虚拟地面的高度变大。
[0124]
可选地,在本实施例中,上述横向移动操作指令、斜向上移动操作指令以及向上移动操作指令可以包括但不限于触控操作指令,例如,预先配置对应的虚拟按钮,获取对虚拟按钮的触控操作,以获取上述横向移动操作指令、斜向上移动操作指令以及向上移动操作指令。
[0125]
可选地,在本实施例中,上述横向移动操作指令、斜向上移动操作指令以及向上移动操作指令可以包括但不限于语音操作指令,例如,通过语音采集设备采集语音信息,识别语音信息中的语义,以获取上述横向移动操作指令、斜向上移动操作指令以及向上移动操
作指令。
[0126]
可选地,在本实施例中,上述目标虚拟角色横向移动时,目标虚拟角色离虚拟地面的高度不变,上述目标虚拟角色斜向上或向上移动时,目标虚拟角色离虚拟地面的高度变大。
[0127]
例如,图9是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图9所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
[0128]
其中,通过获取横向操作指令,控制目标虚拟角色在目标虚拟墙体上沿着横向移动操作指令指示的横向移动方向进行攀爬。
[0129]
还例如,图10是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图10所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
[0130]
其中,通过获取斜向上移动操作指令,控制目标虚拟角色在目标虚拟墙体上沿着斜向上移动操作指令指示的斜向上方向进行攀爬。
[0131]
还例如,图11是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图11所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
[0132]
其中,通过获取向上移动操作指令,控制目标虚拟角色在目标虚拟墙体上沿着向上移动操作指令指示的向上方向进行攀爬。
[0133]
上述仅是一种示例,本实施例不做任何具体限定。
[0134]
作为一种可选的方案,方法还包括:
[0135]
在目标虚拟角色位于目标虚拟墙体上时,获取目标虚拟角色的停止攀爬时长,其中,停止攀爬时长是目标虚拟角色最后一次攀爬的结束时刻距当前时刻的时长;
[0136]
在停止攀爬时长达到第二阈值时,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0137]
可选地,在本实施例中,上述停止攀爬时长可以直接由策划人员进行预先配置,将上述目标虚拟角色的攀爬速度为0的时长确定为停止攀爬时长,还可以包括但不限于为目标虚拟角色配置用于进行攀爬的虚拟资源,在目标虚拟角色进行攀爬的过程中,会持续消耗上述虚拟资源,在上述虚拟资源全部消耗或消耗量到达一定阈值的情况下,将当前攀爬时长确定为上述停止攀爬时长达到第二阈值。
[0138]
例如,图12是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图12所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
[0139]
其中,通过在目标虚拟角色位于目标虚拟墙体上时,获取目标虚拟角色的停止攀爬时长,在停止攀爬时长达到第二阈值时,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0140]
上述仅是一种示例,本实施例不做任何具体限定。
[0141]
在本发明实施例中,通过设置停止攀爬时长,能够避免目标虚拟角色长时间停留在目标虚拟墙体上,使得攀爬效果更加逼真。
[0142]
作为一种可选的方案,方法还包括:
[0143]
在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的斜向下移动操作指令,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体,其中,斜向下移动操作指令指示的移动方向为斜向下方向;或者
[0144]
在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的向下移动操作指令,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体,其中,向下移动操作指令指示的移动方向为向下方向;或者
[0145]
在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的跳跃操作指令,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0146]
可选地,在本实施例中,上述跳跃操作指令、斜向下移动操作指令以及向下移动操作指令可以包括但不限于触控操作指令,例如,预先配置对应的虚拟按钮,获取对虚拟按钮的触控操作,以获取上述跳跃操作指令、斜向下移动操作指令以及向下移动操作指令。
[0147]
可选地,在本实施例中,上述跳跃操作指令、斜向下移动操作指令以及向下移动操作指令可以包括但不限于语音操作指令,例如,通过语音采集设备采集语音信息,识别语音信息中的语义,以获取上述跳跃操作指令、斜向下移动操作指令以及向下移动操作指令。
[0148]
例如,图13是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图13所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
[0149]
其中,通过在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的向下移动操作指令、斜向下移动操作指令以及跳跃操作指令,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0150]
作为一种可选的方案,方法还包括:
[0151]
在目标虚拟角色位于目标虚拟墙体上时,获取目标虚拟角色在目标虚拟墙体上的攀爬高度;
[0152]
在攀爬高度达到第三阈值时,响应于对目标虚拟角色执行的向上移动操作指令或斜向上移动操作指令,在目标游戏应用中控制目标虚拟角色向上执行第二跳跃动作;
[0153]
在目标虚拟角色向上执行第二跳跃动作结束后到达目标虚拟墙体的顶部时,在目标游戏应用中显示目标虚拟角色站在目标虚拟墙体的顶部;
[0154]
在目标虚拟角色向上执行第二跳跃动作结束后到未达目标虚拟墙体的顶部时,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0155]
可选地,在本实施例中,上述攀爬高度可以包括但不限于目标虚拟角色的中心距离虚拟地面的高度。上述第二跳跃动作可以包括但不限于“小跳”、“翻越”等动作,上述攀爬高度达到第三阈值可以包括但不限于上述目标虚拟角色距离上述目标虚拟墙体的顶部的差值达到上述第三阈值,还可以包括但不限于上述目标虚拟角色距离虚拟地面的高度达到上述第三阈值。
[0156]
例如,图14是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图14所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
[0157]
其中,在目标虚拟角色位于目标虚拟墙体上时,获取目标虚拟角色在目标虚拟墙体上的攀爬高度;
[0158]
在攀爬高度达到第三阈值时,响应于对目标虚拟角色执行的向上移动操作指令或斜向上移动操作指令,在目标游戏应用中控制目标虚拟角色向上执行第二跳跃动作;
[0159]
在目标虚拟角色向上执行第二跳跃动作结束后到达目标虚拟墙体的顶部时,在目标游戏应用中显示目标虚拟角色站在目标虚拟墙体的顶部;
[0160]
在目标虚拟角色向上执行第二跳跃动作结束后到未达目标虚拟墙体的顶部时,在
目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0161]
可选地,在本实施例中,在攀爬高度达到第三阈值时可以理解为上述目标虚拟角色到达悬挂点。图15是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图15所示,可以包括但不限于通过表1根据攀爬高度确定目标虚拟角色的后续行为,其中,根据目标虚拟墙体的高度进行攀爬结束动作的判断,(落点高度差值:悬挂点与目标虚拟角色当前位置的高度差值)、(高度差:目标虚拟角色的当前位置与目标虚拟墙体的顶部的高度差):
[0162][0163]
表1
[0164]
作为一种可选的方案,方法还包括:
[0165]
在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体之后,获取目标虚拟角色落到虚拟地面之后的落地时长;
[0166]
在落地时长未达到第四阈值时,将目标虚拟角色设置为禁止攀爬到目标虚拟墙体上;
[0167]
在落地时长达到第四阈值时,将目标虚拟角色设置为允许攀爬到目标虚拟墙体上。
[0168]
可选地,在本实施例中,上述向下跳离目标虚拟墙体之后,可以包括但不限于为目标虚拟角色配置攀爬冷却时长,在落地时长未达到第四阈值时,目标虚拟角色禁止攀爬,在落地时长达到第四阈值时,目标虚拟角色允许攀爬。
[0169]
具体而言,为了防止轻易进入攀爬状态或攀爬结束,目标虚拟角色当前处于可以进入攀爬状态,同时上次攀爬以后落地过,则认为上述目标虚拟角色禁止再次进行攀爬。
[0170]
作为一种可选的方案,方法还包括:
[0171]
在目标虚拟角色跳伞的过程中,检测目标虚拟角色与目标虚拟墙体是否发生碰撞;
[0172]
在检测到目标虚拟角色与目标虚拟墙体发生碰撞时,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上。
[0173]
可选地,在本实施例中,上述目标虚拟角色跳伞可以包括但不限于从虚拟飞行载具上跳行为伞,或者,直接从空中出现的跳伞行为。
[0174]
可选地,在本实施例中,上述在目标虚拟角色与目标虚拟墙体发生碰撞的情况下,控制目标虚拟角色攀爬到目标虚拟墙体上可以包括但不限于对目标虚拟角色与目标虚拟墙体做胶囊体检测,检测距离可以包括但不限于为上述第一阈值。
[0175]
在本发明实施例中,在虚拟角色跳伞的情况下,可以通过虚拟角色与虚拟墙体的碰撞,直接控制虚拟角色攀爬在虚拟墙体上,这样增加了虚拟角色攀爬虚拟墙体的场景,也可以节省虚拟角色攀爬到虚拟墙体上具有一定高度的位置的操作(例如,不需要控制虚拟角色从虚拟墙体的底部开始攀爬),进一步提高了虚拟角色的控制效率。
[0176]
作为一种可选的方案,方法还包括:
[0177]
响应于对目标虚拟角色执行的第三移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着第三移动操作指令指示的攀爬方向进行攀爬,其中,第三移动操作指令指示的攀爬方向包括斜向上方向或向上方向;
[0178]
在控制目标虚拟角色沿着第三移动操作指令指示的攀爬方向进行攀爬的过程中或结束时,检测目标虚拟角色的位置是否到达预设的悬挂位置;
[0179]
在检测出目标虚拟角色的位置到达悬挂位置时,在目标游戏应用中控制目标虚拟角色悬挂在悬挂位置。
[0180]
可选地,在本实施例中,可以在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着向上或斜向上的攀爬方向进行攀爬,直到攀爬到悬挂位置;在检测出目标虚拟角色的位置到达悬挂位置时,控制目标虚拟角色悬挂在悬挂位置。
[0181]
例如,图16是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图16所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
[0182]
其中,在目标虚拟角色位于目标虚拟墙体上时,控制目标虚拟角色在目标虚拟墙体上沿着向上的攀爬方向进行攀爬;在检测出目标虚拟角色的位置到达悬挂位置时,在目标游戏应用中控制目标虚拟角色悬挂在悬挂位置。
[0183]
作为一种可选的方案,方法还包括:
[0184]
在目标虚拟角色悬挂在悬挂位置时,响应于对目标虚拟角色执行的横向移动操作指令,在目标游戏应用中控制目标虚拟角色在预设的悬挂位置区域中横向移动,其中,悬挂位置区域中的悬挂位置均为允许目标虚拟角色悬挂的位置。作为一种可选的方案,方法还包括:
[0185]
在目标虚拟角色悬挂在悬挂位置时,响应于对目标虚拟角色执行的第三操作指令,在目标游戏应用中控制目标虚拟角色向上执行第三跳跃动作,其中,第三操作指令包括跳跃操作指令,或,向上移动操作指令,或,斜向上移动操作指令;
[0186]
在目标虚拟角色向上执行第三跳跃动作结束后到达目标虚拟墙体的顶部时,在目
标游戏应用中显示目标虚拟角色站在目标虚拟墙体的顶部;
[0187]
在目标虚拟角色向上执行第三跳跃动作结束后到未达目标虚拟墙体的顶部时,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0188]
例如,如图16所示,游戏画面中包括目标虚拟角色和目标虚拟墙体。
[0189]
其中,在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的横向移动操作指令,在目标游戏应用中控制目标虚拟角色在预设的悬挂位置区域中横向移动;
[0190]
或者,在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的第三操作指令,在目标游戏应用中控制目标虚拟角色向上执行第三跳跃动作,在目标虚拟角色向上执行第三跳跃动作结束后到达目标虚拟墙体的顶部时,在目标游戏应用中显示目标虚拟角色站在目标虚拟墙体的顶部。
[0191]
下面结合具体的实施例,对本发明进行进一步的解释说明:
[0192]
在多人br类游戏中,通过实时计算与墙壁法线夹角与距离的方法,实现玩家控制角色在墙壁上可以进行大范围的移动,从而突破骨骼动画位移的限制,增强了游戏应用中的场景互动,降低了团队合作的难度。
[0193]
具体如下:
[0194]
1、目标虚拟角色进入攀爬的方式:
[0195]
只有主控端能触发,当速度小于等于0时会往前做胶囊体检测,检测距离为攀爬结束水平检测距离,此举为了当检测到目标虚拟角色能进入攀爬状态时,距离确保能够正常检测到攀爬结束状态,使得某些情况可以直接进入攀爬结束状态,坠落过程会记录最后一次按键加速度来作为胶囊体检测方向,主要是为了防止坠落过程中如果碰到物体而速度不满足小于等于0时无法触发攀爬,并且水平速度会因为碰撞障碍而抵消掉,所以无法采取移动时检测的方案,只能主动去根据最后一次按键加速度来检测。
[0196]
如果检测到有障碍了,会先判断目标虚拟角色能不能进入攀爬结束状态,再判断目标虚拟角色能不能进入攀爬状态。
[0197]
2.目标虚拟角色进入攀爬的操作方法:
[0198]
持续向上推动移动摇杆,在目标虚拟角色与攀爬墙面距离小于检测距离时,目标虚拟角色可以进入攀爬状态,同时播放对应攀爬动作。
[0199]
3.目标虚拟角色进入悬挂的操作方法:
[0200]
当目标虚拟角色距离攀爬结束一定距离时,松开移动摇杆,此时目标虚拟角色在攀爬结束点进行悬挂,同时播放悬挂动作。(悬挂位置是在攀爬的过程中实时根据墙面的数据(高度,胶囊与墙面的碰撞),确定出来的位置,不同目标虚拟角色对应的模型可以包括但不限于配置不同的攀爬操作)。
[0201]
4、进入攀爬的判定条件:
[0202]
在空中坠落到地面/表面之后的时长大于坠落进入攀爬结束状态cd(fallingtoclimboverdistance)时,允许再次进入攀爬状态,目的是为了防止轻易进入攀爬或攀爬结束。当前处于可以进入攀爬状态同时上次攀爬以后有落地过。
[0203]
当前射线检测到的碰撞component或actor没标记noclimb的tag。
[0204]
墙壁法向量z值小于最大爬墙斜率(maxclimbznormalvaule),避免墙壁过于倾斜。
目标虚拟角色的水平方向与墙壁法向量水平方向夹角小于最大面向墙水平夹角(maxfacingwallangle)或自动攀爬时小于自动攀爬最大面向墙水平夹角(autoclimbmaxfacingwallangle),即保证目标虚拟角色面朝墙壁。目标虚拟角色的按键输入方向与墙的夹角小于最大速度与墙水平夹角(maxvelocitywallangle),自动攀爬则是自动攀爬最大速度与墙水平夹角(autoclimbmaxvelocitywallangle)跃障的距离需要大于攀爬结束距离。
[0205]
5.攀爬失败条件:
[0206]
墙壁法线过大,攀爬总距离小于最大攀爬高度(climblimitheight),且z轴方向速度小于退出攀爬速度(climbendspeed),并且不处于小跳cd下,攀爬的总距离大于等于最大攀爬高度(climblimitheight) finaljump高度(finaljumpheight)。处于攀爬小跳且z轴速度小于0(开始下坠)。检测不到障碍物,前方做胶囊体检测检测不到物体,距离为爬墙可翻越的最大阻碍长度(maxclimbstepheight)。
[0207]
在攀爬的逻辑处理上基本上是每一帧都在进行判断目标虚拟角色是在空中(in air)还是climb over还是climbmove。
[0208]
例如,图17是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图17所示,具体包括但不限于如下步骤:
[0209]
s1,climbsystem启动;
[0210]
s2,判断是否need climb move(需要执行攀爬操作);
[0211]
s3,在s2的结果确定为是的情况下,climbenduptowall(攀爬到目标虚拟墙体上);
[0212]
s4,在s2的结果确定为否的情况下,进行climbmove(执行判别操作);
[0213]
s5,判断是否detect the climb edge(发现攀爬边缘);
[0214]
s6,在s5结果为是的情况下,判断是否进入hang(悬挂);
[0215]
s7,在s6结果为否的情况下,climb end(结束攀爬);
[0216]
s8,在s5结果为否的情况下,little jump(小跳,对应于前述的第二跳跃动作);
[0217]
s9,判断是否detect the climb edge(发现攀爬边缘);
[0218]
s10,在s5结果为是的情况下,执行步骤s6,否则,fall(坠落,对应于前述的跳离虚拟墙体);
[0219]
s11,在s6结果为是的情况下,edge hang idle(悬挂边缘闲置);
[0220]
s12,确定是否继续悬挂;
[0221]
s13,在s12结果为否的情况下,fall(坠落,对应于前述的跳离虚拟墙体),否则,climbhangingend(爬上悬挂位置)。
[0222]
例如,图18是根据本发明实施例的又一种可选的虚拟角色的控制方法的示意图,如图18所示,具体包括但不限于如下步骤:
[0223]
s1,jump(对应于前述的第一操作指令);
[0224]
s2,climb(对应于前述的第二操作指令);
[0225]
s3,little(对应于前述的第二跳跃动作);
[0226]
s4

1,climb(对应于前述的第二操作指令);
[0227]
s4
‑1‑
1,根据高度调用不同的结束动作(例如,站在虚拟墙体顶部);
[0228]
s4

2,fall(对应于前述的跳离目标虚拟墙体)。
[0229]
攀爬结束的悬挂点位置计算:
[0230]
1)攀爬结束角色胶囊体位置减去角色水平方向向量乘以楼顶攀爬水平检测距离(climboverhorizontalcheckdistance)
[0231]
2)再将高度减去悬挂垂直距离(hangingverticaldistance)和胶囊体半高fvectorcharacterforward=
[0232]
characterowner

>getactorforwardvector().getsafenormal2d();
[0233]
characterforward*=(climboverhorizontalcheckdistance);
[0234]
fvector hangingpoint=climbendpoint

characterforward;
[0235]
hangingpoint.z

=hangingverticaldistance;
[0236]
hangingpoint.z

=pawnhalfheight;
[0237]
目标虚拟角色实时攀爬位置的计算:
[0238]
对攀爬状态计算可以保证角色随时打断自身动作状态,可以为游戏应用带来更灵活的操作与位移空间。
[0239]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0240]
根据本发明实施例的另一个方面,还提供了一种用于实施上述虚拟角色的控制方法的虚拟角色的控制装置。如图19所示,该装置包括:
[0241]
显示模块1902,用于显示游戏画面,游戏画面中包括目标虚拟角色和目标虚拟墙体;
[0242]
第一控制模块1904,用于在目标虚拟角色面向目标虚拟墙体、且目标虚拟角色与目标虚拟墙体之间的距离小于第一阈值时,响应于对目标虚拟角色执行的第一操作指令,控制目标虚拟角色攀爬到目标虚拟墙体上;
[0243]
第二控制模块1906,用于在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的第二操作指令,控制目标虚拟角色在目标虚拟墙体上沿着第二操作指令指示的攀爬方向进行攀爬。
[0244]
作为一种可选的方案,第一控制模块1904,包括:
[0245]
第一控制单元,用于响应于对目标虚拟角色执行的跳跃操作指令,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上,其中,第一操作指令包括跳跃操作指令,跳跃操作指令用于指示目标虚拟角色执行第一跳跃动作;或者
[0246]
第二控制单元,用于响应于对目标虚拟角色执行的第一移动操作指令,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上,其中,第一操作指令包括第一移动操作指令,第一移动操作指令用于指示目标虚拟角色向目标虚拟墙体移动;或者
[0247]
第三控制单元,用于响应于对目标虚拟角色同时执行的跳跃操作指令和第一移动操作指令,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上,其中,第一操作指令包括跳跃操作指令和第一移动操作指令,跳跃操作指令和第一移动操作指令用于指示目标虚拟角色朝着目标虚拟墙体的方向执行第一跳跃动作。
[0248]
作为一种可选的方案,装置还用于:
[0249]
在目标虚拟角色面向目标虚拟墙体、且目标虚拟角色与目标虚拟墙体之间的距离小于第一阈值时,在目标游戏应用中显示攀爬状态标识,其中,攀爬状态标识用于表示目标虚拟角色处于允许攀爬目标虚拟墙体的状态。
[0250]
作为一种可选的方案,第二控制模块1906,包括:
[0251]
第四控制单元,用于响应于对目标虚拟角色执行的第二移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着第二移动操作指令指示的攀爬方向进行攀爬,其中,第二操作指令包括第二移动操作指令。
[0252]
作为一种可选的方案,第四控制单元用于通过如下方式响应于对目标虚拟角色执行的第二移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着第二移动操作指令指示的攀爬方向进行攀爬:响应于对目标虚拟角色执行的横向移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着横向移动操作指令指示的横向方向进行攀爬,其中,第二移动操作指令包括横向移动操作指令,在目标虚拟角色沿着横向移动操作指令指示的横向方向进行攀爬时,目标虚拟角色距离虚拟地面的高度不变,虚拟地面与目标虚拟墙体的底部接触;或者响应于对目标虚拟角色执行的斜向上移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着斜向上移动操作指令指示的斜向上方向进行攀爬,其中,第二移动操作指令包括斜向上移动操作指令,在目标虚拟角色沿着斜向上移动操作指令指示的斜向上方向进行攀爬时,目标虚拟角色距离虚拟地面的高度变大;或者响应于对目标虚拟角色执行的向上移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着向上移动操作指令指示的向上方向进行攀爬,其中,第二移动操作指令包括向上移动操作指令,在目标虚拟角色沿着向上移动操作指令指示的向上方向进行攀爬时,目标虚拟角色距离虚拟地面的高度变大。
[0253]
作为一种可选的方案,装置还用于:在目标虚拟角色位于目标虚拟墙体上时,获取目标虚拟角色的停止攀爬时长,其中,停止攀爬时长是目标虚拟角色最后一次攀爬的结束时刻距当前时刻的时长;在停止攀爬时长达到第二阈值时,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0254]
作为一种可选的方案,装置还用于:在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的斜向下移动操作指令,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体,其中,斜向下移动操作指令指示的移动方向为斜向下方向;或者在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的向下移动操作指令,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体,其中,向下移动操作指令指示的移动方向为向下方向;或者在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的跳跃操作指令,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0255]
作为一种可选的方案,装置还用于:在目标虚拟角色位于目标虚拟墙体上时,获取目标虚拟角色在目标虚拟墙体上的攀爬高度;在攀爬高度达到第三阈值时,响应于对目标虚拟角色执行的向上移动操作指令或斜向上移动操作指令,在目标游戏应用中控制目标虚拟角色向上执行第二跳跃动作;在目标虚拟角色向上执行第二跳跃动作结束后到达目标虚拟墙体的顶部时,在目标游戏应用中显示目标虚拟角色站在目标虚拟墙体的顶部;在目标虚拟角色向上执行第二跳跃动作结束后到未达目标虚拟墙体的顶部时,在目标游戏应用中
控制目标虚拟角色向下跳离目标虚拟墙体。
[0256]
作为一种可选的方案,装置还用于:在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体之后,获取目标虚拟角色落到虚拟地面之后的落地时长;在落地时长未达到第四阈值时,将目标虚拟角色设置为禁止攀爬到目标虚拟墙体上;在落地时长达到第四阈值时,将目标虚拟角色设置为允许攀爬到目标虚拟墙体上。
[0257]
作为一种可选的方案,装置还用于:在目标虚拟角色跳伞的过程中,检测目标虚拟角色与目标虚拟墙体是否发生碰撞;在检测到目标虚拟角色与目标虚拟墙体发生碰撞时,在目标游戏应用中控制目标虚拟角色攀爬到目标虚拟墙体上。
[0258]
作为一种可选的方案,装置还用于:响应于对目标虚拟角色执行的第三移动操作指令,在目标游戏应用中控制目标虚拟角色在目标虚拟墙体上沿着第三移动操作指令指示的攀爬方向进行攀爬,其中,第三移动操作指令指示的攀爬方向包括斜向上方向或向上方向;在控制目标虚拟角色沿着第三移动操作指令指示的攀爬方向进行攀爬的过程中或结束时,检测目标虚拟角色的位置是否到达预设的悬挂位置;在检测出目标虚拟角色的位置到达悬挂位置时,在目标游戏应用中控制目标虚拟角色悬挂在悬挂位置。
[0259]
作为一种可选的方案,装置还用于:在目标虚拟角色悬挂在悬挂位置时,响应于对目标虚拟角色执行的横向移动操作指令,在目标游戏应用中控制目标虚拟角色在预设的悬挂位置区域中横向移动,其中,悬挂位置区域中的悬挂位置均为允许目标虚拟角色悬挂的位置。
[0260]
作为一种可选的方案,装置还用于:在目标虚拟角色悬挂在悬挂位置时,响应于对目标虚拟角色执行的第三操作指令,在目标游戏应用中控制目标虚拟角色向上执行第三跳跃动作,其中,第三操作指令包括跳跃操作指令,或,向上移动操作指令,或,斜向上移动操作指令;在目标虚拟角色向上执行第三跳跃动作结束后到达目标虚拟墙体的顶部时,在目标游戏应用中显示目标虚拟角色站在目标虚拟墙体的顶部;在目标虚拟角色向上执行第三跳跃动作结束后到未达目标虚拟墙体的顶部时,在目标游戏应用中控制目标虚拟角色向下跳离目标虚拟墙体。
[0261]
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述虚拟角色的控制方法。
[0262]
根据本发明实施例的又一个方面,还提供了一种用于实施上述虚拟角色的控制方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端为例来说明。如图20所示,该电子设备包括存储器2002和处理器2004,该存储器2002中存储有计算机程序,该处理器2004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
[0263]
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
[0264]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0265]
s1,显示游戏画面,游戏画面中包括目标虚拟角色和目标虚拟墙体;
[0266]
s2,在目标虚拟角色面向目标虚拟墙体、且目标虚拟角色与目标虚拟墙体之间的距离小于第一阈值时,响应于对目标虚拟角色执行的第一操作指令,控制目标虚拟角色攀
爬到目标虚拟墙体上;
[0267]
s3,在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的第二操作指令,控制目标虚拟角色在目标虚拟墙体上沿着第二操作指令指示的攀爬方向进行攀爬。
[0268]
可选地,本领域普通技术人员可以理解,图20所示的结构仅为示意,电子装置电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图20其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图20中所示更多或者更少的组件(如网络接口等),或者具有与图20所示不同的配置。
[0269]
其中,存储器2002可用于存储软件程序以及模块,如本发明实施例中的虚拟角色的控制方法和装置对应的程序指令/模块,处理器2004通过运行存储在存储器2002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟角色的控制方法。存储器2002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器2002可进一步包括相对于处理器2004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器2002具体可以但不限于用于存储目标虚拟角色和目标虚拟墙体等信息。作为一种示例,如图20所示,上述存储器2002中可以但不限于包括上述虚拟角色的控制装置中的显示模块1902、第一控制模块1904以及第二控制模块1906。此外,还可以包括但不限于上述虚拟角色的控制装置中的其他模块单元,本示例中不再赘述。
[0270]
可选地,上述的传输装置2006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置2006包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置2006为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0271]
此外,上述电子设备还包括:显示器2008,用于显示上述游戏画面;和连接总线2010,用于连接上述电子设备中的各个模块部件。
[0272]
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
[0273]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述虚拟角色的控制方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0274]
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0275]
s1,显示游戏画面,游戏画面中包括目标虚拟角色和目标虚拟墙体;
[0276]
s2,在目标虚拟角色面向目标虚拟墙体、且目标虚拟角色与目标虚拟墙体之间的距离小于第一阈值时,响应于对目标虚拟角色执行的第一操作指令,控制目标虚拟角色攀爬到目标虚拟墙体上;
[0277]
s3,在目标虚拟角色位于目标虚拟墙体上时,响应于对目标虚拟角色执行的第二操作指令,控制目标虚拟角色在目标虚拟墙体上沿着第二操作指令指示的攀爬方向进行攀爬。
[0278]
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read

only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0279]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0280]
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
[0281]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0282]
在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0283]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0284]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0285]
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜