本技术实施例涉及计算机视觉,尤其涉及一种虚拟角色的控制方法、装置、设备、介质及其程序产品。
背景技术:
1、扩展现实(extended reality,xr),是指通过计算机将真实与虚拟相结合,打造一个可人机交互的虚拟环境,xr也是虚拟现实(virtual reality,vr)、增强现实(augmentedreality,ar)和混合现实(mixed reality,mr)等多种技术的统称。通过将三者的视觉交互技术相融合,为体验者带来虚拟世界与现实世界之间无缝转换的“沉浸感”。
2、在扩展现实空间中,存在很多avatar,avatar也称为虚拟角色,是网络用户在以图像为主的虚拟世界中的虚拟形象的代名词。这类虚拟角色通常为卡通形象,他/她可以出现在聊天室中,也可以出现在游戏里。高自由度的avatar能够对其他用户的avatar进行过于亲密的肢体接触,会使得部分用户产生强烈的心理不适。
技术实现思路
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、在一些实施例中,所述确定第一虚拟角色的目标身体部位的包围体与第二虚拟角色的目标身体部位的包围体接触,包括:
28、检测所述第一虚拟角色的目标身体部位的包围体与所述第二虚拟角色的目标身体部位的包围体是否重叠;
29、当所述第一虚拟角色的目标身体部位的包围体与所述第二虚拟角色的目标身体部位的包围体发生重叠时,确定所述第一虚拟角色的目标身体部位的包围体与第二虚拟角色的目标身体部位的包围体接触。
30、在一些实施例中,所述控制所述第一虚拟角色和/或所述第二虚拟角色隐身之前,还包括:
31、检测所述第一虚拟角色的总包围体与所述第二虚拟角色的总包围体是否接触,其中,所述总包围体的尺寸是根据对应的虚拟角色的体型参数确定的;
32、当所述第一虚拟角色的总包围体与所述第二虚拟角色的总包围体接触时,控制所述第一虚拟角色和/或所述第二虚拟角色隐身。
33、在一些实施例中,所述方法还包括:
34、获取目标虚拟角色的骨骼点的位置,所述目标虚拟角色包括所述第一虚拟角色和/或所述第二虚拟角色;
35、根据所述目标虚拟角色的骨骼点的位置,确定所述目标虚拟角色的体型参数;
36、根据所述目标虚拟角色的体型参数,确定所述目标虚拟角色的总包围体的尺寸。
37、在一些实施例中,所述目标虚拟角色的体型参数包括身高和肩宽。
38、在一些实施例中,所述方法还包括:根据所述目标虚拟角色的胸骨位置,确定所述目标虚拟角色的总包围体的位置。
39、在一些实施例中,所述方法还包括:
40、接收用户输入的所述目标虚拟角色的体型参数的调整数据;
41、根据所述体型参数的调整数据,调整所述目标虚拟角色的体型参数。
42、在一些实施例中,所述目标虚拟角色的总包围体为圆柱体,所述根据所述目标虚拟角色的体型参数,确定所述目标虚拟角色的总包围体的尺寸,包括:
43、确定所述圆柱体的高度等于所述目标虚拟角色的身高;
44、根据所述目标虚拟角色的肩宽确定所述圆柱体的半径。
45、在一些实施例中,根据所述目标虚拟角色的肩宽确定所述圆柱体的半径,包括:
46、确定所述圆柱体的半径等于r=l/2+n1,其中,l为所述目标虚拟角色的肩宽,n1为大于0的调整量。
47、在一些实施例中,所述目标虚拟角色的总包围体为长方体,所述根据所述目标虚拟角色的体型参数,确定所述目标虚拟角色的总包围体的尺寸,包括:
48、确定所述长方体的高度等于所述目标虚拟角色的身高;
49、根据所述目标虚拟角色的肩宽确定所述长方体的长度和宽度。
50、在一些实施例中,所述根据所述目标虚拟角色的肩宽确定所述长方体的长度和宽度,包括:
51、确定所述长方体的长度等于a=l+n2,其中,l为所述虚拟角色的肩宽,n2为大于0的调整量,所述长方体的长度方向平行于所述目标虚拟角色的肩宽方向;
52、确定所述长方体的宽度等于b=l/2+n3,n3为大于0的调整量,b的取值小于a。
53、在一些实施例中,所述圆柱体的半径满足以下条件:所述第一虚拟角色与所述第二虚拟角色握手时,第一虚拟角色的包围体与第二虚拟角色的包围体不接触。
54、在一些实施例中,所述长方体的长度和宽度满足以下条件:所述第一虚拟角色与所述第二虚拟角色握手时,第一虚拟角色的包围体与第二虚拟角色的包围体不接触。
55、在一些实施例中,所述检测第一虚拟角色的总包围体与第二虚拟角色的总包围体是否接触,包括:
56、确定所述第一虚拟角色的总包围体的中心点与所述第二虚拟角色的总包围体的中心点之间的第一距离;
57、当所述第一距离小于或等于预设距离时,确定所述第一虚拟角色的总包围体与所述第二虚拟角色的总包围体接触。
58、在一些实施例中,所述检测第一虚拟角色的总包围体与第二虚拟角色的总包围体接触,包括:
59、检测所述第一虚拟角色的总包围体与第二虚拟角色的总包围体是否重叠;
60、当所述第一虚拟角色的总包围体与第二虚拟角色的总包围体发生重叠时,确定所述第一虚拟角色的总包围体与第二虚拟角色的总包围体接触。
61、在一些实施例中,所述控制所述第一虚拟角色和/或所述第二虚拟角色隐身之前,还包括:
62、根据所述第一虚拟角色的社交保护信息和所述第二虚拟角色的社交保护信息,确定对所述第一虚拟角色和/或所述第二虚拟角色进行隐身。
63、在一些实施例中,所述社交保护信息包括以下信息中任意一个:所有人可靠近,仅好友可靠近,所有人不可靠近,指定用户不可靠近,指定用户可靠近、黑名单用户不可靠近;
64、其中,当不可靠近用户靠近时对应的虚拟角色会隐身。
65、在一些实施例中,所述根据所述第一虚拟角色的社交保护信息和所述第二虚拟角色的社交保护信息,确定对所述第一虚拟角色和/或所述第二虚拟角色进行隐身,包括:
66、根据所述第一虚拟角色的社交保护信息和所述第二虚拟角色的身份信息,确定所述第一虚拟角色的显隐结果,所述显隐结果用于表示虚拟角色是否隐身;
67、根据所述第二虚拟角色的社交保护信息和所述第一虚拟角色的身份信息,确定所述第二虚拟角色的显隐结果;
68、判断所述第一虚拟角色和所述第二虚拟角色的显隐结果是否一致;
69、当所述第一虚拟角色和所述第二虚拟角色的显隐结果一致时,确定所述第一虚拟角色和所述第二虚拟角色的显隐结果生效;
70、当所述第一虚拟角色和所述第二虚拟角色的显隐结果不一致时,确定对所述第一虚拟角色和所述第二虚拟角色进行隐身。
71、在一些实施例中,当所述第一虚拟角色和/或所述第二虚拟角色隐身后,隐身的虚拟角色的头牌/手持物品正常显示。
72、在一些实施例中,控制所述第一虚拟角色和/或所述第二虚拟角色隐身之后,还包括:
73、当所述第一虚拟角色的目标身体部位的包围体和所述第二虚拟角色的目标身体部位的包围体不接触,且不接触的时长等于预设时长时,控制隐身的虚拟角色显示。
74、另一方面,本技术实施例提供一种虚拟角色的控制装置,包括:
75、接触检测模块,用于确定第一虚拟角色的目标身体部位的包围体与第二虚拟角色的目标身体部位的包围体接触,其中,所述第一虚拟角色和所述第二虚拟角色均设置有多个身体部位的包围体;
76、隐身模块,用于控制所述第一虚拟角色和/或所述第二虚拟角色隐身。
77、另一方面,本技术实施例提供一种电子设备,所述电子设备包括:处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如上述任一项所述的方法。
78、另一方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序使得计算机执行如上述任一项所述的方法。
79、另一方面,本技术实施例提供一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述任一项所述的方法。
80、本技术实施例提供的虚拟角色的控制方法,当确定第一虚拟角色的目标身体部位的包围体与第二虚拟角色的目标身体部位的包围体接触时,控制第一虚拟角色和/或第二虚拟角色隐身。其中,第一虚拟角色和第二虚拟角色均设置有多个身体部位的包围体,当两个虚拟角色的目标身体部位的包围体接触时,对虚拟角色进行隐身,基于身体部位的包围体的接触触发隐身,能够精确的识别敏感肢体行为,避免对一些不敏感肢体行为进行隐身,从而能够提高用户体验。
1.一种虚拟角色的控制方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述多个身体部位的包围体包括:两个手部的包围体、头部的包围体、两个大腿的包围体、两个小腿的包围体和躯干臀部包围体。
3.根据权利要求1所述的方法,其特征在于,各身体部位的包围体的尺寸是根据对应的身体部位的尺寸确定的。
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求4所述的方法,其特征在于,还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述多个身体部位的包围体采用以下形状中的一个或者多个:长方体、圆柱体、正方体、椭圆体或者球体。
7.根据权利要求1-5任一项所述的方法,其特征在于,控制所述第一虚拟角色和/或所述第二虚拟角色隐身之前,还包括:
8.根据权利要求7所述的方法,其特征在于,所述第一虚拟角色的多个身体部位的包围体的类别至少包括两个类别,所述第二虚拟角色的多个身体部位的包围体的类别至少包括两个类别。
9.根据权利要求8所述的方法,其特征在于,所述第一虚拟角色的多个身体部位的包围体的类别包括主体和受体,所述第二虚拟角色的多个身体部位的包围体的类别包括主体和受体,所述主体为手部的包围体的类别,所述受体为除手部外的其他身体部位的包围体的类别;
10.根据权利要求9所述的方法,其特征在于,控制所述第一虚拟角色和/或所述第二虚拟角色隐身之前,还包括:
11.根据权利要求1-5任一项所述的方法,其特征在于,所述确定第一虚拟角色的目标身体部位的包围体与第二虚拟角色的身体部位的目标包围体接触,包括:
12.根据权利要求1-5任一项所述的方法,其特征在于,所述确定第一虚拟角色的目标身体部位的包围体与第二虚拟角色的目标身体部位的包围体接触,包括:
13.根据权利要求1所述的方法,其特征在于,所述控制所述第一虚拟角色和/或所述第二虚拟角色隐身之前,还包括:
14.根据权利要求13所述的方法,其特征在于,还包括:
15.根据权利要求14所述的方法,其特征在于,所述目标虚拟角色的体型参数包括身高和肩宽。
16.根据权利要求15所述的方法,其特征在于,还包括:
17.根据权利要求14所述的方法,其特征在于,还包括:
18.根据权利要求15所述的方法,其特征在于,所述目标虚拟角色的总包围体为圆柱体,所述根据所述目标虚拟角色的体型参数,确定所述目标虚拟角色的总包围体的尺寸,包括:
19.根据权利要求18所述的方法,其特征在于,根据所述目标虚拟角色的肩宽确定所述圆柱体的半径,包括:
20.根据权利要求15所述的方法,其特征在于,所述目标虚拟角色的总包围体为长方体,所述根据所述目标虚拟角色的体型参数,确定所述目标虚拟角色的总包围体的尺寸,包括:
21.根据权利要求20所述的方法,其特征在于,所述根据所述目标虚拟角色的肩宽确定所述长方体的长度和宽度,包括:
22.根据权利要求18或19所述的方法,其特征在于,所述圆柱体的半径满足以下条件:所述第一虚拟角色与所述第二虚拟角色握手时,第一虚拟角色的包围体与第二虚拟角色的包围体不接触。
23.根据权利要求20或21所述的方法,其特征在于,所述长方体的长度和宽度满足以下条件:所述第一虚拟角色与所述第二虚拟角色握手时,第一虚拟角色的包围体与第二虚拟角色的包围体不接触。
24.根据权利要求13所述的方法,其特征在于,所述检测第一虚拟角色的总包围体与第二虚拟角色的总包围体是否接触,包括:
25.根据权利要求13所述的方法,其特征在于,所述检测第一虚拟角色的总包围体与第二虚拟角色的总包围体是否接触,包括:
26.根据权利要求1-5任一项所述的方法,其特征在于,所述控制所述第一虚拟角色和/或所述第二虚拟角色隐身之前,还包括:
27.根据权利要求26所述的方法,其特征在于,所述社交保护信息包括以下信息中任意一个:所有人可靠近,仅好友可靠近,所有人不可靠近,指定用户不可靠近,指定用户可靠近、黑名单用户不可靠近;
28.根据权利要求27所述的方法,其特征在于,所述根据所述第一虚拟角色的社交保护信息和所述第二虚拟角色的社交保护信息,确定对所述第一虚拟角色和/或所述第二虚拟角色进行隐身,包括:
29.根据权利要求1-5任一项所述的方法,其特征在于,当所述第一虚拟角色和/或所述第二虚拟角色隐身后,隐身的虚拟角色的头牌/手持物品正常显示。
30.根据权利要求1-5任一项所述的方法,其特征在于,控制所述第一虚拟角色和/或所述第二虚拟角色隐身之后,还包括:
31.一种虚拟角色的控制装置,其特征在于,包括:
32.一种电子设备,其特征在于,包括:
33.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至30中任一项所述的方法。
34.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至30中任一项所述的方法。
