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

虚拟对象的动作控制方法、装置、电子设备及存储介质与流程

2022-11-23 10:18:04 来源:中国专利 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.划分模块,被配置为将所述对象骨骼根据动作区域的不同划分为两个或多个控制部分,每个控制部分包含对象骨骼的一或多个相邻的控制节点,其中至少一个控制节点由至少二个相邻的控制部分所共用;
28.控制模块,被配置为对于所述两个或多个控制部分的动作分别进行控制。
29.在本公开一实现方式中,所述划分模块被配置为:
30.根据移动范围和/或移动维度将所述对象骨骼划分为两个或多个控制部分,其中,不同控制部分具有不同的移动范围和/或移动维度,所述控制部分的每一控制节点具有相应的移动参数,所述移动参数根据对应控制部分的移动范围和/或移动维度来设置。
31.在本公开一实现方式中,所述目标对象是拟人化虚拟对象;
32.所述根据移动范围和/或移动维度将所述对象骨骼划分为两个或多个控制部分的部分,被配置为:
33.根据移动范围和/或移动维度将所述对象骨骼划分为三个控制部分:第一控制部分包括头部与腰部之间的对象骨骼对应的控制节点,所述第二控制部分包括颈部与盆骨之
间的对象骨骼对应的控制节点,所述第三控制部分包括盆骨与脚部之间的对象骨骼对应的控制节点。
34.在本公开一实现方式中,所述控制模块被配置为:
35.获取对应于所述两个或多个控制部分中一个或多个控制部分的控制输入;
36.根据所述控制输入设置对应的对象骨骼的控制节点的移动参数;
37.基于所述移动参数对于所述控制部分的动作进行控制。
38.在本公开一实现方式中,所述控制输入为第一预设动作文件或预设动作模型,其中,预设动作模型基于所述第一预设动作文件或其他预设动作文件生成;
39.所述根据所述控制输入设置对应的对象骨骼的控制节点的移动参数的部分,被配置为:
40.根据所述第一预设动作文件或预设动作模型生成对应的对象骨骼的控制节点的移动参数,其中,所述第一预设动作文件中包括控制节点及其对应的动作信息,所述预设动作模型的输入为控制节点信息,输出为控制节点对应的动作信息。
41.在本公开一实现方式中,对于移动范围包括转动移动范围和/或移动维度包括水平轴向移动的控制部分,所述控制输入为跟随目标的位置和/或第二预设动作文件,所述移动参数包括转向参数和位移参数,其中,所述跟随目标与所述目标对象处于同一显示空间中,且所述控制部分与所述跟随目标之间存在联动关系,所述位移参数包括至少一个轴向上的且具有对应于动作变化量的权重系数。
42.在本公开一实现方式中,所述根据所述控制输入设置对应的对象骨骼的控制节点的移动参数的部分,被配置为:
43.确定所述控制部分的转动基准控制点及其位置,获取跟随目标与所述转动基准控制点之间的相对位置信息,根据所述相对位置信息设置所述转向参数,其中,所述转向参数在至少一个控制部分的范围内沿着从所述转动基准控制点至远离所述转动基准控制点的方向上递减;
44.获取第二预设动作文件,根据控制节点的位置关系递增或递减预设轴向上相邻的多个控制部分的权重系数,以控制所述控制部分的控制节点与所述第二预设动作文件之间的融合度。
45.第三方面,本公开实施例提供了一种电子设备,包括存储器和至少一个处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述至少一个处理器执行以实现上述虚拟对象的动作控制方法的方法步骤。
46.第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储虚拟对象的动作控制装置所用的计算机指令,其包含用于执行上述虚拟对象的动作控制方法为虚拟对象的动作控制装置所涉及的计算机指令。
47.第五方面,本公开实施例提供了一种计算机程序产品,包括计算机程序/指令,其中,该计算机程序/指令被处理器执行时实现上述虚拟对象的动作控制方法的方法步骤。
48.本公开实施例提供的技术方案可以包括以下有益效果:
49.上述技术方案将虚拟对象的对象骨骼根据动作区域的不同划分为两个或多个控制部分,并对于两个或多个控制部分的动作分别进行具有时效性的动作控制。该技术方案能够实现虚拟对象的精细控制,从而大大丰富了虚拟对象的呈现效果,提升了用户的观看
体验,并且由于对于各个控制部分的动作控制具有时效性,因此,可大大提高虚拟对象动作调整的灵活性,有利于虚拟对象呈现质量的提高,促进了虚拟对象控制技术的发展。
50.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
51.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
52.图1示出根据本公开一实施方式的虚拟对象的动作控制方法的流程图;
53.图2示出根据本公开一实施方式的控制部分示意图;
54.图3示出根据本公开一实施方式的骨骼权重系数衰减示意图;
55.图4示出根据本公开一实施方式的虚拟对象的动作控制装置的结构框图;
56.图5示出根据本公开一实施方式的电子设备的结构框图;
57.图6是适于用来实现根据本公开一实施方式的虚拟对象的动作控制方法的计算机系统的结构示意图。
具体实施方式
58.下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
59.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
60.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
61.本公开实施例提供的技术方案将虚拟对象的对象骨骼根据动作区域的不同划分为两个或多个控制部分,并对于两个或多个控制部分的动作分别进行具有时效性的动作控制。该技术方案能够实现虚拟对象的精细控制,从而大大丰富了虚拟对象的呈现效果,提升了用户的观看体验,并且由于对于各个控制部分的动作控制具有时效性,因此,可大大提高虚拟对象动作调整的灵活性,有利于虚拟对象呈现质量的提高,促进了虚拟对象控制技术的发展。
62.图1示出根据本公开一实施方式的虚拟对象的动作控制方法的流程图,如图1所示,所述虚拟对象的动作控制方法包括以下步骤s101-s103:
63.在步骤s101中,确定目标对象,其中,所述目标对象包括对象模型和与所述对象模型绑定的对象骨骼。
64.在步骤s102中,将所述对象骨骼根据动作区域的不同划分为两个或多个控制部分,每个控制部分包含对象骨骼的一或多个相邻的控制节点,其中至少一个控制节点由至少二个相邻的控制部分所共用。
65.在步骤s103中,对于所述控制部分的动作分别进行控制。
66.上文提及,随着互联网技术的发展,直播领域的虚拟主播、游戏领域中的虚拟角色、教育领域中的虚拟讲师等虚拟对象的应用越来越广泛。现有技术中通常是预先设置好虚拟对象的动作数据文件,在虚拟对象呈现时,使用预设动作数据文件驱动所述虚拟对象进行肢体动作。这种动作驱动方式不仅呈现效果单一,而且由于动作数据文件是预先设置的,一旦生成并开始执行,就难以修改,很多情况下需要重新制作动作数据文件,这就会大大降低虚拟对象的呈现灵活性,损害用户的观看体验,不利于虚拟对象呈现质量的提高。
67.考虑到上述缺陷,在该实施方式中,提出一种动作控制方法,该方法将虚拟对象的对象骨骼根据动作区域的不同划分为两个或多个控制部分,并对于两个或多个控制部分的动作分别进行具有时效性的动作控制。该技术方案能够实现虚拟对象的精细控制,从而大大丰富了虚拟对象的呈现效果,提升了用户的观看体验,并且由于对于各个控制部分的动作控制具有时效性,因此,可大大提高虚拟对象动作调整的灵活性,有利于虚拟对象呈现质量的提高,促进了虚拟对象控制技术的发展。
68.在本公开一实施方式中,所述虚拟对象的动作控制方法可适用于对于虚拟对象的动作进行控制的计算机、计算设备、电子设备、服务器、服务集群等动作控制方。
69.在本公开一实施方式中,所述目标对象指的是需要对其动作进行控制的虚拟主播、虚拟讲师、虚拟角色、虚拟人物、虚拟动物等虚拟对象。
70.其中,所述目标对象包括对象模型和与所述对象模型绑定的对象骨骼,所述对象模型用于呈现所述虚拟对象的外部形状,所述对象骨骼设置有对应的控制节点,覆盖所述对象模型的主要部分,比如虚拟人物的头发、五官、头部、颈部、肩部、上肢、胳膊、手、胸部、腰部、躯干、盆骨、下肢、腿、脚等部位,虚拟动物的头部、颈部、上肢、下肢、前肢、后肢、躯干、尾部、腿部、足部、毛发等部位,以在与所述对象模型绑定后能够带动所述对象模型进行运动。
71.在本公开一实施方式中,为了使得所述目标对象的组成更为丰富,最终实现拟人化的目的,所述对象模型包括身体、头发、衣服、肢体等全部位的模型,在与所述对象骨骼进行绑定时,既可使某一对象模型包括上述全部位的部分,然后将包括全部位部分的对象模型与对应的对象骨骼进行绑定,也可分别设置与身体、头发、衣服等部位对应的子模型,然后再将各个子模型与对应的对象骨骼进行绑定。本领域技术人员在实际应用中,可根据实际应用的需要选择对象模型的表现形式和与对象骨骼的绑定方式,本公开对其不作特别限定。
72.在本公开一实施方式中,所述控制部分指的是将所述对象骨骼根据动作区域的不同划分成的组成部分,其中,每个控制部分包含对象骨骼的一或多个相邻的控制节点,至少一个控制节点由至少二个相邻的控制部分所共用,也就是说,至少二个相邻的控制部分的控制节点会存在交叉或重叠。当然,所述控制部分的划分也可根据实际应用的需要来进行设置。
73.在上述实施方式中,首先确定需要进行动作控制的目标对象,然后将所述目标对象根据对象骨骼动作区域的不同划分为两个或多个控制部分,最后对于所述两个或多个控制部分的动作分别进行控制,以实现对于虚拟对象动作的精细控制,使得虚拟对象的动作更为拟人化,更具生命感。
74.在本公开一实施方式中,所述步骤s102,即将所述对象骨骼根据动作区域的不同
划分为两个或多个控制部分的步骤,可包括以下步骤:
75.根据移动范围和/或移动维度将所述对象骨骼划分为两个或多个控制部分,其中,不同控制部分具有不同的移动范围和/或移动维度,所述控制部分的每一控制节点具有相应的移动参数,所述移动参数根据对应控制部分的移动范围和/或移动维度来设置。
76.为了使得不同控制部分的划分更合理、更贴合真实对象的动作特点,进而使得所述目标对象的动作更真实,对于所述对象模型的控制更有针对性、更准确、更精细化。在该实施方式中,根据所述对象骨骼的移动范围和/或移动维度将所述对象骨骼划分为两个或多个控制部分,以实现目标对象的分区控制。其中,不同控制部分具有不同的移动范围和/或移动维度,为了对于每一控制部分的控制节点进行精确的控制,所述控制部分的每一控制节点设置有相应的移动参数,而所述移动参数是根据对应控制部分的移动范围和/或移动维度来设置的。
77.比如,考虑到所述目标对象的对象骨骼的头尾和躯干部分的移动范围通常是不相同的,因此,可将所述目标对象的对象骨骼按照移动范围的不同划分为三个控制部分:第一控制部分包括移动范围位于目标对象上部或前部的控制节点,当所述目标对象为虚拟人物时,所述第一控制部分可包括移动范围位于目标对象上部的控制节点,当所述目标对象为虚拟动物时,所述第一控制部分可包括移动范围位于目标对象前部的控制节点;第二控制部分包括移动范围位于目标对象中部的控制节点;第三控制部分包括移动范围位于目标对象下部或后部的控制节点,当所述目标对象为虚拟人物时,所述第一控制部分包括移动范围位于目标对象下部的控制节点,当所述目标对象为虚拟动物时,所述第一控制部分包括移动范围位于目标对象后部的控制节点。
78.更为具体地,当所述目标对象为拟人化虚拟对象,比如虚拟人物时,在本公开一实施方式中,所述根据移动范围和/或移动维度将所述对象骨骼划分为两个或多个控制部分,可包括以下步骤:
79.根据移动范围和/或移动维度将所述对象骨骼划分为三个控制部分:所述第一控制部分包括头部与腰部之间的对象骨骼对应的控制节点,比如,头发、五官、头部、颈部、肩部、上肢、胳膊、手、胸部、腰部以及对应位置的衣服等部分的对象骨骼对应的控制节点;所述第二控制部分包括颈部与盆骨之间的对象骨骼对应的控制节点,比如,颈部、肩部、上肢、胳膊、手、胸部、腰部、盆骨以及对应位置的衣服等部分的对象骨骼对应的控制节点;第三控制部分包括盆骨与脚部之间的对象骨骼对应的控制节点,比如,盆骨、下肢、腿、脚以及对应位置的衣服等部分的对象骨骼对应的控制节点,如图2所示。后续即可对于这三个控制部分的动作分别进行控制。
80.在本公开一实施方式中,所述步骤s103,即对于所述两个或多个控制部分的动作分别进行控制的步骤,可包括以下步骤:
81.获取对应于所述两个或多个控制部分中一个或多个控制部分的控制输入。
82.根据所述控制输入设置对应的对象骨骼的控制节点的移动参数。
83.基于所述移动参数对于所述控制部分的动作进行控制。
84.为了实现控制部分的动作可控,使得控制部分能够按照实际应用的所需来进行动作,在该实施方式中,将所述控制部分的动作控制与控制输入相关联,即根据所述控制输入来设置对应的对象骨骼的控制节点的移动参数,然后即可基于所述移动参数对于所述控制
部分的动作进行控制。其中,所述控制输入指的是用以控制所述控制部分的动作的输入数据,所述控制输入比如可以为预先设置或生成的动作文件、预先设置的跟随目标的位移、或者其他输入,其中,所述动作文件中包括不同控制节点及其对应的移动参数。比如,若所述控制输入为预先设置或生成的动作文件,则所述控制部分的控制节点的移动参数可根据所述动作文件描述的控制节点动作数据来确定,并进一步根据确定的移动参数来对相应控制部分的动作进行控制;再比如,若所述控制输入为预先设置的跟随目标的位移,则所述控制部分的控制节点的移动参数可根据所述跟随目标位移的变化而变化,进而对于所述控制部分的动作进行控制。其中,不同控制部分的控制输入可以相同、可以不同、也可以部分相同或者存在交叉或重叠。
85.在本公开一实施方式中,所述控制输入为第一预设动作文件或预设动作模型,其中,所述预设动作模型可基于所述第一预设动作文件或其他不同于所述第一预设动作文件的预设动作文件来学习生成。
86.在该实施方式中,所述根据所述控制输入设置对应的对象骨骼的控制节点的移动参数的步骤,可包括以下步骤:
87.根据所述第一预设动作文件或预设动作模型生成对应的对象骨骼的控制节点的移动参数,其中,所述第一预设动作文件中包括控制节点及其对应的移动参数,所述预设动作模型的输入为控制节点信息,输出为控制节点对应的移动参数。
88.在该实施方式中,当所述控制输入为第一预设动作文件时,可根据所述第一预设动作文件中描述的控制节点及其对应的移动参数来生成对应的对象骨骼的控制节点的移动参数。当所述控制输入为预设动作模型时,可将某一控制节点信息输入至所述预设动作模型中,即可得到所述预设动作模型输出的对应该控制节点的移动参数。
89.以所述目标对象为拟人化虚拟对象为例,考虑到包括颈部与盆骨之间的对象骨骼对应的控制节点的第二控制部分的动作重要性较高,其动作准确性也应当最高,因此,可使所述第二控制部分的控制输入为第一预设动作文件,即按照所述第一预设动作文件中描述的控制节点及其对应的移动参数来生成对应控制部分的控制节点的移动参数,并根据确定的移动参数对于该控制部分的动作进行控制。考虑到包括盆骨与脚部之间的对象骨骼对应的控制节点的第三控制部分的动作可在所述第二控制部分动作的带动下来完成,因此,可使所述第三控制部分的控制输入为基于所述第一预设动作文件学习生成的预设动作模型,即根据所述第一预设动作文件学习得到所述第三控制部分的控制节点的动作所依赖的预设动作模型,将所述第三控制节点信息输入至所述预设动作模型中,所述预设动作模型的输出即为该控制节点的移动参数。
90.其中,基于所述第一预设动作文件或其他不同于所述第一预设动作文件的预设动作文件的学习可使用现有技术中的数据学习技术,比如,将所述第一预设动作文件、第二控制部分和第三控制部分的控制节点信息作为输入,将第三控制部分的移动参数作为输出进行动作数据模型的训练,训练得到的动作数据模型即可用于第三控制部分移动参数的确定,即将所述第三控制节点信息输入至所述动作数据模型中,即可得到学习得到的第三控制部分相应控制节点的移动参数。
91.在本公开一实施方式中,对于移动范围包括转动移动范围和/或移动维度包括水平轴向移动的控制部分,即发生转动动作的控制部分,比如拟人化虚拟对象中包括头部与
腰部之间的对象骨骼对应的控制节点的第一控制部分,所述控制输入可以为跟随目标的位置和/或第二预设动作文件,而所述移动参数可包括转向参数和位移参数,其中,所述转向参数可包括转向时间、转向角度、转向后的停留时间等参数。也就是说,发生转动动作的控制部分既可基于跟随目标的位置设置其对应控制节点的移动参数,也可与其他控制部分类似,基于预设动作文件来设置其对应控制节点的移动参数。其中,所述跟随目标与所述目标对象处于同一显示空间中,且所述控制部分与所述跟随目标之间存在联动关系,也就是说,所述跟随目标的设置可实现对于目标对象视线注意力的控制,使得所述目标对象的动作更具目的性,且更为真实和自然。其中,所述位移参数包括至少一个轴向上的且具有对应于动作变化量的权重系数。
92.在该实施方式中,所述根据所述控制输入设置对应的对象骨骼的控制节点的移动参数的步骤,可包括以下步骤:
93.确定所述控制部分的转动基准控制点及其位置,获取跟随目标与所述转动基准控制点之间的相对位置信息,根据所述相对位置信息设置所述转向参数,其中,所述转向参数在至少一个控制部分的范围内沿着从所述转动基准控制点至远离所述转动基准控制点的方向上递减。
94.获取第二预设动作文件,根据控制节点的位置关系递增或递减预设轴向上相邻的多个控制部分的权重系数,以控制所述控制部分的控制节点与所述第二预设动作文件之间的融合度。
95.在该实施方式中,当所述控制输入为跟随目标的位置时,可先确定所述控制部分的转动基准控制点及其位置,然后确定所述跟随目标与所述转动基准控制点之间的相对位置信息,最后根据所述相对位置信息来设置所述转向参数,其中,所述转向参数在至少一个控制部分的范围内沿着从所述转动基准控制点至远离所述转动基准控制点的方向上递减,即使得所述控制部分的控制节点的转向幅度沿着从所述转动基准控制点至远离所述转动基准控制点的方向上递减,并且该衰减关系有可能横跨二个控制部分甚至三个控制部分。比如,以所述目标对象为拟人化虚拟对象包括头部与腰部之间的对象骨骼对应的控制节点的第一控制部分为例,可将第一控制部分的头部,更具体地,比如眼部,作为所述转动基准控制点,然后确定所述跟随目标与所述转动基准控制点之间的相对位置信息,并根据所述相对位置信息来设置所述转向参数,以使得所述目标对象的头部及身体跟随着所述跟随目标的移动而自然地转动。
96.另一方面,考虑到所述目标对象有可能还需完成预设的其他动作目标,因此所述控制输入还可包括第二预设动作文件,此时,考虑到真实对象在头部受到跟随目标的控制下,其头部动作应主要受跟随目标的影响,而其靠近躯干部分的动作应主要受第二预设动作文件的影响,也就是说,为了提高目标对象动作的真实性,需根据控制节点的位置关系递增或递减预设轴向上相邻的多个控制部分的权重系数,以控制所述控制部分的控制节点与所述第二预设动作文件之间的融合度,使得所述目标对象的动作更为自然,其中,所述骨骼权重系数用于表征每根骨骼影响模型的区域范围,或者每根骨骼对于模型的影响力大小。比如,可将某一控制部分相应的骨骼权重系数设置为从上至下或者从前至后逐渐衰减,以使得相应的对象骨骼与预设动作文件之间的融合度从上至下或者从前至后呈现递减的趋势。比如,以所述目标对象为虚拟人物为例,可将所述目标对象头部的骨骼权重系数设置为
100%,将所述目标对象颈部的骨骼权重系数设置为80%,将所述目标对象肩部的骨骼权重系数设置为50%,将所述目标对象胸部的骨骼权重系数设置为20%,如图3所示。其中,骨骼权重系数的衰减顺序和衰减幅度可根据实际应用的需要进行设置,本公开对其不作具体限定。
97.在本公开一实施方式中,所述第一预设动作文件和第二预设动作文件可通过预先制作或者动作捕捉来得到,其中,所述第一预设动作文件和第二预设动作文件可以相同也可以不相同,本领域技术人员可根据实际应用的需要对于所述预设动作文件的内容以及所述预设动作文件之间的关系进行设置。
98.上述虚拟对象的动作控制方法可用于多种应用场景中,比如,销售场景、教育场景、表演场景、展示场景、旅游场景、社交场景等等。
99.下述为本公开装置实施例,可以用于执行本公开方法实施例。
100.图4示出根据本公开一实施方式的虚拟对象的动作控制装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,所述虚拟对象的动作控制装置包括:
101.确定模块401,被配置为确定目标对象,其中,所述目标对象包括对象模型和与所述对象模型绑定的对象骨骼。
102.划分模块402,被配置为将所述对象骨骼根据动作区域的不同划分为两个或多个控制部分,每个控制部分包含对象骨骼的一或多个相邻的控制节点,其中至少一个控制节点由至少二个相邻的控制部分所共用。
103.控制模块403,被配置为对于所述两个或多个控制部分的动作分别进行控制。
104.上文提及,随着互联网技术的发展,直播领域的虚拟主播、游戏领域中的虚拟角色、教育领域中的虚拟讲师等虚拟对象的应用越来越广泛。现有技术中通常是预先设置好虚拟对象的动作数据文件,在虚拟对象呈现时,使用预设动作数据文件驱动所述虚拟对象进行肢体动作。这种动作驱动方式不仅呈现效果单一,而且由于动作数据文件是预先设置的,一旦生成并开始执行,就难以修改,很多情况下需要重新制作动作数据文件,这就会大大降低虚拟对象的呈现灵活性,损害用户的观看体验,不利于虚拟对象呈现质量的提高。
105.考虑到上述缺陷,在该实施方式中,提出一种动作控制装置,该装置将虚拟对象的对象骨骼根据动作区域的不同划分为两个或多个控制部分,并对于两个或多个控制部分的动作分别进行具有时效性的动作控制。该技术方案能够实现虚拟对象的精细控制,从而大大丰富了虚拟对象的呈现效果,提升了用户的观看体验,并且由于对于各个控制部分的动作控制具有时效性,因此,可大大提高虚拟对象动作调整的灵活性,有利于虚拟对象呈现质量的提高,促进了虚拟对象控制技术的发展。
106.在本公开一实施方式中,所述虚拟对象的动作控制装置可实现为对于虚拟对象的动作进行控制的计算机、计算设备、电子设备、服务器、服务集群等动作控制方。
107.在本公开一实施方式中,所述目标对象指的是需要对其动作进行控制的虚拟主播、虚拟讲师、虚拟角色、虚拟人物、虚拟动物等虚拟对象。
108.其中,所述目标对象包括对象模型和与所述对象模型绑定的对象骨骼,所述对象模型用于呈现所述虚拟对象的外部形状,所述对象骨骼设置有对应的控制节点,覆盖所述对象模型的主要部分,比如虚拟人物的头发、五官、头部、颈部、肩部、上肢、胳膊、手、胸部、
腰部、躯干、盆骨、下肢、腿、脚等部位,虚拟动物的头部、颈部、上肢、下肢、前肢、后肢、躯干、尾部、腿部、足部、毛发等部位,以在与所述对象模型绑定后能够带动所述对象模型进行运动。
109.在本公开一实施方式中,为了使得所述目标对象的组成更为丰富,最终实现拟人化的目的,所述对象模型包括身体、头发、衣服、肢体等全部位的模型,在与所述对象骨骼进行绑定时,既可使某一对象模型包括上述全部位的部分,然后将包括全部位部分的对象模型与对应的对象骨骼进行绑定,也可分别设置与身体、头发、衣服等部位对应的子模型,然后再将各个子模型与对应的对象骨骼进行绑定。本领域技术人员在实际应用中,可根据实际应用的需要选择对象模型的表现形式和与对象骨骼的绑定方式,本公开对其不作特别限定。
110.在本公开一实施方式中,所述控制部分指的是将所述对象骨骼根据动作区域的不同划分成的组成部分,其中,每个控制部分包含对象骨骼的一或多个相邻的控制节点,至少一个控制节点由至少二个相邻的控制部分所共用,也就是说,至少二个相邻的控制部分的控制节点会存在交叉或重叠。当然,所述控制部分的划分也可根据实际应用的需要来进行设置。
111.在上述实施方式中,首先确定需要进行动作控制的目标对象,然后将所述目标对象根据对象骨骼动作区域的不同划分为两个或多个控制部分,最后对于所述两个或多个控制部分的动作分别进行控制,以实现对于虚拟对象动作的精细控制,使得虚拟对象的动作更为拟人化,更具生命感。
112.在本公开一实施方式中,所述划分模块402可被配置为:
113.根据移动范围和/或移动维度将所述对象骨骼划分为两个或多个控制部分,其中,不同控制部分具有不同的移动范围和/或移动维度,所述控制部分的每一控制节点具有相应的移动参数,所述移动参数根据对应控制部分的移动范围和/或移动维度来设置。
114.为了使得不同控制部分的划分更合理、更贴合真实对象的动作特点,进而使得所述目标对象的动作更真实,对于所述对象模型的控制更有针对性、更准确、更精细化。在该实施方式中,根据所述对象骨骼的移动范围和/或移动维度将所述对象骨骼划分为两个或多个控制部分,以实现目标对象的分区控制。其中,不同控制部分具有不同的移动范围和/或移动维度,为了对于每一控制部分的控制节点进行精确的控制,所述控制部分的每一控制节点设置有相应的移动参数,而所述移动参数是根据对应控制部分的移动范围和/或移动维度来设置的。
115.比如,考虑到所述目标对象的对象骨骼的头尾和躯干部分的移动范围通常是不相同的,因此,可将所述目标对象的对象骨骼按照移动范围的不同划分为三个控制部分:第一控制部分包括移动范围位于目标对象上部或前部的控制节点,当所述目标对象为虚拟人物时,所述第一控制部分可包括移动范围位于目标对象上部的控制节点,当所述目标对象为虚拟动物时,所述第一控制部分可包括移动范围位于目标对象前部的控制节点;第二控制部分包括移动范围位于目标对象中部的控制节点;第三控制部分包括移动范围位于目标对象下部或后部的控制节点,当所述目标对象为虚拟人物时,所述第一控制部分包括移动范围位于目标对象下部的控制节点,当所述目标对象为虚拟动物时,所述第一控制部分包括移动范围位于目标对象后部的控制节点。
116.更为具体地,当所述目标对象为拟人化虚拟对象,比如虚拟人物时,在本公开一实施方式中,所述根据移动范围和/或移动维度将所述对象骨骼划分为两个或多个控制部分的部分,可被配置为:
117.根据移动范围和/或移动维度将所述对象骨骼划分为三个控制部分:所述第一控制部分包括头部与腰部之间的对象骨骼对应的控制节点,比如,头发、五官、头部、颈部、肩部、上肢、胳膊、手、胸部、腰部以及对应位置的衣服等部分的对象骨骼对应的控制节点;所述第二控制部分包括颈部与盆骨之间的对象骨骼对应的控制节点,比如,颈部、肩部、上肢、胳膊、手、胸部、腰部、盆骨以及对应位置的衣服等部分的对象骨骼对应的控制节点;第三控制部分包括盆骨与脚部之间的对象骨骼对应的控制节点,比如,盆骨、下肢、腿、脚以及对应位置的衣服等部分的对象骨骼对应的控制节点,如图2所示。后续即可对于这三个控制部分的动作分别进行控制。
118.在本公开一实施方式中,所述控制模块403可被配置为:
119.获取对应于所述两个或多个控制部分中一个或多个控制部分的控制输入。
120.根据所述控制输入设置对应的对象骨骼的控制节点的移动参数。
121.基于所述移动参数对于所述控制部分的动作进行控制。
122.为了实现控制部分的动作可控,使得控制部分能够按照实际应用的所需来进行动作,在该实施方式中,将所述控制部分的动作控制与控制输入相关联,即根据所述控制输入来设置对应的对象骨骼的控制节点的移动参数,然后即可基于所述移动参数对于所述控制部分的动作进行控制。其中,所述控制输入指的是用以控制所述控制部分的动作的输入数据,所述控制输入比如可以为预先设置或生成的动作文件、预先设置的跟随目标的位移、或者其他输入,其中,所述动作文件中包括不同控制节点及其对应的移动参数。比如,若所述控制输入为预先设置或生成的动作文件,则所述控制部分的控制节点的移动参数可根据所述动作文件描述的控制节点动作数据来确定,并进一步根据确定的移动参数来对相应控制部分的动作进行控制;再比如,若所述控制输入为预先设置的跟随目标的位移,则所述控制部分的控制节点的移动参数可根据所述跟随目标位移的变化而变化,进而对于所述控制部分的动作进行控制。其中,不同控制部分的控制输入可以相同、可以不同、也可以部分相同或者存在交叉或重叠。
123.在本公开一实施方式中,所述控制输入为第一预设动作文件或预设动作模型,其中,所述预设动作模型可基于所述第一预设动作文件或其他不同于所述第一预设动作文件的预设动作文件来学习生成。
124.在该实施方式中,所述根据所述控制输入设置对应的对象骨骼的控制节点的移动参数的部分,可被配置为:
125.根据所述第一预设动作文件或预设动作模型生成对应的对象骨骼的控制节点的移动参数,其中,所述第一预设动作文件中包括控制节点及其对应的移动参数,所述预设动作模型的输入为控制节点信息,输出为控制节点对应的移动参数。
126.在该实施方式中,当所述控制输入为第一预设动作文件时,可根据所述第一预设动作文件中描述的控制节点及其对应的移动参数来生成对应的对象骨骼的控制节点的移动参数。当所述控制输入为预设动作模型时,可将某一控制节点信息输入至所述预设动作模型中,即可得到所述预设动作模型输出的对应该控制节点的移动参数。
127.以所述目标对象为拟人化虚拟对象为例,考虑到包括颈部与盆骨之间的对象骨骼对应的控制节点的第二控制部分的动作重要性较高,其动作准确性也应当最高,因此,可使所述第二控制部分的控制输入为第一预设动作文件,即按照所述第一预设动作文件中描述的控制节点及其对应的移动参数来生成对应控制部分的控制节点的移动参数,并根据确定的移动参数对于该控制部分的动作进行控制。考虑到包括盆骨与脚部之间的对象骨骼对应的控制节点的第三控制部分的动作可在所述第二控制部分动作的带动下来完成,因此,可使所述第三控制部分的控制输入为基于所述第一预设动作文件学习生成的预设动作模型,即根据所述第一预设动作文件学习得到所述第三控制部分的控制节点的动作所依赖的预设动作模型,将所述第三控制节点信息输入至所述预设动作模型中,所述预设动作模型的输出即为该控制节点的移动参数。
128.其中,基于所述第一预设动作文件或其他不同于所述第一预设动作文件的预设动作文件的学习可使用现有技术中的数据学习技术,比如,将所述第一预设动作文件、第二控制部分和第三控制部分的控制节点信息作为输入,将第三控制部分的移动参数作为输出进行动作数据模型的训练,训练得到的动作数据模型即可用于第三控制部分移动参数的确定,即将所述第三控制节点信息输入至所述动作数据模型中,即可得到学习得到的第三控制部分相应控制节点的移动参数。
129.在本公开一实施方式中,对于移动范围包括转动移动范围和/或移动维度包括水平轴向移动的控制部分,即发生转动动作的控制部分,比如拟人化虚拟对象中包括头部与腰部之间的对象骨骼对应的控制节点的第一控制部分,所述控制输入可以为跟随目标的位置和/或第二预设动作文件,而所述移动参数可包括转向参数和位移参数,其中,所述转向参数可包括转向时间、转向角度、转向后的停留时间等参数。也就是说,发生转动动作的控制部分既可基于跟随目标的位置设置其对应控制节点的移动参数,也可与其他控制部分类似,基于预设动作文件来设置其对应控制节点的移动参数。其中,所述跟随目标与所述目标对象处于同一显示空间中,且所述控制部分与所述跟随目标之间存在联动关系,也就是说,所述跟随目标的设置可实现对于目标对象视线注意力的控制,使得所述目标对象的动作更具目的性,且更为真实和自然。其中,所述位移参数包括至少一个轴向上的且具有对应于动作变化量的权重系数。
130.在该实施方式中,所述根据所述控制输入设置对应的对象骨骼的控制节点的移动参数的部分,可被配置为:
131.确定所述控制部分的转动基准控制点及其位置,获取跟随目标与所述转动基准控制点之间的相对位置信息,根据所述相对位置信息设置所述转向参数,其中,所述转向参数在至少一个控制部分的范围内沿着从所述转动基准控制点至远离所述转动基准控制点的方向上递减。
132.获取第二预设动作文件,根据控制节点的位置关系递增或递减预设轴向上相邻的多个控制部分的权重系数,以控制所述控制部分的控制节点与所述第二预设动作文件之间的融合度。
133.在该实施方式中,当所述控制输入为跟随目标的位置时,可先确定所述控制部分的转动基准控制点及其位置,然后确定所述跟随目标与所述转动基准控制点之间的相对位置信息,最后根据所述相对位置信息来设置所述转向参数,其中,所述转向参数在至少一个
控制部分的范围内沿着从所述转动基准控制点至远离所述转动基准控制点的方向上递减,即使得所述控制部分的控制节点的转向幅度沿着从所述转动基准控制点至远离所述转动基准控制点的方向上递减,并且该衰减关系有可能横跨二个控制部分甚至三个控制部分。比如,以所述目标对象为拟人化虚拟对象包括头部与腰部之间的对象骨骼对应的控制节点的第一控制部分为例,可将第一控制部分的头部,更具体地,比如眼部,作为所述转动基准控制点,然后确定所述跟随目标与所述转动基准控制点之间的相对位置信息,并根据所述相对位置信息来设置所述转向参数,以使得所述目标对象的头部及身体跟随着所述跟随目标的移动而自然地转动。
134.另一方面,考虑到所述目标对象有可能还需完成预设的其他动作目标,因此所述控制输入还可包括第二预设动作文件,此时,考虑到真实对象在头部受到跟随目标的控制下,其头部动作应主要受跟随目标的影响,而其靠近躯干部分的动作应主要受第二预设动作文件的影响,也就是说,为了提高目标对象动作的真实性,需根据控制节点的位置关系递增或递减预设轴向上相邻的多个控制部分的权重系数,以控制所述控制部分的控制节点与所述第二预设动作文件之间的融合度,使得所述目标对象的动作更为自然,其中,所述骨骼权重系数用于表征每根骨骼影响模型的区域范围,或者每根骨骼对于模型的影响力大小。比如,可将某一控制部分相应的骨骼权重系数设置为从上至下或者从前至后逐渐衰减,以使得相应的对象骨骼与预设动作文件之间的融合度从上至下或者从前至后呈现递减的趋势。比如,以所述目标对象为虚拟人物为例,可将所述目标对象头部的骨骼权重系数设置为100%,将所述目标对象颈部的骨骼权重系数设置为80%,将所述目标对象肩部的骨骼权重系数设置为50%,将所述目标对象胸部的骨骼权重系数设置为20%,如图3所示。其中,骨骼权重系数的衰减顺序和衰减幅度可根据实际应用的需要进行设置,本公开对其不作具体限定。
135.在本公开一实施方式中,所述第一预设动作文件和第二预设动作文件可通过预先制作或者动作捕捉来得到,其中,所述第一预设动作文件和第二预设动作文件可以相同也可以不相同,本领域技术人员可根据实际应用的需要对于所述预设动作文件的内容以及所述预设动作文件之间的关系进行设置。
136.本公开还公开了一种电子设备,图5示出根据本公开一实施方式的电子设备的结构框图,如图5所示,所述电子设备500包括存储器501和处理器502;其中,
137.所述存储器501用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器502执行以实现上述方法步骤。
138.图6是适于用来实现根据本公开一实施方式的虚拟对象的动作控制方法的计算机系统的结构示意图。
139.如图6所示,计算机系统600包括处理单元601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行上述实施方式中的各种处理。在ram603中,还存储有系统600操作所需的各种程序和数据。处理单元601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
140.以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;
以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。其中,所述处理单元601可实现为cpu、gpu、tpu、fpga、npu等处理单元。
141.附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
142.描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
143.作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
144.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献