动画处理方法、装置、介质及电子设备与流程

文档序号:27394871发布日期:2021-11-15 22:48阅读:107来源:国知局
动画处理方法、装置、介质及电子设备与流程

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.图1示出了本公开示例性实施例中的动画处理方法的应用场景的示意图;
31.图2示出了根据本公开的一些示例实施例的动画处理方法的流程示意图;
32.图3示出了根据本公开的一些示例实施例的口型动画驱动的流程图;
33.图4示出了根据本公开的一些示例实施例的骨骼动画驱动的流程图;
34.图5示出了根据本公开的一些示例实施例的标准口型动画配置信息的示意图;
35.图6示出了根据本公开的一些示例实施例的标准骨骼动画配置信息的示意图;
36.图7示出了根据本公开的又一些示例实施例的动画处理方法的流程示意图;
37.图8示出了根据本公开的一实施例的动画处理装置的结构示意图;
38.图9示出本公开示例性实施例中电子设备的结构示意图。
具体实施方式
39.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
40.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
41.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
42.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
43.为了清楚地说明本公开实施例中的技术方案,在具体展开说明本公开实施例之前,首先对实施例中应用到的一些名词术语进行说明。
44.下面,结合附图对本公开示例实施例中的动画处理方法进行详细的说明。
45.图1示出了根据本公开的一些实施例提供的应用场景的示意图。
46.该应用场景100可以包括:终端设备110和服务器120。终端设备110可以是诸如手机、pc(personal computer,个人计算机)、平板电脑、膝上型计算机、车载终端等。服务器120可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。终端设备110和服务器120之间可通过网络130进行互相通信。该网络130可以是有线网络,也可以是无线网络,网络130可以为pstn(public switched telephone network,公共交换电话网络)或因特网。
47.终端设备110安装有用户客户端,如能够用于视频播放的用户客户端。服务器120用于为终端设备110中的用户客户端提供后台服务。例如,服务器120可以是上述用户客户端的后台服务器。
48.以商品介绍业务场景为例,虚拟对象为虚拟数字人,虚拟数字人对商品例如手机进行介绍。在该场景下,终端设备110对商品介绍剧本进行解析,确定与待播放剧本对应的剧本动画配置信息,剧本动画配置信息包括:口型动画配置信息、表情动画配置信息以及骨骼动画配置信息中的一种或多种;根据剧本动画配置信息与标准动画之间的对应关系,确定待播放剧本对应的待播放动画;控制虚拟数字人执行待播放动画。
49.需要说明的是,虽然以商品介绍场景为例,但是本领域普通技术人员应该理解的是,本公开实施例中的技术方案也可以应用于其他适当的视频播放场景例如新闻播报、天气播报以及直播业务等,这同样在本公开的保护范围内。
50.图2示出了根据本公开的一些示例实施例的动画处理方法的流程示意图。本公开实施例提供的动画处理方法的执行主体可以是具有计算处理功能的计算设备,例如图1中的终端设备或服务器。该动画处理方法包括步骤s210至步骤s230,下面结合附图对示例实施例中的动画处理方法进行详细的说明。
51.参照图2所示,在步骤s210中,对待播放剧本进行解析,确定与待播放剧本对应的剧本动画配置信息。
52.在示例实施例中,待播放剧本可以为商品介绍剧本、新闻播报剧本以及直播剧本等。待播放剧本对应的剧本动画配置信息包括:口型动画配置信息、表情动画配置信息以及骨骼动画配置信息中的一种或多种。
53.在一些实施例中,对待播放剧本进行解析,获取待播放剧本对应的文本,根据文本的语义信息确定各个时间点对应的虚拟对象的表情动画配置信息。表情动画配置信息可以包括高兴、惊奇、气愤、悲伤以及平静等表情对应的动画配置信息。
54.根据文本的发音信息确定各个时间点的虚拟对象的发音,虚拟对象的发音即为口型动画配置信息。例如,剧本“大家好”,对应的发音可以包括:“d”、“a”、“j”、“ia”、“h”、“ao”。
55.进一步地,在一些实施例中,对待播放剧本进行解析,确定待播放剧本的各个时间点对应的动作指示信息。举例而言,可以预先在待播放剧本的文本中设置动作指示信息,对待播放剧本的文本进行解析,获取预先设置的待播放剧本的各个时间点对应的动作指示信息。
56.此外,在另一些示例实施例中,可以根据文本的语义信息确定待播放剧本的各个时间点对应的动作指示信息,例如,如果待播放剧本中如果存在“欢迎”的文本时,可以根据该文本确定待播放剧本的对应时间点存在欢迎动作。
57.在步骤s220中,根据剧本动画配置信息与标准动画之间的对应关系,确定待播放剧本对应的待播放动画。
58.在示例实施例中,标准动画包括标准口型动画、标准表情动画以及标准骨骼动画中的一种或多种。根据口型动画配置信息与标准口型动画的对应关系,确定待播放剧本对应的待播放口型动画;和/或,根据表情动画配置信息与标准表情动画的对应关系,确定待播放剧本对应的待播放表情动画;和/或,根据骨骼动画配置信息与标准骨骼动画的对应关系,确定待播放剧本对应的待播放骨骼动画。
59.举例而言,根据口型动画配置信息与标准口型动画的对应关系,确定待播放剧本对应的标准口型动画的形变对象以及形变对象的目标形变权重值;根据当前形变权重值以及目标形变权重值,通过线性插值的方式确定所述待播放剧本对应的口型动画。形变对象可以为标准口型动画对象的虚拟对象的头部模型的一个或多个节点,形变权重值用于表示形变对象的变形程度。
60.在步骤s230中,控制虚拟对象执行待播放动画。
61.在示例实施例中,待播放动画包括口型动画、表情动画以及骨骼动画中的一种或多种。获取待播放动画对应的口型形变权重、表情形变权重以及动作状态中的一种或多种,根据口型形变权重控制虚拟对象执行口型动画;根据表情形变权重控制虚拟对象执行表情动画;根据动作状态控制虚拟对象执行骨骼动画。
62.举例而言,可以获取待播放动画对应的标准口型动画的形变对象当前需要变化的形变权重值,根据该形变权重值对标准口型动画的形变对象进行处理,执行对应的口型动画。
63.需要说明的是,虚拟对象可以为虚拟数字人,也可以为其他适当的三维虚拟对象,例如虚拟宠物,这同样在本公开的保护范围内。
64.根据图2的示例实施例中的技术方案,一方面,对待播放剧本进行解析,确定与待播放剧本对应的动画配置信息,能够根据具体的业务场景得到该业务场景对应的剧本的动画配置信息;另一方面,根据动画配置信息与标准动画之间的对应关系,确定待播放剧本对应的待播放动画,控制虚拟对象执行待播放动画,能够将虚拟对象模型与业务场景的动画设计分离,提高业务代码的复用性;再一方面,由于将虚拟对象模型与业务场景的动画设计分离,从而能够灵活替换虚拟对象。
65.进一步地,在示例实施例中,根据形变对象的当前形变权重值以及目标形变权重值,通过线性插值的方式确定待播放剧本对应的待播放口型动画,包括:根据标准口型动画的结束时间以及当前时间,确定形变时间;根据形变时间以及标准口型动画对应的当前形变权重值与目标形变权重值,确定混合形变因子,混合形变因子用于确定形变对象当前需
要变化的形变权重值;根据混合形变因子确定待播放剧本对应的当前口型动画。
66.通过线性差值的方式确定待播放口型动画,能够根据剧本中的口型动画配置信息线性过渡与口型相关的形变权重值例如blendshape权重值,达到更真实自然的口型动画效果。
67.进一步地,在示例实施例中,口型动画配置信息包括待播放剧本的当前文本的发音,根据口型动画配置信息与标准口型动画的对应关系,确定待播放剧本对应的标准口型动画的形变对象以及形变对象的目标形变权重值,包括:根据当前文本的发音与标准口型动画的发音的对应关系,确定待播放剧本对应的标准口型动画;根据标准口型动画的标识,从标准口型动画配置信息中确定待播放剧本对应的标准口型动画的形变对象以及形变对象的目标形变权重值,其中,标准口型动画配置信息中包括各个标准口型对应的形变对象以及目标形变权重值。
68.在本示例实施例中,将统一标准口型动画配置与多变的剧本口型动画配置相结合,能够适应多种业务场景,进一步提高业务代码的复用率。
69.此外,在一些示例实施例中,根据表情动画配置信息与标准表情动画的对应关系,确定待播放剧本对应的表情动画,包括:根据表情动画配置信息与标准表情动画的对应关系,确定待播放剧本对应的标准表情动画的形变对象以及所述形变对象的目标形变权重值;根据当前形变权重值以及所述目标形变权重值,通过线性插值的方式确定所述待播放剧本对应的当前表情动画。
70.进一步地,在本示例实施例中,根据形变对象的当前形变权重值以及目标形变权重值,通过线性插值的方式确定待播放剧本对应的当前表情动画,包括:根据标准表情动画的结束时间以及当前时间,确定形变时间;根据形变时间以及形变对象对应的当前形变权重值与目标形变权重值,确定混合形变因子,混合形变因子用于确定形变对象当前需要变化的形变权重值;根据混合形变因子确定待播放剧本对应的当前表情动画。
71.在本示例实施例中,一方面,将统一标准表情动画配置与多变的剧本表情动画配置相结合,能够适应多种业务场景,进一步提高业务代码的复用率;另一方面,通过线性差值的方式确定待播放表情动画,能够根据剧本中的表情配置信息线性过渡与表情相关的形变权重值例如blendshape权重值,达到更真实自然的表情动画效果。
72.图3示出了根据本公开的一些示例实施例的口型动画驱动的流程图。
73.参照图3所示,在步骤s305中,加载虚拟对象模型。
74.在步骤s310中,初始化混合变形器的形变对象。
75.在示例实施例中,混合变形器用于对口型动画进行变形处理,将口型动画对应的形变对象例如一个或多个模型节点的参数例如权重值进行初始化。
76.在步骤s315中,对标准口型动画配置信息进行解析。
77.在示例实施例中,标准口型动画配置信息中包括各个标准口型动画对应的目标形变权重值,对标准口型动画配置信息进行解析,确定各个标准口型对应形变对象以及目标形变权重值。
78.举例而言,参照图5所示,通过混合变形器的形变对象blend_shape结点下viseme字段用来定义标准口型动画列表中具体某个发音绑定的形变对象例如morph对象和形变权重值。形变对象的节点名称为“ys_head_01”,标准口型包括:“a”、“er”、“er”、“ang”等口型,
其中,标准口型“a”对应的目标形变权重值为1.0。
79.在步骤s320中,对剧本的口型动画配置进行解析。
80.在示例实施例中,对待播放剧本的口型动画配置进行解析,确定待播放剧本中各个时间单元对应的虚拟对象的发音。
81.在步骤s325中,通过虚拟对象进行口型播放。
82.在步骤s330中,根据当前时间选择与剧本对应的标准口型动画。
83.在示例实施例中,根据当前时间确定剧本中当前文本的发音,根据发音与标准口型动画的发音的对应关系,确定剧本对应的标准口型动画。
84.在步骤s335中,根据当前标准口型动画的结束时间与当前时间计算混合形变因子。
85.在示例实施例中,根据标准口型动画的结束时间以及当前时间,确定形变时间;根据形变时间以及形变对象对应的当前形变权重值与目标形变权重值,确定混合形变因子alpha值,混合形变因子用于确定形变对象当前需要变化的形变权重值。
86.在步骤s340中,根据混合形变因子逐帧计算形变对象对应的形变权重值。
87.在示例实施例中,根据混合形变因子逐帧计算形变对象即blendshape对象对应的形变权重值。
88.在步骤s345中,当前时间推进。
89.在示例实施例中,随着当前时间推进播放对应的口型动画。
90.在步骤s350中,口型结束。
91.根据图3的示例实施例中的技术方案,一方面,将统一标准口型动画配置与多变的剧本口型动画配置相结合,能够适应多种业务场景,进一步提高业务代码的复用率;另一方面,通过线性差值的方式确定待播放口型动画,能够根据剧本中的口型配置信息线性过渡与口型相关的形变权重值例如blendshape权重值,达到更真实自然的口型动画效果。
92.图4示出了根据本公开的一些示例实施例的骨骼动画驱动的流程示意图。
93.参照图4所示,在步骤s405中,加载虚拟对象模型。
94.在步骤s410中,初始化虚拟对象。
95.在示例实施例中,对虚拟对象的骨骼节点(skinnednode)进行初始化。
96.在步骤s415中,对标准骨骼动画配置信息进行解析。
97.在示例实施例中,标准骨骼动画配置信息中包括各个标准骨骼动画的动作状态以及动画帧配置。对标准骨骼动画配置信息进行解析,确定各个标准骨骼动画对应的动作状态以及动画帧配置。举例而言,参照图6所示,标准骨骼动画配置信息包括skin_mesh节点配置信息,skin_mesh结点配置信息下ani_list字段用来定义分组类型的动画配置,支持同一种动作类型对应多个动画能力,例如“介绍动作”对应多个介绍动画。其中,动作状态的动作标识“ani_name”为“idle”,帧配置包括开始帧“beg_frame”为0,结束帧“end_frame”为60,是否循环“is_loop”为否。
98.需要说明的是,在同一种动作类型对应多个动画的情况下,可以随机从多个动画中选取一个动画,也可以根据虚拟对象以及业务场景从多个动画中选取一个动画。
99.在步骤s420中,对剧本的动画配置进行解析。
100.在示例实施例中,对待播放剧本进行解析,确定待播放剧本中各个时间单元对应
的动作指示信息。举例而言,可以预先在待播放剧本的文本中设置动作指示信息例如设置“欢迎动作”的指示信息,对待播放剧本的文本进行解析,获取预先设置的待播放剧本的各个时间点对应的动作指示信息。
101.此外,在另一些示例实施例中,可以根据文本的语义信息确定待播放剧本的各个时间点对应的动作指示信息,例如,如果待播放剧本中如果存在“欢迎”的文本时,可以根据该文本确定待播放剧本的对应时间点存在欢迎动作。
102.在步骤s425中,进行骨骼动画播放。
103.在步骤s430中,根据当前时间确定与剧本对应的标准骨骼动画。
104.在示例实施例中,根据当前时间确定剧本中对应的动作指示信息,根据该动作指示信息确定与剧本对应的标准骨骼动画。例如,如果根据当前时间确定待播放剧本中存在“欢迎”的文本时,可以根据该文本确定待播放剧本的对应时间点存在欢迎动作。
105.在步骤s435中,启动当前的标准骨骼动画,计算当前动画帧。
106.在步骤s440中,根据当前动画帧确定是否执行完动作状态。
107.在示例实施例中,根据当前动画帧确定虚拟对象是否执行完成动作状态。例如,若动作状态为“欢迎动作”时,根据当前动画帧确定“欢迎动作”是否执行完毕。
108.在步骤s445中,当前时间推进。
109.在示例实施例中,若完成动作状态,若存在下一动作状态,则返回至步骤s430,确定待播放剧本对应的下一骨骼动画,也可以循环播放该动作状态;若不存在下一动作状态,则进行至步骤s450。
110.在步骤s450中,动画结束。
111.根据图4的示例实施例中的技术方案,一方面,将统一的标准骨骼动画配置与多边的剧本动画进行结合,能够采用灵活的动画场景配置设计和通用代码驱动实现方案来完成虚拟数字人肢体动作;另一方面,同一种动作类型可以对应多个动画,能够实现多类别与多组动画的设计方案;再一方面,根据当前动画帧确定是否执行完动作状态,能够利用动画帧信息动态播放指定区间的动画。
112.图7示出了根据本公开的一些示例实施例的动画控制方法的流程示意。
113.参照图7所示,在步骤s705中,初始化动画控制的控制脚本。
114.在示例实施例中,可以通过lua脚本语言来实现虚拟数字人动画控制,也可以通过其他适当的脚本例如python脚本语言或ruby脚本语言来实现虚拟数字人动画控制。
115.在步骤s710中,初始化三维引擎。
116.在步骤s715中,加载标准口型动画配置信息和标准骨骼动画配置信息。
117.在示例实施例中,标准口型动画配置信息中包括各个标准口型动画对应的目标形变权重值。标准骨骼动画配置信息中包括各个标准骨骼动画的动作状态以及动画帧配置。
118.在步骤s720中,异步加载虚拟对象模型配置列表。
119.在示例实施例中,虚拟对象模型为虚拟数字人,异步加载虚拟对象的模型配置列表。
120.在步骤s725中,发送模型加载结果消息。
121.在示例实施例中,在模型加载完成后,向业务方发送模型加载完成消息。
122.在步骤s730中,创建背景节点。
123.在示例实施例中,创建虚拟对象的当前场景的背景节点。
124.在步骤s735中,初始化动画控制子系统与消息监听。
125.在示例实施例中,初始化动画控制子系统包括三维引擎渲染、blendshape动画子系统和骨骼动画子系统的初始化,以及对标准口型动画配置信息和标准骨骼动画配置信息的解析。对标准口型动画配置信息进行解析,确定各个标准口型对应形变对象以及目标形变权重值;对标准骨骼动画配置信息进行解析,确定各个标准骨骼动画对应的动作状态以及动画帧配置
126.消息监听包括口型和骨骼动画的动态消息监听,包括模型加载监听、剧本播放监听以及动画控制监听等消息监听,其中,模型加载监听监听用于在模型加载完成后获取引擎相关的混合变形器blendshape对象和skinmesh对象,用于后续的口型插值和动画播放,其中,blendshape对象为口型动画的形变对象,skinmesh对象为骨骼动画对象;剧本播放监听用于动态监听播放的指定剧本的内容;动画控制监听用于方便用户控制动画。
127.在步骤s740中,逐帧更新口型动画和骨骼动画。
128.在示例实施例中,根据当前时间获取与剧本对应的标准口型动画和骨骼动画,逐帧更新对应的虚拟对象的口型动画和骨骼动画。
129.例如,根据当前动画帧确定虚拟对象是否执行完成动作状态,若完成动作状态,确定待播放剧本对应的下一骨骼动画。其中,同一种动作状可以对应多个动画能力,例如“介绍动作”对应多个介绍动画。
130.在步骤s745中,进行场景渲染。
131.在步骤s750中,释放资源。
132.根据图7的示例实施例中的技术方案,一方面,采用场景动画配置和代码复用的规则,将虚拟人动画驱动部分与模型相关的设置抽离于场景动画配置列表,达到灵活替换虚拟形象的目的;另一方面,采用统一标准口型配置与多变的剧本口型信息结合的方案,根据剧本中口型信息线性过渡与口型相关的blendshape权重值,达到形象自然的口型动画的效果;再一方面,采用多类别与多组动画设计方法,利用动画帧信息动态播放指定区间的动画。
133.需要注意的是,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
134.以下介绍本公开的装置实施例,可以用于执行本公开上述的动画处理方法。
135.图8示出了根据本公开的一实施例的动画处理装置的结构示意图。
136.参照图8所示,本示例实施例提供了一种动画处理装置800,动画处理装置800包括:剧本解析模块810,用于对待播放剧本进行解析,确定与所述待播放剧本对应的剧本动画配置信息,所述剧本动画配置信息包括:口型动画配置信息、表情动画配置信息以及骨骼动画配置信息中的一种或多种;动画确定模块820,用于根据所述动画配置信息与标准动画之间的对应关系,确定所述待播放剧本对应的待播放动画,所述标准动画包括标准口型动画、标准表情动画以及标准骨骼动画中的一种或多种;动画播放模块830,用于控制虚拟对象执行所述待播放动画。
137.在一些示例实施例中,所述动画确定模块820还包括:口型动画确定单元,用于根
据所述口型动画配置信息与标准口型动画的对应关系,确定所述待播放剧本对应的待播放口型动画;和/或,表情动画确定单元,用于根据所述表情动画配置信息与标准表情动画的对应关系,确定所述待播放剧本对应的待播放表情动画;和/或,骨骼动画确定单元,用于根据所述骨骼动画配置信息与标准骨骼动画的对应关系,确定所述待播放剧本对应的待播放骨骼动画。
138.在一些示例实施例中,所述口型动画确定单元包括:权重确定单元,用于根据所述口型动画配置信息与标准口型动画的对应关系,确定所述待播放剧本对应的标准口型动画的形变对象以及所述形变对象的目标形变权重值;线性形变单元,用于根据所述形变对象的当前形变权重值以及所述目标形变权重值,通过线性插值的方式确定所述待播放剧本对应的待播放口型动画。
139.在一些示例实施例中,所述线性形变单元还用于:根据所述标准口型动画的结束时间以及当前时间,确定形变时间;根据所述形变时间以及所述形变对象对应的当前形变权重值与目标形变权重值,确定混合形变因子,所述混合形变因子用于确定所述形变对象当前需要变化的形变权重值;根据所述混合形变因子确定所述待播放剧本对应的待播放口型动画。
140.在一些示例实施例中,所述口型动画配置信息包括所述待播放剧本的当前文本的发音,所述权重确定单元还用于:根据所述发音与标准口型动画的发音的对应关系,确定所述待播放剧本对应的标准口型动画;根据所述标准口型动画的标识,从标准口型动画配置信息中确定所述待播放剧本对应的标准口型动画的形变对象以及所述形变对象的目标形变权重值,其中,所述标准口型动画配置信息中包括各个标准口型对应的形变对象以及所述目标形变权重值。
141.在一些示例实施例中,所述表情动画确定单元还用于:根据所述表情动画配置信息与标准表情动画的对应关系,确定所述待播放剧本对应的标准表情动画的形变对象以及所述形变对象的目标形变权重值;根据所述形变对象的当前形变权重值以及所述目标形变权重值,通过线性插值的方式确定所述待播放剧本对应的待播放表情动画。
142.在一些示例实施例中,所述骨骼动画配置信息包括骨骼动画的动作标识,所述骨骼动画确定单元还用于:根据所述骨骼动画的动作标识与标准骨骼动画的动作标识之间的对应关系,确定所述待播放剧本对应的标准骨骼动画;基于所述标准骨骼动画的动作标识,从标准骨骼动画配置信息中确定待播放剧本对应的骨骼动画的动作状态和动画帧配置,其中,所述标准骨骼动画配置信息中包括各个标准骨骼动画的动作状态以及动画帧配置。
143.在一些示例实施例中,所述装置800还包括:骨骼动画播放模块,用于基于所述待播放剧本对应的骨骼动画的动作状态和动画帧配置,控制所述虚拟对象执行待播放骨骼动画;确定所述虚拟对象的当前骨骼动画的当前动画帧;根据所述当前动画帧确定所述虚拟对象是否执行完成所述动作状态;若完成所述动作状态,则确定所述待播放剧本对应的下一骨骼动画。
144.由于本公开的示例实施例的动画处理装置800的各个功能模块与上述动画处理方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的动画处理方法的实施例。
145.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单
元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
146.此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
147.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
148.在本公开示例性实施方式中,还提供了一种能够实现上述方法的计算机存储介质。其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当上述程序产品在终端设备上运行时,上述程序代码用于使上述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
149.上述程序产品可以采用便携式紧凑盘只读存储器(cd

rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
150.上述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
151.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
152.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
153.可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算
设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
154.在介绍了本公开示例性实施例的方法、装置和介质之后,接下来,介绍根据本公开的另一示例性实施例的计算设备。
155.所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
156.在一些可能的实施例中,根据本公开实施例的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的语音验证方法中的步骤。例如,所述处理器可以执行如图2中所示的步骤:步骤s210,对待播放剧本进行解析,确定与待播放剧本对应的剧本动画配置信息;步骤s220,根据剧本动画配置信息与标准动画之间的对应关系,确定待播放剧本对应的待播放动画;步骤s230,控制虚拟对象执行待播放动画。
157.下面参照图9来描述根据本公开的示例实施例的电子设备900。图9所示的电子设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
158.如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
159.总线930表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
160.存储单元920可以包括易失性存储器形式的可读介质,例如ram(random access memory,随机存取存储器)921和/或高速缓存存储器922,还可以进一步包括rom(read

only memory,只读存储器)923。
161.存储单元920还可以包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
162.电子设备900也可以与一个或多个外部设备940(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与电子设备900交互的设备通信,和/或与使得电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网,广域网和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid(redundant arrays of independent disks,独立冗余磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
163.应当注意,尽管在上文详细描述中提及了语音验证装置的若干单元或子单元,但是这种划分仅仅是示例性的,并非是强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或单元的特征和功能可以在一个模块或单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或单元来具体化。
164.此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
165.虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1