一种角色的控制方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:33463038 阅读:11 留言:0更新日期:2022-05-19 00:43
本申请提供了一种角色的控制方法、装置、电子设备及可读存储介质,包括:确定在所述目标虚拟角色预设距离范围内的至少一个需要进行避让的障碍物;基于所述目标虚拟角色的当前速度以及每一个障碍物的移动速度,构建每一个障碍物对应的距离场函数;根据每一个障碍物对应的距离场函数,确定出所述目标虚拟角色满足的避障条件,并根据所述目标虚拟角色满足的避障条件,确定出控制所述目标虚拟角色进行避让的目标避障速度;控制所述目标虚拟角色以所述目标避障速度移动。在本申请中,根据构建每个可能遇见的障碍物的距离场,准确快速地确定出可以产生避让效果的移动速度,提升了避障速度确定的准确性以及效率。确定的准确性以及效率。确定的准确性以及效率。

【技术实现步骤摘要】
一种角色的控制方法、装置、电子设备及可读存储介质


[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]在一种可能的实施方式中,所述目标虚拟角色满足的避障条件为目标虚拟角色以当前速度移动不会撞上障碍物,通过以下步骤确定所述目标避障速度:
[0027]将所述目标虚拟角色的当前速度,确定为所述目标避障速度。
[0028]在一种可能的实施方式中,所述目标虚拟角色满足的避障条件为目标虚拟角色以当前速度移动会撞上障碍物,通过以下步骤确定所述目标避障速度:
[0029]确定出多个采样速度;
[0030]基于每个采样速度对应的距离场数值,确定出至少一个候选速度;
[0031]根据预设的所述目标虚拟角色的期望速度,从确定出的至少一个候选速度中,筛选出所述目标避障速度;其中,所述期望速度的速度方向为所述目标虚拟角色的目的地相对于所述目标虚拟角色的方向。
[0032]在一种可能的实施方式中,通过以下步骤确定采样速度:
[0033]根据所述目标虚拟角色在一帧范围内转动的范围,确定速度方向的采样范围;
[0034]在所述采样范围内,以所述期望速度的期望方向为基准,按照预设的采样增量,确定出多个采样速度。
[0035]在一种可能的实施方式中,通过以下步骤确定候选速度:
[0036]针对于每一个采样速度,基于所述采样速度以及每一个障碍物的移动速度,构建每一个障碍物相对于该采样速度的距离场函数,并根据每一个障碍物相对于该采样速度的距离场函数,确定出该采样速度对应的距离场数值;
[0037]将多个采样速度中对应的距离场数值大于或者等于预设数值阈值的采样速度,确定为候选速度。
[0038]在一种可能的实施方式中,所述根据预设的所述目标虚拟角色的期望速度,从确定出的至少一个候选速度中,筛选出所述目标避障速度,包括:
[0039]确定各个采样速度与所述期望速度之间的距离,确定与所述期望速度之间的距离最小的采样速度为所述目标避障速度;或者
[0040]确定每个采样速度与所述目标虚拟角色的当前速度之间的变化量,确定与所述目标虚拟角色的当前速度之间的变化量最小的采样速度为所述目标避障速度。
[0041]第二方面,本申请实施例提供了一种角色的控制装置,通过第一终端设备提供一图形用户界面,所述图形用户界面上显示有至少部分的游戏场景,所述控制装置包括:
[0042]障碍物确定模块,用于确定在目标虚拟角色预设距离范围内的至少一个需要进行避让的障碍物;
[0043]函数构建模块,用于基于所述目标虚拟角色的当前速度以及每一个障碍物的移动速度,构建每一个障碍物对应的距离场函数;
[0044]避让速度确定模块,用于根据每一个障碍物对应的距离场函数,确定出所述目标虚拟角色满足的避障条件,并根据所述目标虚拟角色满足的避障条件,确定出控制所述目标虚拟角色进行避让的目标避障速度;其中,所述目标虚拟角色满足的避障条件为所述目标虚拟角色以当前速度移动会撞上障碍物,或者所述目标虚拟角色以当前速度移动不会撞上障碍物;...

【技术保护点】

【技术特征摘要】
1.一种角色的控制方法,其特征在于,通过第一终端设备提供一图形用户界面,所述图形用户界面上显示有至少部分的游戏场景,所述控制方法包括:确定在目标虚拟角色预设距离范围内的至少一个需要进行避让的障碍物;基于所述目标虚拟角色的当前速度以及每一个障碍物的移动速度,构建每一个障碍物对应的距离场函数;根据每一个障碍物对应的距离场函数,确定出所述目标虚拟角色满足的避障条件,并根据所述目标虚拟角色满足的避障条件,确定出控制所述目标虚拟角色进行避让的目标避障速度;其中,所述目标虚拟角色满足的避障条件为所述目标虚拟角色以当前速度移动会撞上障碍物,或者所述目标虚拟角色以当前速度移动不会撞上障碍物;控制所述目标虚拟角色以所述目标避障速度移动。2.根据权利要求1所述的控制方法,其特征在于,所述障碍物的移动速度中指示的移动速率包括移动速率为零以及移动速率不为零;所述障碍物的移动速率为零,通过以下步骤构建障碍物对应的距离场函数:根据所述障碍物的形状,确定构成所述障碍物的形状的至少一个目标基础图形;基于预设的基础图形与距离场函数的映射关系以及所述至少一个目标基础图形,确定障碍物对应的距离场函数。3.根据权利要求2所述的控制方法,其特征在于,所述障碍物的移动速率不为零,通过以下步骤构建障碍物对应的距离场函数:基于所述障碍物的形状的边界,从所述目标虚拟角色的位置处确定到所述障碍物边界位置处的两条切线;基于分别计算出的所述障碍物的形状对应的距离场函数以及每一条切线对应的距离场函数,确定目标距离场函数;按照偏移量,对所述目标距离场函数进行偏移,得到障碍物对应的距离场函数。4.根据权利要求3所述的控制方法,其特征在于,通过以下步骤确定所述偏移量:基于所述目标虚拟角色的当前速度以所述障碍物的移动速度,确定出所述目标虚拟角色与所述障碍物的相对速度;基于所述相对速度以及预设调整系数,确定所述偏移量。5.根据权利要求1所述的控制方法,其特征在于,通过以下步骤确定所述目标虚拟角色满足的避障条件:针对于每一个障碍物,根据该障碍物的移动速度以及所述目标虚拟角色的当前速度,基于该障碍物对应的距离场函数,确定出所述目标虚拟角色与该障碍物之间的距离场数值;从确定出的多个距离场数值中确定出数值最小的距离场数值,确定为所述目标虚拟角色对应的目标距离场数值;若所述目标距离场数值大于或者等于预设数值阈值,确定所述目标虚拟角色以当前速度移动不会撞上障碍物;若所述目标距离场数值小于预设数值阈值,确定所述目标虚拟角色以当前速度移动会撞上障碍物。6.根据权利要求1所述的控制方法,其特征在于,所述目标虚拟角色满足的避障条件为
目标虚拟角色以当前速度移动不会撞上障碍物,通过以下步骤确定所述目标避障速度:将所述目标虚拟角色的当前速度,确定为所述目标避障速度。7.根据权利要求1所述的控制方法,其特征在于,所述目标虚拟角色满足的避障条件为目标虚拟角色以当前速度移动会撞...

【专利技术属性】
技术研发人员:郑运辉
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1