一种虚拟角色掩蔽方法、装置、计算机设备及存储介质

文档序号:623980 发布日期:2021-05-11 浏览:32次 >En<

阅读说明:本技术 一种虚拟角色掩蔽方法、装置、计算机设备及存储介质 (Virtual character masking method and device, computer equipment and storage medium ) 是由 董兆喆 倪琪标 于 2021-01-22 设计创作,主要内容包括:本公开提供了一种虚拟角色掩蔽方法、装置、计算机设备及存储介质,其中,该方法包括:响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,确定第一虚拟角色所处的场景中能够供第一虚拟角色掩蔽的多个候选掩蔽位置;基于各候选掩蔽位置对第一虚拟角色的掩蔽程度,从多个候选掩蔽位置中,确定针对第一虚拟角色的目标掩蔽位置;控制第一虚拟角色移动至目标掩蔽位置。从而,可以使得第一虚拟角色移动至供掩蔽的目标掩蔽位置,可以通过提高第一虚拟角色的隐蔽性,提升游戏场景的真实性,增加游戏内容的丰富性,有利于增加第一虚拟角色与玩家之间的互动性,提升玩家在游戏过程中的沉浸感。(The present disclosure provides a virtual character masking method, apparatus, computer device and storage medium, wherein the method comprises: in response to the fact that a first virtual character enters a masking state aiming at a second virtual character, determining a plurality of candidate masking positions, capable of being masked by the first virtual character, in a scene where the first virtual character is located; determining a target masking position for the first virtual character from a plurality of candidate masking positions based on the masking degree of each candidate masking position on the first virtual character; and controlling the first virtual character to move to the target masking position. Therefore, the first virtual character can move to the target masking position for masking, the reality of a game scene can be improved by improving the concealment of the first virtual character, the richness of game content is increased, the interactivity between the first virtual character and a player is favorably increased, and the immersion of the player in the game process is improved.)

一种虚拟角色掩蔽方法、装置、计算机设备及存储介质

技术领域

本公开涉及游戏策略技术领域,具体而言,涉及一种虚拟角色掩蔽方法、装置、计算机设备及存储介质。

背景技术

在一些攻击类、策略类等游戏中,开发人员通常会设置一些非玩家角色(Non-Player Character,NPC),用于引导玩家进行游戏。其中,NPC可以为可战斗型NPC,即玩家击杀该NPC后可能获得荣誉,或是击杀该NPC后可能获得经验值或物品。

目前,在大多游戏中,NPC大多为固定不动或是在一定范围内作出预设移动的,即NPC位于一固定位置或范围内,表现形式较为单一、呆板,画面呈现场景的真实性较差。

发明内容

本公开实施例至少提供一种虚拟角色掩蔽方法、装置、计算机设备及存储介质。

第一方面,本公开实施例提供了一种虚拟角色掩蔽方法,所述方法包括:

响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,确定所述第一虚拟角色所处的场景中能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置;

基于各所述候选掩蔽位置对所述第一虚拟角色的掩蔽程度,从多个所述候选掩蔽位置中,确定针对所述第一虚拟角色的目标掩蔽位置;

控制所述第一虚拟角色移动至所述目标掩蔽位置。

一种可选的实施方式中,所述响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,确定所述第一虚拟角色所处的场景中能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置,包括:

响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中能够为所述第一虚拟角色提供掩蔽的至少一个掩体;

确定所述至少一个掩体中各掩体的至少一个掩蔽位置;

从所述至少一个掩体对应的多个掩蔽位置中确定出供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

一种可选的实施方式中,所述响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中能够为所述第一虚拟角色提供掩蔽的至少一个掩体,包括:

响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中的多个掩体;

基于所述第一虚拟角色在所述场景中的第一角色位置,确定所述多个掩体中距离所述第一虚拟角色预设范围内的掩体为能够为所述第一虚拟角色提供掩蔽的至少一个掩体。

一种可选的实施方式中,所述确定所述至少一个掩体中各掩体的至少一个掩蔽位置,包括:

针对每个掩体,确定覆盖所述掩体的规则框体;

按照预设的点位大小,确定环绕所述规则框体的至少一个点位;

将位于所述掩体边缘处、且与各点位对应的位置,确定为该掩体的至少一个掩蔽位置。

一种可选的实施方式中,所述从所述至少一个掩体对应的多个掩蔽位置中确定出供所述第一虚拟角色掩蔽的多个候选掩蔽位置,包括:

基于所述第二虚拟角色在所述场景中的第二角色位置、各掩蔽位置对应的点位位置和各掩体的掩体位置,从所述至少一个掩体对应的多个掩蔽位置中筛选出与所述第二虚拟角色之间存在掩体的掩蔽位置;

将确定出的多个掩蔽位置确定为能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

一种可选的实施方式中,所述基于各所述候选掩蔽位置对所述第一虚拟角色的掩蔽程度,从多个所述候选掩蔽位置中,确定针对所述第一虚拟角色的目标掩蔽位置,包括:

获取各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽程度;

将多个所述候选掩蔽位置中掩蔽程度最好的候选掩蔽位置作为针对所述第一虚拟角色的目标掩蔽位置。

一种可选的实施方式中,所述获取各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽程度,包括:

基于所述第一虚拟角色的角色信息,确定针对所述第一虚拟角色的掩蔽方式,其中,所述掩蔽方式包括掩蔽、掩蔽并寻找下一个掩蔽位置、以及掩蔽且攻击;

基于所述掩蔽方式、各所述候选掩蔽位置相对于所述第一虚拟角色的客观掩蔽因素和所述第一虚拟角色的主观掩蔽因素,计算各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽值;其中,所述掩蔽值越高,对应的候选掩蔽位置的掩蔽程度越好。

一种可选的实施方式中,所述客观掩蔽因素包括以下因素中的一个或者多个:

能够掩蔽;能够攻击;掩体位置与所述第一虚拟角色之间的距离;掩体位置与所述第二虚拟角色之间的距离;掩体位置对应的掩蔽姿态;掩体位置对应的掩体的高度、掩体位置对应的掩体的宽度、掩体的类型。

一种可选的实施方式中,所述主观掩蔽因素包括以下因素中的一个或者多个:

所述第一虚拟角色的移动速度;所述第一虚拟角色的移动时间;所述第一虚拟角色的攻击距离;所述第一虚拟角色的攻击间隔。

一种可选的实施方式中,所述控制所述第一虚拟角色移动至所述目标掩蔽位置,包括:

基于所述目标掩蔽位置与所述第一虚拟角色之间的间隔距离,以及所述第一虚拟角色的攻击信息,确定所述第一虚拟角色移动至所述目标掩蔽位置过程中的移动位姿;

控制所述第一虚拟角色按照所述移动位姿移动至所述目标掩蔽位置。

一种可选的实施方式中,所述移动位姿包括以下至少一种:

移动、移动并攻击、加速移动。

第二方面,本公开实施例还提供一种虚拟角色掩蔽装置,所述装置包括:

第一确定模块,用于响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,确定所述第一虚拟角色所处的场景中能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置;

第二确定模块,用于基于各所述候选掩蔽位置对所述第一虚拟角色的掩蔽程度,从多个所述候选掩蔽位置中,确定针对所述第一虚拟角色的目标掩蔽位置;

控制模块,用于控制所述第一虚拟角色移动至所述目标掩蔽位置。

一种可选的实施方式中,所述第一确定模块包括:

第一确定单元,用于响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中能够为所述第一虚拟角色提供掩蔽的至少一个掩体;

第二确定单元,用于确定所述至少一个掩体中各掩体的至少一个掩蔽位置;

第三确定单元,用于从所述至少一个掩体对应的多个掩蔽位置中确定出供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

一种可选的实施方式中,所述第一确定单元具体用于:

响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中的多个掩体;

基于所述第一虚拟角色在所述场景中的第一角色位置,确定所述多个掩体中距离所述第一虚拟角色预设范围内的掩体为能够为所述第一虚拟角色提供掩蔽的至少一个掩体。

一种可选的实施方式中,所述第二确定单元具体用于:

针对每个掩体,确定覆盖所述掩体的规则框体;

按照预设的点位大小,确定环绕所述规则框体的至少一个点位;

将位于所述掩体边缘处、且与各点位对应的位置,确定为该掩体的至少一个掩蔽位置。

一种可选的实施方式中,所述第三确定单元具体用于:

基于所述第二虚拟角色在所述场景中的第二角色位置、各掩蔽位置对应的点位位置和各掩体的掩体位置,从所述至少一个掩体对应的多个掩蔽位置中筛选出与所述第二虚拟角色之间存在掩体的掩蔽位置;

将确定出的多个掩蔽位置确定为能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

一种可选的实施方式中,所述第二确定模块包括:

获取单元,用于获取各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽程度;

第四确定单元,用于将多个所述候选掩蔽位置中掩蔽程度最好的候选掩蔽位置作为针对所述第一虚拟角色的目标掩蔽位置。

一种可选的实施方式中,所述获取模块具体用于:

基于所述第一虚拟角色的角色信息,确定针对所述第一虚拟角色的掩蔽方式,其中,所述掩蔽方式包括掩蔽、掩蔽并寻找下一个掩蔽位置、以及掩蔽且攻击;

基于所述掩蔽方式、各所述候选掩蔽位置相对于所述第一虚拟角色的客观掩蔽因素和所述第一虚拟角色的主观掩蔽因素,计算各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽值;其中,所述掩蔽值越高,对应的候选掩蔽位置的掩蔽程度越好。

一种可选的实施方式中,所述客观掩蔽因素包括以下因素中的一个或者多个:

能够掩蔽;能够攻击;掩体位置与所述第一虚拟角色之间的距离;掩体位置与所述第二虚拟角色之间的距离;掩体位置对应的掩蔽姿态;掩体位置对应的掩体的高度、掩体位置对应的掩体的宽度、掩体的类型。

一种可选的实施方式中,所述主观掩蔽因素包括以下因素中的一个或者多个:

所述第一虚拟角色的移动速度;所述第一虚拟角色的移动时间;所述第一虚拟角色的攻击距离;所述第一虚拟角色的攻击间隔。

一种可选的实施方式中,所述控制模块具体用于:

基于所述目标掩蔽位置与所述第一虚拟角色之间的间隔距离,以及所述第一虚拟角色的攻击信息,确定所述第一虚拟角色移动至所述目标掩蔽位置过程中的移动位姿;

控制所述第一虚拟角色按照所述移动位姿移动至所述目标掩蔽位置。

一种可选的实施方式中,所述移动位姿包括以下至少一种:

移动、移动并攻击、加速移动。

第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

本公开实施例提供的一种虚拟角色掩蔽方法、装置、计算机设备及存储介质,包括:响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,确定第一虚拟角色所处的场景中能够供第一虚拟角色掩蔽的多个候选掩蔽位置;基于各候选掩蔽位置对第一虚拟角色的掩蔽程度,从多个候选掩蔽位置中,确定针对第一虚拟角色的目标掩蔽位置;控制第一虚拟角色移动至目标掩蔽位置。

在本公开实施例中,通过初步确定供第一虚拟角色掩蔽的多个候选掩蔽位置,并进一步地、从确定的多个候选掩蔽位置中选取针对第一虚拟角色的目标掩蔽位置,并控制第一虚拟角色移动至确定的目标掩蔽位置,从而,可以使得第一虚拟角色移动至供掩蔽的目标掩蔽位置,可以通过提高第一虚拟角色的隐蔽性,提升游戏场景的真实性,增加游戏内容的丰富性,有利于增加第一虚拟角色与玩家之间的互动性,提升玩家在游戏过程中的沉浸感。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种虚拟角色掩蔽方法的流程图;

图2示出了本公开实施例提供的确定能够供第一虚拟角色掩蔽的多个候选掩蔽位置的流程图;

图3示出了本公开实施例所提供的虚拟角色掩蔽界面的示意图;

图4示出了本公开实施例提供的从候选掩蔽位置中确定目标掩蔽位置的流程图;

图5示出了本公开实施例所提供的一种虚拟角色掩蔽装置的示意图;

图6示出了本公开实施例所提供的虚拟角色掩蔽装置中,第一确定模块的具体示意图;

图7示出了本公开实施例所提供的虚拟角色掩蔽装置中,第二确定模块的具体示意图;

图8示出了本公开实施例所提供的一种计算机设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

经研究发现,在大多游戏中,NPC大多为固定不动或是在一定范围内作出预设移动的,即NPC位于一固定位置或范围内,表现形式较为单一、呆板,画面呈现场景的真实性较差。

基于上述研究,本公开提供了一种虚拟角色掩蔽方法,通过初步确定供第一虚拟角色掩蔽的多个候选掩蔽位置,并进一步地、从确定的多个候选掩蔽位置中选取针对第一虚拟角色的目标掩蔽位置,并控制第一虚拟角色移动至确定的目标掩蔽位置,从而,可以使得第一虚拟角色移动至供掩蔽的目标掩蔽位置,可以通过提高第一虚拟角色的隐蔽性,提升游戏场景的真实性,增加游戏内容的丰富性,有利于增加第一虚拟角色与玩家之间的互动性,提升玩家在游戏过程中的沉浸感。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种虚拟角色掩蔽方法进行详细介绍,本公开实施例所提供的虚拟角色掩蔽方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该虚拟角色掩蔽方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

参见图1所示,为本公开实施例提供的虚拟角色掩蔽方法的流程图,所述方法包括步骤S101~S103,其中:

S101:响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,确定所述第一虚拟角色所处的场景中能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

该步骤中,当第一虚拟角色需要进行掩蔽时,可以基于第一虚拟角色所处的场景,确定可以能够供第一虚拟角色掩蔽的多个候选掩蔽位置。

其中,所述第一虚拟角色可以为非玩家角色,例如:怪物、怪兽、BOSS等,可以供玩家攻击,进而得到相应的经验、奖励或是掉落的物品、道具等。第一虚拟角色也可以是开发人员设定的机器玩家,即用于满足玩家的对战需求而设定的机器玩家,例如,填充组队人数或是增加玩家在游戏过程中的对战人物等。对应的,第二虚拟角色可以为玩家操作的虚拟角色。

在本公开实施例中,当进入对战状态时,可以认为第一虚拟角色进入了掩蔽状态;又或者,当检测到第二虚拟角色靠近第一虚拟角色或位于以第一虚拟角色为中心的一定区域范围内时,可以认为第一虚拟角色进入了掩蔽状态;又或者,需要第一虚拟角色完成特定任务,例如:狙击、埋伏时,可以认为第一虚拟角色进入了掩蔽状态,在此不再赘述。

在本公开实施例中,在响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态之后,需要确定第一虚拟想要掩蔽的具体掩蔽位置,优选的,可以首先确定能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置,并从多个候选掩蔽位置中确定最终的、针对第一虚拟角色的掩蔽位置。

具体的,参见图2所示,为本公开实施例提供的确定能够供第一虚拟角色掩蔽的多个候选掩蔽位置的流程图,包括步骤S1011~S1013,其中:

S1011:响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中能够为所述第一虚拟角色提供掩蔽的至少一个掩体。

该步骤中,在响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态之后,可以基于第一虚拟角色所在的场景中包括的掩体,确定能够为所述第一虚拟角色提供掩蔽的至少一个掩体。

其中,掩体为可以供第一虚拟角色进行掩蔽的物体。

具体的,所述响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中能够为所述第一虚拟角色提供掩蔽的至少一个掩体,包括:

响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中的多个掩体;

基于所述第一虚拟角色在所述场景中的第一角色位置,确定所述多个掩体中距离所述第一虚拟角色预设范围内的掩体为能够为所述第一虚拟角色提供掩蔽的至少一个掩体。

示例性的,在第一虚拟角色针对第二虚拟角色进入掩蔽状态之后,可以首先筛选出在第一虚拟角色所在场景中的多个掩体,例如当前游戏界面上显示的多个掩体,或是展示在游戏小地图中的多个掩体。在确定出场景中的多个掩体之后,在第一虚拟角色的游戏空间中,可以筛选出以所述第一虚拟角色为中心的一定范围内的多个掩体,例如:在距离第一虚拟角色10m或是20m范围内的多个掩体。由此,可以初步筛选出可以供第一虚拟角色掩蔽的多个掩体,并基于多个掩体进行后续的掩体位置的确定过程。

S1012:确定所述至少一个掩体中各掩体的至少一个掩蔽位置。

该步骤中,可以基于确定的多个掩体,确定出每个掩体对应的掩蔽位置。

具体的,所述确定所述至少一个掩体中各掩体的至少一个掩蔽位置,包括:

针对每个掩体,确定覆盖所述掩体的规则框体;

按照预设的点位大小,确定环绕所述规则框体的至少一个点位;

将位于所述掩体边缘处、且与各点位对应的位置,确定为该掩体的至少一个掩蔽位置。

其中,所述掩体的规则框体为描述掩体近似形状的框体,例如可以用矩形框来近似拼接。规则框体库可以从工具层面通过拉出的框体直接算出每个掩体的点位分布,此外,掩体位置从属于掩体的规则框体,便于在检测中将对应的掩体进行剥离等,从而进行后续的计算。针对掩体而言,可以通过一个掩体的规则框体进行标注,然后在其周围描述出掩体点位,即作为第一虚拟角色可以掩蔽的掩蔽位置。对应的,点位为基于掩体转化的点位,即依据一个设定好的规则分布在掩体的框体周围,例如朝向垂直墙壁向外等。

参照图3所示,为本公开实施例所提供的虚拟角色掩蔽界面的示意图。如图3所示,针对每个掩体A,可以以其中心点位置为基准,向外延伸框体,直至框体覆盖整个掩体,得到覆盖所述掩体的规则框体。之后,按照预设的点位大小,例如:大号尺码、中号尺码等,在规则框体在进行点位排列,从而确定出环绕所述规则框体的至少一个点位。最后,可以将位于掩体边缘处的,且基于确定出点位而对应的位置确定为该掩体的至少一个掩蔽位置。

S1013:从所述至少一个掩体对应的多个掩蔽位置中确定出供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

该步骤中,基于至少一个掩体对应的多个掩蔽位置,确定供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

在本公开实施例中,由于每个掩体对应的掩蔽位置可以是对应不同的方向的,因此可以基于第二虚拟角色对应的方向位置,对至少一个掩体对应的多个掩蔽位置进行筛选,从而确定出供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

具体的,所述从所述至少一个掩体对应的多个掩蔽位置中确定出供所述第一虚拟角色掩蔽的多个候选掩蔽位置,包括:

基于所述第二虚拟角色在所述场景中的第二角色位置、各掩蔽位置对应的点位位置和各掩体的掩体位置,从所述至少一个掩体对应的多个掩蔽位置中筛选出与所述第二虚拟角色之间存在掩体的掩蔽位置;

将确定出的多个掩蔽位置确定为能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

该步骤中,可以基于第二虚拟角色的位置,各掩体的位置以及各点位相对各掩体的位置,各点位相对第二角色位置的位置,对至少一个掩体对应的多个掩蔽位置进行进一步的筛选,筛选出与所述第二虚拟角色之间存在掩体的掩蔽位置,并将确定出的多个掩蔽位置确定为能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

示例性的,如图3所示,若确定掩体A以及掩体B为供第一虚拟角色掩蔽的掩体,且第二虚拟角色从右侧向第一虚拟角色靠近,那么掩蔽位置3以及掩蔽位置6便无法满足对于第一虚拟角色的掩蔽目的。因此,可以筛掉掩蔽位置3以及掩蔽位置6,确定掩蔽位置1、掩蔽位置2、掩蔽位置4、以及掩蔽位置5为供所述第一虚拟角色掩蔽的多个候选掩蔽位置。由此,可以提供出满足第一虚拟角色的粗略掩蔽需求的候选掩蔽位置。

S102:基于各所述候选掩蔽位置对所述第一虚拟角色的掩蔽程度,从多个所述候选掩蔽位置中,确定针对所述第一虚拟角色的目标掩蔽位置。

该步骤中,在确定出多个候选掩蔽位置之后,可以基于各候选掩蔽位置对第一虚拟角色的掩蔽程度,确定出第一虚拟角色最终可掩蔽的目标掩蔽位置。

具体的,参见图4所示,为本公开实施例提供的候选掩蔽位置中确定目标掩蔽位置的流程图,包括步骤S1021~S1022,其中:

S1021:获取各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽程度。

该步骤中,可以基于预设的掩蔽程度评价指标,确定各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽程度。

具体的,所述获取各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽程度,包括:

基于所述第一虚拟角色的角色信息,确定针对所述第一虚拟角色的掩蔽方式,其中,所述掩蔽方式包括掩蔽、掩蔽并寻找下一个掩蔽位置、以及掩蔽且攻击;

基于所述掩蔽方式、各所述候选掩蔽位置相对于所述第一虚拟角色的客观掩蔽因素和所述第一虚拟角色的主观掩蔽因素,计算各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽值;其中,所述掩蔽值越高,对应的候选掩蔽位置的掩蔽程度越好。

示例性的,针对第一虚拟角色进行选择掩体位置的时候可可以分为三种情况:单纯隐蔽起来、隐蔽到可以对第二虚拟角色进行攻击的位置、以及隐蔽到方便后续移动躲避的位置。例如:在进入战斗初期,第一虚拟角色可以先就近进行掩蔽,但随着战斗推进,可以考虑选择到合适攻击的掩体或者适合移动躲避的位置,从而进行伺机输出。因此可以基于上述三种情况筛选确定针对所述第一虚拟角色的掩蔽方式。

具体的,可以针对不同的掩蔽方式,以及与不同掩蔽方式对应的掩蔽因素,包括主观掩蔽因素以及客观掩蔽因素,计算出每个候选掩蔽位置相对于所述第一虚拟角色的掩蔽值,并基于掩蔽值确定每个候选掩蔽位置对应的掩蔽程度。

其中,客观掩蔽因素包括以下因素中的一个或者多个:能够掩蔽;能够攻击;掩体位置与所述第一虚拟角色之间的距离;掩体位置与所述第二虚拟角色之间的距离;掩体位置对应的掩蔽姿态;掩体位置对应的掩体的高度、掩体位置对应的掩体的宽度、掩体的类型。

示例性的,掩体的类型可以包括蹲姿掩体和站姿掩体,蹲姿掩体指的是在掩体内需要蹲姿才能保平安,但需要站起来或者走到侧边进行攻击,站姿掩体指的是在掩体内站立就能保平安,无法进行掩体内攻击,需要走到掩体边缘才能攻击;

所述主观掩蔽因素包括以下因素中的一个或者多个:所述第一虚拟角色的移动速度;所述第一虚拟角色的移动时间;所述第一虚拟角色的攻击距离;所述第一虚拟角色的攻击间隔。

示例性的,可以基于第一虚拟角色的各候选掩蔽位置相对第一虚拟角色的第一角色位置的距离,以及第一虚拟角色的移动速度,计算得到第一虚拟角色的移动时间。

具体的,可以通过以下步骤确定候选掩蔽位置是否满足掩蔽且攻击的掩蔽条件:从多个候选掩蔽位置向所述第二虚拟角色发出直线;若存在向所述第二虚拟角色发出的直线只被与所述候选掩蔽位置对应的掩体所阻挡的候选掩蔽位置,则确定该候选掩蔽位置满足掩蔽且攻击的掩蔽条件。对应的,可以通过以下步骤候选掩蔽掩体是否满足掩蔽并寻找下一个掩蔽位置的掩蔽条件:确定掩体的候选掩蔽位置距离所述第一虚拟角色的当前位置的预测距离,以及所述第一虚拟角色移动至候选掩蔽位置的移动时间;若所述预测距离满足预设的移动距离阈值,和/或,所述移动时间满足移动时间阈值,则确定该候选掩蔽位置满足掩蔽并寻找下一个掩蔽位置的掩蔽条件。

示例性的,针对于掩蔽方式为掩蔽的情况,其对应的掩蔽因素可以包括能够掩蔽、掩体位置与所述第一虚拟角色之间的距离、掩体位置对应的掩蔽姿态、掩体位置对应的掩体的高度、掩体位置对应的掩体的宽度、掩体的类型等相对较少的掩蔽因素。针对于掩蔽且攻击的掩蔽方式,则需要考虑更多的掩蔽因素,具体包括:能够掩蔽;能够攻击;掩体位置与所述第一虚拟角色之间的距离;掩体位置与所述第二虚拟角色之间的距离;掩体位置对应的掩蔽姿态;掩体位置对应的掩体的高度、掩体位置对应的掩体的宽度、掩体的类型,此外,还包括一定的主观因素,具体包括:所述第一虚拟角色的攻击距离;所述第一虚拟角色的攻击间隔等。针对于掩蔽并寻找下一个掩蔽位置的掩蔽方式,具体包括:能够掩蔽;能够攻击;掩体位置与所述第一虚拟角色之间的距离;掩体位置与所述第二虚拟角色之间的距离;掩体位置对应的掩蔽姿态;掩体位置对应的掩体的高度、掩体位置对应的掩体的宽度、掩体的类型,此外,还包括一定的主观因素,具体包括:所述第一虚拟角色的移动速度;所述第一虚拟角色的移动时间等。并针对于不同的掩蔽因素的掩蔽价值占比,以及是否为决定性因素,确定针对每种掩蔽方式的掩蔽值。在这里,能够掩蔽可以认定为针对每种掩蔽方式的决定性因素,能够攻击可以作为掩蔽且攻击的掩蔽方式的决定性因素。

示例性的,如图3所示,针对于候选掩蔽位置的掩蔽位置1、掩蔽位置2、掩蔽位置4、以及掩蔽位置5,由于掩体B为圆柱体掩体,因此存在的视觉盲区可能较少,因此可以判断掩体位置5为不能够掩蔽的掩蔽位置,其对应的掩蔽值较低或为0。针对于掩蔽位置2,其距离掩体A的左侧边缘较远,且右侧靠近掩体B,因此不利于在该掩蔽位置进行进攻,因此,可以判断掩体位置1为不能够攻击的掩蔽位置,在掩蔽且攻击的掩蔽方式下,其对应的掩蔽值较低或为0。针对于掩蔽位置3以及掩蔽位置4,其距离较近,其能够掩蔽性和能够攻击性类似。但是由于掩体B较低,因此当第一虚拟位置位于掩蔽位置4时,需要进行蹲姿掩蔽,因此,掩蔽位置4相对于掩蔽位置3的掩蔽值较低,因此,可以确定掩蔽位置3的掩蔽程度最好。

S1022:将多个所述候选掩蔽位置中掩蔽程度最好的候选掩蔽位置作为针对所述第一虚拟角色的目标掩蔽位置。

该步骤中,在确定每个候选掩蔽位置的掩蔽程度之后,可以确定掩蔽程度最好的候选掩蔽位置作为针对所述第一虚拟角色的目标掩蔽位置。

由此,通过上述步骤便可以遍历全部的候选掩蔽位置,从而选取出最适合第一虚拟角色掩蔽的目标掩蔽位置。

S103:控制所述第一虚拟角色移动至所述目标掩蔽位置。

该步骤中,在确定出目标掩蔽位置之后,便可以控制第一虚拟角色移动至所述目标掩蔽位置。

具体的,所述控制所述第一虚拟角色移动至所述目标掩蔽位置,包括:

基于所述目标掩蔽位置与所述第一虚拟角色之间的间隔距离,以及所述第一虚拟角色的攻击信息,确定所述第一虚拟角色移动至所述目标掩蔽位置过程中的移动位姿;

控制所述第一虚拟角色按照所述移动位姿移动至所述目标掩蔽位置。

其中,所述移动位姿包括以下至少一种:

移动、移动并攻击、加速移动。

示例性的,当第一虚拟角色未受到攻击,或未检测到第二虚拟角色的行踪时,可以以缓行的速度移动至目标掩蔽位置。但是,当第一虚拟角色受到攻击,或检测到第二虚拟角色的行踪时,可以加快移动速度,以更快地移动至目标掩蔽位置处,此外,还可以以蹲姿进行移动,以避免遭到第二虚拟角色的攻击;还可以在移动的过程中对第二虚拟角色进行攻击,丰富游戏过程。或者,当目标掩蔽位置与所述第一虚拟角色之间的间隔距离较长时,加快移动速度,降低第一虚拟角色的暴露风险。针对于第一虚拟角色的移动过程的位姿变换具有多种可能的情况,在此不再赘述。通过调整第一虚拟角色在移动过程中的位姿,可以丰富游戏玩法,提升玩家在游戏过程中的趣味性。

在本公开实施例通过初步确定供第一虚拟角色掩蔽的多个候选掩蔽位置,并进一步地、从确定的多个候选掩蔽位置中选取针对第一虚拟角色的目标掩蔽位置,并控制第一虚拟角色移动至确定的目标掩蔽位置,从而,可以使得第一虚拟角色移动至供掩蔽的目标掩蔽位置,可以通过提高第一虚拟角色的隐蔽性,提升游戏场景的真实性,增加游戏内容的丰富性,有利于增加第一虚拟角色与玩家之间的互动性,提升玩家在游戏过程中的沉浸感。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与虚拟角色掩蔽方法对应的虚拟角色掩蔽装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述虚拟角色掩蔽方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图5、图6、图7所示,图5为本公开实施例提供的一种虚拟角色掩蔽装置的示意图,图6为本公开实施例所提供的虚拟角色掩蔽装置中,第一确定模块的具体示意图;图7为本公开实施例所提供的虚拟角色掩蔽装置中,第二确定模块的具体示意图。所述装置包括:第一确定模块510、第二确定模块520、控制模块530;其中:

第一确定模块510,用于响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,确定所述第一虚拟角色所处的场景中能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置;

第二确定模块520,用于基于各所述候选掩蔽位置对所述第一虚拟角色的掩蔽程度,从多个所述候选掩蔽位置中,确定针对所述第一虚拟角色的目标掩蔽位置;

控制模块530,用于控制所述第一虚拟角色移动至所述目标掩蔽位置。

一种可选的实施方式中,如图6所示,所述第一确定模块510包括:

第一确定单元511,用于响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中能够为所述第一虚拟角色提供掩蔽的至少一个掩体;

第二确定单元512,用于确定所述至少一个掩体中各掩体的至少一个掩蔽位置;

第三确定单元513,用于从所述至少一个掩体对应的多个掩蔽位置中确定出供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

一种可选的实施方式中,所述第一确定单元511具体用于:

响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,基于所述第一虚拟角色所处场景的环境信息,确定所述场景中的多个掩体;

基于所述第一虚拟角色在所述场景中的第一角色位置,确定所述多个掩体中距离所述第一虚拟角色预设范围内的掩体为能够为所述第一虚拟角色提供掩蔽的至少一个掩体。

一种可选的实施方式中,所述第二确定单元512具体用于:

针对每个掩体,确定覆盖所述掩体的规则框体;

按照预设的点位大小,确定环绕所述规则框体的至少一个点位;

将位于所述掩体边缘处、且与各点位对应的位置,确定为该掩体的至少一个掩蔽位置。

一种可选的实施方式中,所述第三确定单元513具体用于:

基于所述第二虚拟角色在所述场景中的第二角色位置、各掩蔽位置对应的点位位置和各掩体的掩体位置,从所述至少一个掩体对应的多个掩蔽位置中筛选出与所述第二虚拟角色之间存在掩体的掩蔽位置;

将确定出的多个掩蔽位置确定为能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置。

一种可选的实施方式中,如图7所示,所述第二确定模块520包括:

获取单元521,用于获取各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽程度;

第四确定单元522,用于将多个所述候选掩蔽位置中掩蔽程度最好的候选掩蔽位置作为针对所述第一虚拟角色的目标掩蔽位置。

一种可选的实施方式中,所述获取单元521具体用于:

基于所述第一虚拟角色的角色信息,确定针对所述第一虚拟角色的掩蔽方式,其中,所述掩蔽方式包括掩蔽、掩蔽并寻找下一个掩蔽位置、以及掩蔽且攻击;

基于所述掩蔽方式、各所述候选掩蔽位置相对于所述第一虚拟角色的客观掩蔽因素和所述第一虚拟角色的主观掩蔽因素,计算各所述候选掩蔽位置相对于所述第一虚拟角色的掩蔽值;其中,所述掩蔽值越高,对应的候选掩蔽位置的掩蔽程度越好。

一种可选的实施方式中,所述客观掩蔽因素包括以下因素中的一个或者多个:

能够掩蔽;能够攻击;掩体位置与所述第一虚拟角色之间的距离;掩体位置与所述第二虚拟角色之间的距离;掩体位置对应的掩蔽姿态;掩体位置对应的掩体的高度、掩体位置对应的掩体的宽度、掩体的类型。

一种可选的实施方式中,所述主观掩蔽因素包括以下因素中的一个或者多个:

所述第一虚拟角色的移动速度;所述第一虚拟角色的移动时间;所述第一虚拟角色的攻击距离;所述第一虚拟角色的攻击间隔。

一种可选的实施方式中,所述控制模块530具体用于:

基于所述目标掩蔽位置与所述第一虚拟角色之间的间隔距离,以及所述第一虚拟角色的攻击信息,确定所述第一虚拟角色移动至所述目标掩蔽位置过程中的移动位姿;

控制所述第一虚拟角色按照所述移动位姿移动至所述目标掩蔽位置。

一种可选的实施方式中,所述移动位姿包括以下至少一种:

移动、移动并攻击、加速移动。

本公开实施例通过初步确定供第一虚拟角色掩蔽的多个候选掩蔽位置,并进一步地、从确定的多个候选掩蔽位置中选取针对第一虚拟角色的目标掩蔽位置,并控制第一虚拟角色移动至确定的目标掩蔽位置,从而,可以使得第一虚拟角色移动至供掩蔽的目标掩蔽位置,可以通过提高第一虚拟角色的隐蔽性,提升游戏场景的真实性,增加游戏内容的丰富性,有利于增加第一虚拟角色与玩家之间的互动性,提升玩家在游戏过程中的沉浸感。关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

对应于图1中的虚拟角色掩蔽方法,本公开实施例还提供了一种计算机设备,如图8所示,为本公开实施例提供的计算机设备结构示意图,包括:

处理器801、存储器802、和总线803;存储器802用于存储执行指令,包括内存8021和外部存储器8022;这里的内存8021也称内存储器,用于暂时存放处理器801中的运算数据,以及与硬盘等外部存储器8022交换的数据,处理器801通过内存8021与外部存储器8022进行数据交换,当所述计算机设备运行时,所述处理器801与所述存储器802之间通过总线803通信,使得所述处理器801执行以下指令:

响应于第一虚拟角色针对第二虚拟角色进入掩蔽状态,确定所述第一虚拟角色所处的场景中能够供所述第一虚拟角色掩蔽的多个候选掩蔽位置;

基于各所述候选掩蔽位置对所述第一虚拟角色的掩蔽程度,从多个所述候选掩蔽位置中,确定针对所述第一虚拟角色的目标掩蔽位置;

控制所述第一虚拟角色移动至所述目标掩蔽位置。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的虚拟角色掩蔽方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的虚拟角色掩蔽方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:虚拟空间建造方法、装置、电子设备以及计算机可读存储介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类