1.本公开涉及计算机技术领域,具体而言,涉及一种虚拟角色的驱动方法、装置、电子设备和存储介质。
背景技术:
2.近年来,虚拟形象直播在视频直播业务中占据着越来越大的比例,虚拟形象直播是以特定的虚拟形象替代主播的真实形象进行视频直播,具体的,通过外置硬件设备获取关于演员(中之人)的动作表情数据的控制信号,并驱动3d引擎中的虚拟形象动作。
3.然而,由于演员与虚拟形象之间的身材存在差异(比如身高不同),导致在由演员做出某些动作(比如鼓掌动作)时,虚拟形象的动作却达不到预期的效果,例如,若演员已经实现鼓掌的动作,但是由于虚拟形象的手臂较短,虚拟形象的两支手掌之间却并未接触,进而出现虚空现象。
技术实现要素:
4.本公开实施例至少提供一种虚拟角色的驱动方法、装置、电子设备及存储介质。
5.本公开实施例提供了一种虚拟角色的驱动方法,应用于电子设备,所述电子设备运行3d渲染环境,所述3d渲染环境中包含3d场景信息,所述3d场景信息用于渲染后生成3d场景,所述3d场景信息包含至少一个虚拟角色信息,所述虚拟角色信息用于渲染后生成虚拟角色,所述方法包括:
6.通过动作捕捉设备获取所述虚拟角色的控制信息,所述控制信息用于驱动所述虚拟角色做出目标动作,所述动作捕捉设备包含多个待识别特征点,所述待识别特征点分别匹配所述虚拟角色的受控特征点,其中至少两组所述待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值;
7.在所述目标动作为符合条件的接触动作情况下,对所述控制信息进行调整,得到目标控制信息;
8.基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
9.本公开实施例中,在动作捕捉设备的待识别特征点,和与之匹配的虚拟角色的受控特征点之间的间距的比例大于预设比例阈值的情况下,也即,演员与虚拟角色模型不匹配的情况下,若检测到目标动作为符合条件的接触动作,则对获取到的控制信息进行调整,得到目标控制信息,再基于所述目标控制信息,驱动所述虚拟角色做出相应动作,如此,可以使得虚拟角色所做出的动作符合预期效果,达到与演员的接触动作一致的效果,提升了虚拟角色的视觉效果。
10.在一种可能的实施方式中,所述对所述控制信息进行调整,得到目标控制信息,包括:
11.判断所述目标动作是否属于预设的接触动作;
12.在所述目标动作属于所述预设的接触动作的情况下,基于预设的接触动作与调整
策略的映射关系表,确定与所述目标动作匹配的预设调整策略;
13.基于所述预设调整策略,对所述控制信息进行调整,得到所述目标控制信息。
14.本公开实施例中,在目标动作属于预设的接触动作的情况下,可以根据预设的接触动作与调整策略的映射关系表,直接确定与目标动作匹配的预设调整策略,如此,可以提升调整策略的确定效率,进而提升控制信息的调整效率。
15.在一种可能的实施方式中,所述3d场景中存在多个虚拟角色,每个虚拟角色对应不同的调整策略;所述确定与所述目标动作匹配的预设调整策略,包括:
16.确定与所述目标动作匹配的目标虚拟角色;
17.确定与所述目标虚拟角色对应的预设调整策略。
18.本公开实施例中,在3d场景中存在多个虚拟角色的情况下,根据不同的虚拟角色,确定相应的预设调整策略,如此,使得调整后的控制信息更加符合对应的虚拟角色,进一步提升了目标动作的预期效果。
19.在一种可能的实施方式中,所述方法还包括:
20.在所述目标动作不属于所述预设的接触动作情况下,基于所述目标动作的属性信息,确定目标调整策略;
21.基于所述目标调整策略,对所述控制信息进行调整,得到所述目标控制信息。
22.本公开实施例中,在目标动作不属于预设的接触动作情况下,基于目标动作的属性信息,确定目标调整策略,使得所确定的目标调整策略符合当前目标动作的调整需求,进而使得调整后的动作达到预期效果。
23.在一种可能的实施方式中,所述基于所述目标控制信息,驱动所述虚拟角色做出相应动作,包括:
24.判断所述目标控制信息是否达到预设要求;
25.在所述目标控制信息达到所述预设要求的情况下,基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
26.在一种可能的实施方式中,所述方法还包括:
27.在所述目标控制信息未达到所述预设要求的情况下,调整所述虚拟角色信息,得到调整后的虚拟角色信息;所述调整后的虚拟角色信息用于渲染后生成调整后的虚拟角色;
28.基于所述目标控制信息,驱动所述调整后的虚拟角色做出相应动作。
29.本公开实施例中,在目标控制信息未达到预设要求的情况下,还对虚拟角色信息进行调整,如此,使得虚拟角色做出的相应动作达到预期要求。
30.在一种可能的实施方式中,所述调整所述虚拟角色信息,包括:
31.根据所述目标控制信息,确定所述虚拟角色的动作部位;
32.对所述动作部位的长度信息进行调整。
33.本公开实施例中,通过控制信息确定动作部位,进而可以对动作部位的长度信息进行调整,如此可以提高虚拟角色信息调整的效率。
34.本公开实施例提供了一种虚拟角色的驱动装置,包括:
35.获取模块,用于通过动作捕捉设备获取所述虚拟角色的控制信息,所述控制信息用于驱动所述虚拟角色做出目标动作,所述动作捕捉设备包含多个待识别特征点,所述待
识别特征点分别匹配所述虚拟角色的受控特征点,其中至少两组所述待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值;
36.调整模块,用于在所述目标动作为符合条件的接触动作情况下,对所述控制信息进行调整,得到目标控制信息;
37.驱动模块,用于基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
38.在一种可能的实施方式中,所述调整模块具体用于:
39.判断所述目标动作是否属于预设的接触动作;
40.在所述目标动作属于所述预设的接触动作的情况下,基于预设的接触动作与调整策略的映射关系表,确定与所述目标动作匹配的预设调整策略;
41.基于所述预设调整策略,对所述控制信息进行调整,得到所述目标控制信息。
42.在一种可能的实施方式中,所述3d场景中存在多个虚拟角色,每个虚拟角色对应不同的调整策略;所述调整模块具体用于:
43.确定与所述目标动作匹配的目标虚拟角色;
44.确定与所述目标虚拟角色对应的预设调整策略。
45.在一种可能的实施方式中,所述调整模块还用于:
46.在所述目标动作不属于所述预设的接触动作情况下,基于所述目标动作的属性信息,确定目标调整策略;
47.基于所述目标调整策略,对所述控制信息进行调整,得到所述目标控制信息。
48.在一种可能的实施方式中,所述驱动模块具体用于:
49.判断所述目标控制信息是否达到预设要求;
50.在所述目标控制信息达到所述预设要求的情况下,基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
51.在一种可能的实施方式中,所述驱动模块具体用于:
52.在所述目标控制信息未达到所述预设要求的情况下,调整所述虚拟角色信息,得到调整后的虚拟角色信息;所述调整后的虚拟角色信息用于渲染后生成调整后的虚拟角色;
53.基于所述目标控制信息,驱动所述调整后的虚拟角色做出相应动作。
54.本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上所述的虚拟角色的驱动方法。
55.本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上所述的虚拟角色的驱动方法。
56.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
57.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出
了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
58.图1示出了本公开实施例所提供的第一种虚拟角色的驱动方法的流程图;
59.图2示出了本公开实施例所提供的一种虚拟角色和演员之间的关系示意图;
60.图3示出了本公开实施例所提供的一种根据目标动作确定调整策略的方法流程图;
61.图4示出了本公开实施例所提供的一种虚拟角色按照当前控制信息所实现的目标动作的示意图;
62.图5示出了本公开实施例所提供的一种虚拟角色按照调整后的控制信息所实现的目标动作的示意图;
63.图6示出了本公开实施例所提供的一种驱动虚拟角色做出相应动作的方法流程图;
64.图7示出了本公开实施例所提供的一种虚拟角色的驱动装置的结构示意图;
65.图8示出了本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
66.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
67.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
68.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
69.近年来,虚拟形象直播在视频直播业务中占据着越来越大的比例,虚拟形象直播是以特定的虚拟形象替代主播的真实形象进行视频直播,具体的,实时的将主播的表情以及肢体动作应用到特定的虚拟形象之上,使该虚拟图像能够随主播的表情以及肢体动作同步实现相应的表情以及肢体动作等,通过这种新兴的直播方式,能够满足特定观看人群的需求,比如对二次元文化感兴趣的人群。
70.然而,由于演员与虚拟形象之间的身材存在差异(比如身高不同),导致在由演员做出某些动作(比如鼓掌动作)时,虚拟形象的动作却达不到预期的效果,例如,若演员已经实现鼓掌的动作,但是由于虚拟形象的手臂较短,虚拟形象的两支手掌之间却并未接触,进而出现虚空现象。
71.本公开提供了一种虚拟角色的驱动方法,应用于电子设备,所述电子设备运行3d渲染环境,所述3d渲染环境中包含3d场景信息,所述3d场景信息用于渲染后生成3d场景,所述3d场景信息包含至少一个虚拟角色信息,所述虚拟角色信息用于渲染后生成虚拟角色,所述方法包括:
72.通过动作捕捉设备获取所述虚拟角色的控制信息,所述控制信息用于驱动所述虚拟角色做出目标动作,所述动作捕捉设备包含多个待识别特征点,所述待识别特征点分别匹配所述虚拟角色的受控特征点,其中至少两组所述待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值;
73.在所述目标动作为符合条件的接触动作情况下,对所述控制信息进行调整,得到目标控制信息;
74.基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
75.其中,3d场景信息可以运行于计算机cpu(central processing uni,中央处理器)、gpu(graphics processing unit,图形处理器)以及存储器中,其包含网格化的模型信息以及和贴图纹理信息。相应地,作为示例,虚拟角色信息包含但不限于网格化的模型数据、体素数据及贴图纹理数据或者其组合。其中,网格包括但不限于三角形网格、四边形网格、其他多边形网格或者其组合。本公开实施例中,网格为三角形网格。
76.3d场景信息在3d渲染环境下进行渲染,可以生成3d场景。3d渲染环境可以是运行于电子设备中的3d引擎,能够基于待渲染数据生成基于一个或者多个视角的影像信息。虚拟角色信息是存在于3d引擎中的虚拟角色模型,能够在渲染后生成相应的虚拟角色。本公开实施例中,虚拟角色可以包括虚拟主播或者数字人。其中,虚拟主播的形象可以是动漫形象也可以是卡通形象。
77.本公开实施例中,在动作捕捉设备的待识别特征点,和与之匹配的虚拟角色的受控特征点之间的间距的比例大于预设比例阈值的情况下,也即,在演员与虚拟角色模型不匹配的情况下,若检测到目标动作为符合条件的接触动作,则对所述控制信息进行调整,得到目标控制信息;然后基于所述目标控制信息,驱动所述虚拟角色做出相应动作,如此,可以使得虚拟角色所做出的动作符合预期效果,达到与演员的动作一致的效果,提升了虚拟角色的视觉效果。
78.本公开实施例所提供的虚拟角色的驱动方法的执行主体一般为具有一定计算能力的电子设备,该电子设备可以是服务器,其中该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云存储、大数据和人工智能平台等基础云计算服务的云服务器。其他实施方式中,该电子设备还可以是终端设备或其它处理设备,此外,该虚拟角色的驱动方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
79.参见图1所示,为本公开实施例提供的一种虚拟角色的驱动方法的流程图,该虚拟角色的驱动方法包括以下s101~s103:
80.s101,通过动作捕捉设备获取所述虚拟角色的控制信息,所述控制信息用于驱动所述虚拟角色做出目标动作,所述动作捕捉设备包含多个待识别特征点,所述待识别特征点分别匹配所述虚拟角色的受控特征点,其中至少两组所述待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值。
81.虚拟角色也可以称为虚拟形象,是通过绘画、动画、计算机动画等形式制作,在因特网等虚拟场景进行活动,但本身并不以实体形式存在的人物对象。本公开实施例中,虚拟角色的具体形象可以参照图2中的虚拟角色10以及虚拟角色20。
82.动作捕捉设备包括穿在演员身体上衣服及戴在演员手上的手套等。其中,衣服用于捕捉演员的肢体动作,手套用于捕捉演员的手部动作。具体的,该动作捕捉设备包含多个待识别特征点,该多个待识别特征点可以与演员骨骼的关键点对应。例如,可以在动作捕捉设备与演员骨骼的各个关节(如膝关节、肘关节、指关节)对应处设置特征点,该特征点可以通过特定材料(如纳米材料)制成,进而可以通过摄像头来获取该多个特征点的位置信息,得到控制信息。
83.相应地,为了实现对虚拟角色的驱动,虚拟角色包含了与该多个待识别特征点匹配的受控特征点,例如,演员的肘关节的待识别特征点与虚拟角色的肘关节受控点相匹配,也即,演员的骨骼关键点与虚拟角色的骨骼关键点之间存在一一对应的关系,如此,在获取到演员的肘关节的待识别特征点的控制信息后,即可驱动虚拟角色的肘关节相应的改变,进而由有多个受控点的变化形成虚拟角色的动作变化。
84.本公开实施例中,至少两组所述待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值,也即,演员的身材与虚拟角色的身材不一致,或者差距较大。其中,该比例可以是整体身高的比例,可以是身体的某个部位的比例,比如,可以手臂的长短的比例,也可以是腿部的长短的比例。另外,该预设比例阈值可以根据实际情况而设定,比如,可以是1.1或者1.3。
85.需要说明的是,动作捕捉设备还包括摄像头,该摄像头用于捕捉演员的面部表情数据,动作捕捉设备还可以包括声音捕捉设备(比如麦克风、喉麦等)。因此,本公开实施例中的控制信息包括了通过动作捕捉设备所采集的演员肢体动作数据、演员面部表情数据以及演员声音数据中的至少一种。在获取到控制信息之后,即可基于该控制信息驱动虚拟角色做出与该控制信息匹配的目标动作。
86.示例性地,参见图2所示,在3d场景中可以存在至少一个虚拟角色,本实施方式中以虚拟角色10和虚拟角色20为例进行说明,每个虚拟角色对应一个演员,如图2所示,虚拟角色10对应演员a,虚拟角色20对应演员b,因此,通过捕捉演员a的动作即可驱动虚拟角色10做出目标动作,通过捕捉演员b的动作即可驱动虚拟角色20做出目标动作。
87.其中,该目标动作包括但不限于虚拟角色的肢体动作、虚拟角色的面部表情动作、虚拟角色和其他虚拟角色牵手或者拥抱的动作以及虚拟角色的和其他虚拟对象交互的动作等。
88.s102,在所述目标动作为符合条件的接触动作情况下,对所述控制信息进行调整,得到目标控制信息。
89.可以理解,在目标动作为符合条件的接触动作情况下,需要对控制信息进行调整,进而得到符合预期的目标控制信息。其中,符合条件的接触动作包括但不限于同一个虚拟角色自身的两个部位之间的接触动作(比如鼓掌动作),不同虚拟角色之间的接触动作(比如牵手动作),以及虚拟角色和其他虚拟对象之间的接触动作(如虚拟角色持枪的动作)。其中,该虚拟对象包括但不限于各类3d道具、各种虚拟动物以及各种虚拟植物等。
90.s103,基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
91.在得到目标控制信息后,即可基于目标控制信息驱动虚拟角色做出相应的动作。
92.本公开实施例中,在动作捕捉设备的待识别特征点,和与之匹配的虚拟角色的受控特征点之间的间距的比例大于预设比例阈值的情况下,也即,在演员与虚拟角色模型不匹配的情况下,若检测到目标动作为符合条件的接触动作,则对所述控制信息进行调整,得到目标控制信息;然后基于所述目标控制信息,驱动所述虚拟角色做出相应动作,如此,可以使得虚拟角色所做出的动作符合预期效果,达到与演员的动作一致的效果,提升了虚拟角色的视觉效果。
93.参见他图3所示,针对上述步骤s102,在对所述控制信息进行调整,得到目标控制信息时,可以包括以下s1021~s1025:
94.s1021,判断所述目标动作是否属于预设的接触动作;若是,则执行步骤s1022;若否,则执行步骤s1024。
95.可以理解,为了提高调整效率,可以根据具体需求,将特定3d场景下出现频率较高的接触动作设定为预设的接触动作,比如,在一种3d场景下,虚拟角色需要经常鼓掌或者用手触摸脸部的拍脸动作,此时,则可以将鼓掌或者拍脸的动作设定为预设的接触动作,并根据演员与虚拟角色之间的比例分别确定相应的调整策略。如此可以形成预设动作与调整策略之间的映射关系表,比如x预设动作对应x调整策略,y预设动作对应y调整策略,z预设动作对应z调整策略。
96.需要说明的是,不同的预设动作所对应的调整策略可以根据实际需求进行设定,比如该调整策略可以是对控制信息的调整,还可以是对虚拟角色信息的调整,还可以是二者结合的调整策略,此处不做限定。其中,对虚拟角色信息的调整可以包括对虚拟角色的骨骼信息(比如骨骼长度信息、骨骼粗细信息等)进行调整。
97.s1022,基于预设的接触动作与调整策略的映射关系表,确定与所述目标动作匹配的预设调整策略。
98.示例性地,在确定所述目标动作属于预设的接触动作的情况下,即可根据前述的预设动作与调整策略之间的映射关系表,确定目标动作所匹配的调整策略。
99.需要说明的是,在3d场景中存在多个虚拟角色的情况下,由于不同的虚拟角色与对应的演员之间的比例不同,因此即使是相同的目标动作,但是每个虚拟角色对应调整策略却不同。因此,本公开实施例中,应首先确定与所述目标动作匹配的目标虚拟角色,然后再确定与所述目标虚拟角色对应的预设调整策略。比如,x预设动作对应图2中的虚拟角色10的调整策略为x1调整策略,而对应图2中的虚拟角色20的调整策略则为x2调整策略。
100.s1023,基于所述预设调整策略,对所述控制信息进行调整,得到所述目标控制信息。
101.示例性地,在确定目标动作对应的预设调整策略之后,即可基于预设调整策略对控制信息进行调整,得到目标控制信息,进而使得虚拟角色做出的相应动作符合预期要求。
102.s1024,基于所述目标动作的属性信息,确定目标调整策略。
103.可以理解,在实际应用过程中,目标动作还可能是其他不在预设接触动作之内的其他符合条件的接触动作,比如,该目标动作可能是驱动虚拟角色弯腰后手部与脚部接触的动作,或者是驱动虚拟角色与其他虚拟角色牵手的动作,或是虚拟角色抓取3d道具的接触动作。而该等接触动作并不在预设的接触动作的列表内,此时,应基于所述目标动作的属
性信息,确定目标调整策略。也即,应该针对不同的动作实时确定相应的目标调整策略,进而使得目标动作达到预期效果。
104.示例性地,目标动作的属性信息包括但不限于动作的部位、动作的类别及动作的幅度等。该目标调整策略可以是调整动作部位的弯曲度,或者调整动作部位的摆放位置。
105.s1025,基于所述目标调整策略,对所述控制信息进行调整,得到所述目标控制信息。
106.具体地,参见图4所示,以虚拟角色10和其他虚拟角色20牵手的接触动作为例,若通过动作捕捉设备所获取的控制信息为手臂与身体之间的夹角为30度,也即,此时虚拟角色的手臂是微微张开的,此时演员之间是实现了牵手的动作的,但是由于虚拟角色与演员之间的身材不一致,比如虚拟角色的身材比演员的身材小,此时,若根据控制信息控制虚拟角色的手臂也张开30度,则会导致虚拟角色和其他虚拟角色并未实现牵手的动作,此时,则可以调整控制信息的张开角度,使得张开角度变大,参见图5所示,比如将控制信息调整为手臂与身体之间的夹角扩大至60度,也即虚拟角色的手臂会继续向上抬起张开,如此虚拟角色10将会与其他虚拟角色20实现牵手的动作,进而达到预期的效果。
107.可以理解,在一些实施例中,在调整动作部位的位置或者弯曲度之后,仍无法达到预期效果,还是以虚拟角色之间牵手为例,若将虚拟角色的手臂与身体之间的夹角调整指90度时,虚拟角色仍无法与其他虚拟角色实现牵手的动作,此时应对虚拟角色信息进行调整,比如将虚拟角色的手臂的长度进行拉伸直至与其他虚拟角色实现牵手动作。
108.因此,在一些实施方式中,参见图6所示,针对上述步骤s103,在基于所述目标控制信息,驱动所述虚拟角色做出相应动作时,可以包括以下s1031~s1034:
109.s1031,判断所述目标控制信息是否达到预设要求;若是,则执行步骤s1032;若否,则执行步骤s1033。
110.s1032,基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
111.s1033,调整所述虚拟角色信息,得到调整后的虚拟角色信息;所述调整后的虚拟角色信息用于渲染后生成调整后的虚拟角色。
112.s1034,基于所述目标控制信息,驱动所述调整后的虚拟角色做出相应动作。
113.示例性地,在调整控制信息后,若能到达预期要求,则可直接基于调整后的目标控制信息驱动虚拟角色做出相应动作,而若调整控制信息后未达到预期要求,则应调整虚拟角色信息,具体可以根据目标控制信息,确定虚拟角色的动作部位,然后对动作部位的长度信息进行调整。如此,可以在对虚拟角色信息进行较小的调整后,即可达到预期要求。比如,若目标动作为虚拟角色伸手抓取放在预设位置的虚拟对象的动作,即使将虚拟角色的手臂伸直也仍无法抓取到相应的虚拟对象的情况下,应调整虚拟角色手臂的长度信息,直至虚拟角色实现该抓取动作。
114.此外,在一些实施方式中,3d场景信息中还包括至少一个虚拟镜头,该虚拟镜头用于捕捉3d场景的图像信息,因此,在一些实施方式中,可以基于虚拟镜头的镜头信息以及3d场景信息生成视频数据。其中,视频数据包括多张视频帧。
115.示例性地,生成的视频数据,可以在本地展示,也可以形成录播视频,还可以形成直播视频流,用于直播。例如,若电子设备自带显示屏或者外接有显示装置,可以将生成的视频数据在本地进行播放。
116.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
117.基于同一技术构思,本公开实施例中还提供了与虚拟角色的驱动方法对应的虚拟角色的驱动装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述虚拟角色的驱动方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
118.参照图7所示,为本公开实施例提供的一种虚拟角色的驱动装置500的示意图,所述装置包括:
119.获取模块501,用于通过动作捕捉设备获取所述虚拟角色的控制信息,所述控制信息用于驱动所述虚拟角色做出目标动作,所述动作捕捉设备包含多个待识别特征点,所述待识别特征点分别匹配所述虚拟角色的受控特征点,其中至少两组所述待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值;
120.调整模块502,用于在所述目标动作为符合条件的接触动作情况下,对所述控制信息进行调整,得到目标控制信息;
121.驱动模块503,用于基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
122.在一种可能的实施方式中,所述调整模块502具体用于:
123.判断所述目标动作是否属于预设的接触动作;
124.在所述目标动作属于所述预设的接触动作的情况下,基于预设的接触动作与调整策略的映射关系表,确定与所述目标动作匹配的预设调整策略;
125.基于所述预设调整策略,对所述控制信息进行调整,得到所述目标控制信息。
126.在一种可能的实施方式中,所述3d场景中存在多个虚拟角色,每个虚拟角色对应不同的调整策略;所述调整模块502具体用于:
127.确定与所述目标动作匹配的目标虚拟角色;
128.确定与所述目标虚拟角色对应的预设调整策略。
129.在一种可能的实施方式中,所述调整模块502还用于:
130.在所述目标动作不属于所述预设的接触动作情况下,基于所述目标动作的属性信息,确定目标调整策略;
131.基于所述目标调整策略,对所述控制信息进行调整,得到所述目标控制信息。
132.在一种可能的实施方式中,所述驱动模块503具体用于:
133.判断所述目标控制信息是否达到预设要求;
134.在所述目标控制信息达到所述预设要求的情况下,基于所述目标控制信息,驱动所述虚拟角色做出相应动作。
135.在一种可能的实施方式中,所述驱动模块503具体用于:
136.在所述目标控制信息未达到所述预设要求的情况下,调整所述虚拟角色信息,得到调整后的虚拟角色信息;所述调整后的虚拟角色信息用于渲染后生成调整后的虚拟角色;
137.基于所述目标控制信息,驱动所述调整后的虚拟角色做出相应动作。
138.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
139.基于同一技术构思,本公开实施例还提供了一种电子设备。参照图8所示,为本公开实施例提供的电子设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换。
140.本技术实施例中,存储器702具体用于存储执行本技术方案的应用程序代码,并由处理器701来控制执行。也即,当电子设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701执行存储器702中存储的应用程序代码,进而执行前述任一实施例中所述的方法。
141.其中,存储器702可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
142.处理器701可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
143.可以理解的是,本技术实施例示意的结构并不构成对电子设备700的具体限定。在本技术另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
144.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的虚拟角色的驱动方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
145.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中的虚拟角色的驱动方法的步骤,具体可参见上述方法实施例,在此不再赘述。
146.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
147.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集
成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
148.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
149.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
150.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
151.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种虚拟角色的驱动方法,其特征在于,应用于电子设备,所述电子设备运行3d渲染环境,所述3d渲染环境中包含3d场景信息,所述3d场景信息用于渲染后生成3d场景,所述3d场景信息包含至少一个虚拟角色信息,所述虚拟角色信息用于渲染后生成虚拟角色,所述方法包括:通过动作捕捉设备获取所述虚拟角色的控制信息,所述控制信息用于驱动所述虚拟角色做出目标动作,所述动作捕捉设备包含多个待识别特征点,所述待识别特征点分别匹配所述虚拟角色的受控特征点,其中至少两组所述待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值;在所述目标动作为符合条件的接触动作情况下,对所述控制信息进行调整,得到目标控制信息;基于所述目标控制信息,驱动所述虚拟角色做出相应动作。2.根据权利要求1所述的方法,其特征在于,所述对所述控制信息进行调整,得到目标控制信息,包括:判断所述目标动作是否属于预设的接触动作;在所述目标动作属于所述预设的接触动作的情况下,基于预设的接触动作与调整策略的映射关系表,确定与所述目标动作匹配的预设调整策略;基于所述预设调整策略,对所述控制信息进行调整,得到所述目标控制信息。3.根据权利要求2所述的方法,其特征在于,所述3d场景中存在多个虚拟角色,每个虚拟角色对应不同的调整策略;所述确定与所述目标动作匹配的预设调整策略,包括:确定与所述目标动作匹配的目标虚拟角色;确定与所述目标虚拟角色对应的预设调整策略。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述目标动作不属于所述预设的接触动作情况下,基于所述目标动作的属性信息,确定目标调整策略;基于所述目标调整策略,对所述控制信息进行调整,得到所述目标控制信息。5.根据权利要求4所述的方法,其特征在于,所述基于所述目标控制信息,驱动所述虚拟角色做出相应动作,包括:判断所述目标控制信息是否达到预设要求;在所述目标控制信息达到所述预设要求的情况下,基于所述目标控制信息,驱动所述虚拟角色做出相应动作。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述目标控制信息未达到所述预设要求的情况下,调整所述虚拟角色信息,得到调整后的虚拟角色信息;所述调整后的虚拟角色信息用于渲染后生成调整后的虚拟角色;基于所述目标控制信息,驱动所述调整后的虚拟角色做出相应动作。7.根据权利要求6所述的方法,其特征在于,所述调整所述虚拟角色信息,包括:根据所述目标控制信息,确定所述虚拟角色的动作部位;对所述动作部位的长度信息进行调整。8.一种虚拟角色的驱动装置,其特征在于,包括:获取模块,用于通过动作捕捉设备获取所述虚拟角色的控制信息,所述控制信息用于
驱动所述虚拟角色做出目标动作,所述动作捕捉设备包含多个待识别特征点,所述待识别特征点分别匹配所述虚拟角色的受控特征点,其中至少两组所述待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值;调整模块,用于在所述目标动作为符合条件的接触动作情况下,对所述控制信息进行调整,得到目标控制信息;驱动模块,用于基于所述目标控制信息,驱动所述虚拟角色做出相应动作。9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1-7任一所述的虚拟角色的驱动方法。10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-7任一所述的虚拟角色的驱动方法。
技术总结
本公开提供了一种虚拟角色的驱动方法、装置、电子设备及存储介质,该虚拟角色的驱动方法包括:通过动作捕捉设备获取虚拟角色的控制信息,控制信息用于驱动虚拟角色做出目标动作,动作捕捉设备包含多个待识别特征点,待识别特征点分别匹配虚拟角色的受控特征点,其中至少两组待识别特征点之间的间距,和与之匹配的受控特征点之间的间距的比例大于预设比例阈值;在目标动作为符合条件的接触动作情况下,对控制信息进行调整,得到目标控制信息;基于目标控制信息,驱动虚拟角色做出相应动作。本申请实施例,可以在演员与虚拟角色之间的身材比例不匹配的情况下,对控制信息进行调整,使得虚拟角色的动作能够达到预期效果,提升观众的视觉体验。众的视觉体验。众的视觉体验。
技术研发人员:顾佳祺 王骁玮
受保护的技术使用者:北京字跳网络技术有限公司
技术研发日:2021.12.02
技术公布日:2022/3/8