模型表情处理的方法及装置转让专利

申请号 : CN202010690729.1

文献号 : CN111798550A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈锦禹

申请人 : 网易(杭州)网络有限公司

摘要 :

本申请实施例提供一种模型表情处理的方法及装置,该方法包括:获取待处理的脸部模型。响应于针对目标插件的启动操作,启动目标插件,且在图形用户界面上显示针对目标插件的操作界面。响应于针对操作界面上第一控件的触发操作,生成脸部模型的至少一个对位点。响应于针对操作界面上第二控件的触发操作,根据至少一个对位点的位置,生成脸部模型的骨骼,以及骨骼与脸部模型之间的绑定信息。根据脸部模型的骨骼以及绑定信息,控制脸部模型的表情。通过根据目标插件自动生成脸部模型的对位点、骨骼以及骨骼与脸部模型之间的绑定信息,从而可以无需手动操作,即实现对脸部模型的表情的控制,有效提升了虚拟角色的面部表情处理效率。

权利要求 :

1.一种模型表情处理的方法,其特征在于,通过终端设备提供图形用户界面,所述方法包括:获取待处理的脸部模型;

响应于针对目标插件的启动操作,启动所述目标插件,且在所述图形用户界面上显示针对所述目标插件的操作界面;

响应于针对所述操作界面上第一控件的触发操作,生成所述脸部模型的至少一个对位点;

响应于针对所述操作界面上第二控件的触发操作,根据所述至少一个对位点的位置,生成所述脸部模型的骨骼,以及所述骨骼与所述脸部模型之间的绑定信息;

根据所述脸部模型的骨骼以及所述绑定信息,控制所述脸部模型的表情。

2.根据权利要求1所述的方法,其特征在于,生成所述脸部模型的至少一个对位点后,所述方法还包括:响应于针对所述至少一个对位点的调整操作,对所述至少一个对应点的位置进行调整。

3.根据权利要求2所述的方法,其特征在于,所述对所述至少一个对应点的位置进行调整,包括:根据所述脸部模型的布线,对所述至少一个对位点的位置进行调整。

4.根据权利要求2所述的方法,其特征在于,所述响应于针对所述至少一个对位点的调整操作,对所述至少一个对应点的位置进行调整,包括:响应于针对所述至少一个对位点的调整操作,确定所述调整操作所选择的对位点;

对所述调整操作所选择的对位点的位置进行调整。

5.根据权利要求1所述的方法,其特征在于,所述骨骼与所述脸部模型之间的绑定信息包括:所述骨骼对应的控制器、与所述控制器之间的属性关联及表达式。

6.根据权利要求1所述的方法,其特征在于,所述根据所述脸部模型的骨骼以及所述绑定信息,控制所述脸部模型的表情,包括:将所述骨骼添加至所述脸部模型,并对所述脸部模型进行蒙皮处理,得到处理后的脸部模型;

根据绑定信息,对所述脸部模型的骨骼进行调整,以控制所述处理后的脸部模型的表情。

7.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个对位点的位置,生成所述脸部模型的骨骼,包括:根据所述至少一个对位点的位置以及预设的画面精度,生成预设数量范围的所述脸部模型的骨骼。

8.一种模型表情处理的装置,其特征在于,通过终端设备提供图形用户界面,所述装置包括:获取模块,用于获取待处理的脸部模型;

控制模块,用于响应于针对目标插件的启动操作,启动所述目标插件,且在所述图形用户界面上显示针对所述目标插件的操作界面;

生成模块,用于响应于针对所述操作界面上第一控件的触发操作,生成所述脸部模型的至少一个对位点;

所述生成模块,还用于响应于针对所述操作界面上第二控件的触发操作,根据所述至少一个对位点的位置,生成所述脸部模型的骨骼,以及所述骨骼与所述脸部模型之间的绑定信息;

所述控制模块,还用于根据所述脸部模型的骨骼以及所述绑定信息,控制所述脸部模型的表情。

9.一种模型表情处理的设备,其特征在于,包括:存储器,用于存储程序;

处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至7任一所述的方法。

10.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一所述的方法。

说明书 :

模型表情处理的方法及装置

技术领域

[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] 在一种可能的设计中,所述生成模块具体用于:
[0045] 根据所述至少一个对位点的位置以及预设的画面精度,生成预设数量范围的所述脸部模型的骨骼。
[0046] 第三方面,本申请实施例提供一种模型表情处理的设备,包括:
[0047] 存储器,用于存储程序;
[0048] 处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
[0049] 第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
[0050] 本申请实施例提供一种模型表情处理的方法及装置,该方法包括:获取待处理的脸部模型。响应于针对目标插件的启动操作,启动目标插件,且在图形用户界面上显示针对目标插件的操作界面。响应于针对操作界面上第一控件的触发操作,生成脸部模型的至少一个对位点。响应于针对操作界面上第二控件的触发操作,根据至少一个对位点的位置,生成脸部模型的骨骼,以及骨骼与脸部模型之间的绑定信息。根据脸部模型的骨骼以及绑定信息,控制脸部模型的表情。通过根据目标插件自动生成脸部模型的对位点、骨骼以及骨骼与脸部模型之间的绑定信息,从而可以无需手动操作,即实现对脸部模型的表情的控制,有效提升了虚拟角色的面部表情处理效率,同时,可以让虚拟角色拥有更丰富的表情,提升用户体验。

附图说明

[0051] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0052] 图1为本申请实施例提供的创建少量骨骼的模型示意图;
[0053] 图2为本申请实施例提供的创建少量骨骼的表情示意图;
[0054] 图3为本申请一实施例提供的模型表情处理的方法的流程图;
[0055] 图4为本申请实施例提供的目标插件的操作界面示意图;
[0056] 图5为本申请实施例提供的生成对位点的示意图;
[0057] 图6为本申请实施例提供的生成骨骼以及绑定信息的示意图;
[0058] 图7为本申请另一实施例提供的模型表情处理的方法的流程图;
[0059] 图8为本申请实施例提供的添加骨骼的示意图;
[0060] 图9为本申请实施例提供的表情示意图;
[0061] 图10为本申请实施例提供的模型表情处理的装置的结构示意图;
[0062] 图11为本申请实施例提供的模型表情处理的设备的硬件结构示意图。

具体实施方式

[0063] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0064] 下面对本申请所涉及的背景技术进行进一步地详细介绍:
[0065] 随着游戏相关领域的不断发展,游戏的制作要求越来越高,通常游戏中都包括至少一个虚拟角色,其中虚拟角色在游戏中可能需要做出一些相应的面部表情,因为游戏的制作要求越来越高,因此对于虚拟角色的面部表情的要求也较高,通常要求虚拟角色的面部表情较为生动和形象。
[0066] 目前,现有技术在生成虚拟角色的面部表情时,通常是建立虚拟对象的模型,并且通过人工的手动操作的方式,建立模型的骨骼,并且手动的为每一个骨骼创建控制器、属性关联、表达式等,依靠创建的骨骼、控制器、约束命令、表达式,从而可以生成虚拟角色的表情。
[0067] 因此,现有技术中在针对虚拟角色生成表情时,需要采用手动的方式生成每一个虚拟角色的表情,然而手动处理的方式会导致虚拟角色的面部表情的处理效率低下,且表情比较单一。
[0068] 在一种可能的实现方式中,在人工进行手动处理时,为了提升处理速度,可以创建数量较少的骨骼,从而能够减少工作量,提升处理速度,然而在骨骼数量比较少时,可以生成的表情就比较单一,例如可以结合图1和图2进行理解,图1为本申请实施例提供的现有技术中创建模型骨骼的示意图,图2为本申请实施例提供现有技术中通过创建骨骼获得的表情示意图。
[0069] 如图1所示,假设当前针对某一模型,一般手动创建两个骨骼101和102,分别用于控制左眼的眼皮和右眼的眼皮,则该虚拟角色的只能进行睁眼或者闭眼,其中睁眼的示意图如图1所示,闭眼的示意图如图2所示,因此仅创建有图1所示的两个骨骼的虚拟角色,只能够作出眨眼的动画,从而导致虚拟角色的表情效果较为单一,无法实现虚拟角色的生动形象的表情。
[0070] 综上所述,现有技术中采用手动处理的方式,若需要提升虚拟角色的表情的生动性,则需要创建数量较多的骨骼、控制器等,从而导致虚拟角色的面部表情的处理效率低下。
[0071] 基于现有技术中的问题,本申请提出了如下技术构思:将生成骨骼过程中的大量重复性命令、繁琐复杂的属性关联等操作写成脚本语言,针对每一个模型,直接采用编写好的脚本语言进行处理即可,从而无需对每一个模型均进行手动处理,以有效提升虚拟角色的表情处理效率。
[0072] 下面结合具体的实施例对本申请提供的模型表情处理的方法进行介绍,图3为本申请一实施例提供的模型表情处理的方法的流程图,图4为本申请实施例提供的目标插件的操作界面示意图,图5为本申请实施例提供的生成对位点的示意图,图6为本申请实施例提供的生成骨骼以及绑定信息的示意图。
[0073] 如图3所示,该方法包括:
[0074] S301、获取待处理的脸部模型。
[0075] 其中,脸部模型为需要进行表情处理的虚拟角色的脸部的模型,可以针对虚拟角色的脸部进行建模,以得到待处理的脸部模型。
[0076] S302、响应于针对目标插件的启动操作,启动目标插件,且在图形用户界面上显示针对目标插件的操作界面。
[0077] 在本实施例中,目标插件为用于生成模型的对位点、骨骼、控制器、属性关联、表达式的插件。
[0078] 在一种可能的实现方式中,例如可以利用3DSMAX的maxscript语言,将生成模型的对位点、骨骼、控制器、属性关联、表达式的一系列操作编写成脚本语言,以及根据编写生成的脚本语言进行制作,从而得到本实施例中的目标插件。
[0079] 因此本实施例中目标插件可以包括用于生成模型的对位点、骨骼、控制器、属性关联、表达式的逻辑代码,目标插件只需要在检测到触发相关操作时,即可在后台自动执行相对应的逻辑代码,以实现对应的数据的生成。
[0080] 其中,针对目标插件的启动操作例如可以为在图形用户界面上的点击操作,或者还可以为触发用于启动目标插件的命令行运行的操作,本实施例中启动目标插件,可以在图形用户界面上显示针对目标插件的操作界面。
[0081] 在一种可能的实现方式中,目标插件的操作界面可以如图4所示,参见图4,目标插件的操作界面可以包括第一控件401和第二控件402,其中,第一控件401可以用于触发对应的逻辑代码,以生成脸部模型的至少一个对位点,第二控件可以用于触发对应的逻辑代码,以生成脸部模型的骨骼,以及骨骼与脸部模型之间的绑定信息。
[0082] 在其余可能的实现方式中,第一控件和第二控件的位置、形状、大小等均可以根据实际需求进行选择;或者目标插件中还可以仅包括一个控件,通过操作一个控件生成两个子控件,或者目标插件中还可以包括除第一控件和第二控件之外的控件,本实施例对目标插件的实现方式不做特别限制,只要目标插件的操作界面可以响应于相关的操作,从而触发相应的逻辑代码即可。
[0083] S303、响应于针对操作界面上第一控件的触发操作,生成脸部模型的至少一个对位点。
[0084] 本实施例中的目标插件的操作界面上包括第一控件,在一种可能的实现方式中,第一控件为可点击的控件,则针对第一控件的触发操作例如可以为点击操作;或者针对第一控件的触发操作还可以为长按操作等,本实施例对触发操作的实现方式不做限制,只要触发操作可以触发第一控件相对应的功能即可。
[0085] 在一种可能的实现方式中,可以响应作用于第一控件的点击操作,触发生成模型的对位点的逻辑代码,该逻辑代码自动执行之后,即可以生成脸部模型的至少一个对位点。
[0086] 图5中显示有脸部模型的一种可能的实现方式,如图5所示,目标插件501中包括第一控件502,其中,第一控件502用于生成脸部模型的至少一个对位点。
[0087] 例如在生成模型的对位点的逻辑代码执行完成之后,可以生成脸部模型的至少一个对位点,比如图5中的503,以及图5中脸部模型上的各个圆形的点均为对位点,在本实施例中,对位点可以用于指示生成的骨骼在脸部模型中的位置。
[0088] 在实际实现过程中,各个对位点的设置位置、对位点的设置数量等均可以根据实际需求对逻辑代码进行相应的设置,本实施例对对位点的设置方式不做特别限制。
[0089] S304、响应于针对操作界面上第二控件的触发操作,根据至少一个对位点的位置,生成脸部模型的骨骼,以及骨骼与脸部模型之间的绑定信息。
[0090] 在一种可能的实现方式中,骨骼与脸部模型之间的绑定信息可以包括骨骼对应的控制器、与控制器之间的属性关联及表达式,其中,每个骨骼均对应有控制器,在一种可能的实现方式中,多个存在关联关系的骨骼可以对应一个控制器。
[0091] 在本实施例中,骨骼对应有第一表现参数,其中第一表现参数用于指示骨骼的表现,以及控制器对应有第二表现参数,其中第二表现参数用于指示第一表现参数,因此本实施例中的控制器可以根据第二表现参数控制骨骼的第一表现参数,例如控制器可以是3ds Max中用来处理动画任务的组件,从而可以通过控制器控制骨骼的位置、旋转、缩放等各控制项的表现参数,以控制骨骼实现相应的动作,还可以用于存储动画关键帧的参数数值。
[0092] 以及,本实施例中的属性关联用于关联第一表现参数和第二表现参数,例如属性关联可以为3ds Max的Wire Parameter属性关联工具,通过属性关联工具,可以关联任意一个控制器和任意一个骨骼的表现参数,以达到调整一个控制器的表现参数就会自动更改对应的骨骼的表现参数的效果。
[0093] 以及,本实施例中的表达式用于关联第一表现参数和第二表现参数,其中表达式可以通过数学方式连接不同物体相关属性,例如可以将一个控制器的相关参数以数学公式的方式进行设置,只要改变该控制器的相关参数,其它关联的骨骼的参数会自动发生变化,从而使得对应的骨骼的表现也发生变化。
[0094] 本实施例中的第二控件是可点击的控件,则针对第二控件的触发操作例如可以为点击操作,或者还可以为其余的用于触发第二控件相对应的功能的操作。
[0095] 在一种可能的实现方式中,可以响应于针对第二控件的触发操作,触发生成模型的骨骼、控制器、属性关联、表达式的逻辑代码,例如参见图6中的601,目标插件601中包括第二控件602,其中,第二控件602用于生成脸部模型的骨骼、控制器、属性关联、表达式。
[0096] 该逻辑代码自动执行之后,即可以生成脸部模型的骨骼、控制器、属性关联、表达式,最终生成的内容即为图6中的脸部模型603上的内容所示。
[0097] 在本实施例中,对位点可以指示骨骼在脸部模型上的位置,则在一种可能的实现方式中,可以根据至少一个对位点的位置以及预设的画面精度,生成预设数量范围的脸部模型的骨骼,如图6所示,生成的脸部模型上的骨骼的位置和图5中至少一个对位点的位置的实现方式是相符合的。
[0098] 以及,若预设的画面精度较高,则可以设置数量较多的脸部模型的骨骼,若预设的画面精度较低,则可以设置数量较少的脸部模型的骨骼,预设的画面精度可以根据实际需求进行选择,本实施例对此不做限制,在本申请中,脸部模型的骨骼的数量在预设数量范围内,预设数量范围同样可以根据实际需求确定。
[0099] 接着,可以根据目标插件中生成模型的控制器、属性关联、表达式的逻辑代码,生成脸部模型的骨骼的控制器、属性关联、表达式。
[0100] 在实际实现过程中,各个骨骼的设置位置、骨骼的设置数量、各个骨骼的控制器、属性关联、表达式等的具体实现,均可以根据实际需求对逻辑代码进行相应的设置,本实施例对其设置方式不做特别限制。
[0101] 其中,骨骼的控制器、属性关联、表达式用于在生成虚拟对象的表情的过程中的处理相关的逻辑操作,以面部表情中的嘴部为例,例如可以针对嘴部的骨骼设置控制器、属性关联、表达式,在需要虚拟对象作出微笑的表情时,控制嘴角的骨骼向上移动,在需要虚拟对象作出大笑的表情时,控制嘴部的骨骼向指定位置进行相应的移动,从而可以实现对虚拟对象的表情的控制,目标插件中生成各个骨骼的控制器、属性关联、表达式等的实现方式,均可以根据实际需求进行相应的逻辑代码的编写,本实施例对此不做特别限制。
[0102] S305、根据脸部模型的骨骼以及绑定信息,控制脸部模型的表情。
[0103] 在生成脸部模型的骨骼以及绑定信息之后,就可以将生成的骨骼添加至脸部模型的对应位置,并根据骨骼与脸部模型之间的绑定信息控制骨骼的移动,以实现控制脸部模型的表情了。
[0104] 本申请实施例提供的模型表情处理的方法,包括:获取待处理的脸部模型。响应于针对目标插件的启动操作,启动目标插件,且在图形用户界面上显示针对目标插件的操作界面。响应于针对操作界面上第一控件的触发操作,生成脸部模型的至少一个对位点。响应于针对操作界面上第二控件的触发操作,根据至少一个对位点的位置,生成脸部模型的骨骼,以及骨骼与脸部模型之间的绑定信息。根据脸部模型的骨骼以及绑定信息,控制脸部模型的表情。通过根据目标插件自动生成脸部模型的对位点、骨骼以及骨骼与脸部模型之间的绑定信息,从而可以无需手动操作,即实现对脸部模型的表情的控制,有效提升了虚拟角色的面部表情处理效率。
[0105] 在上述实施例的基础上,下面结合一个具体的实施例对本申请中根据接收到的操作进行相应数据的生成的实现方式进行详细介绍,图7为本申请另一实施例提供的模型表情处理的方法的流程图,图8为本申请实施例提供的添加骨骼的示意图,图9为本申请实施例提供的表情示意图。
[0106] 下面对本实施例进行介绍:
[0107] 如图7所示,该方法包括:
[0108] S701、获取待处理的脸部模型。
[0109] S702、响应于针对目标插件的启动操作,启动目标插件,且在图形用户界面上显示针对目标插件的操作界面。
[0110] S703、响应于针对操作界面上第一控件的触发操作,生成脸部模型的至少一个对位点。
[0111] 其中,S701-S703的实现方式与S301-S303的实现方式类似,此处不再赘述。
[0112] S704、响应于针对至少一个对位点的调整操作,对至少一个对应点的位置进行调整。
[0113] 在本申请中,目标插件采用同一套逻辑代码处理各个脸部模型,因此针对不同的脸部模型生成的对位点的位置是相同的,然而,每个脸部模型之间存在一定的差距,因此可以在根据目标插件生成至少一个对位点之后,再对部分对位点的位置进行个性化的调整。
[0114] 在一种可能的实现方式中,可以根据脸部模型的布线,对至少一个对位点的位置进行调整,其中脸部模型的布线可以用于指示脸部模型的面部肌肉的走向,则根据脸部模型的布线调整至少一个对位点,可以有效提升脸部模型所实现的表情的生动性。
[0115] 在另一种可能的实现方式中,响应于针对至少一个对位点的调整操作,确定调整操作所选择的对位点,对调整操作所选择的对位点的位置进行调整。
[0116] 例如当前确定需要对部分对位点进行调整,则可以针对需要调整的至少一个对位点进行调整操作,其中调整操作例如可以为首先选中待调整的对位点,并且移动对位点的位置,从而实现对调整操作所选择的对位点的位置进行调整。
[0117] 在可能的实现方式中,可以仅调整脸部模型的左侧脸或者右侧脸,另一侧可以采用镜像调整自动处理,通过针对不同的脸部模型,进行对位点的个性化调整,能够进一步使得虚拟对象的表情更加生动形象。
[0118] S705、响应于针对操作界面上第二控件的触发操作,根据至少一个对位点的位置,生成脸部模型的骨骼,以及骨骼与脸部模型之间的绑定信息。
[0119] 其中,S705的实现方式与S304的实现方式相同,此处不再赘述。
[0120] S706、将骨骼添加至脸部模型,并对脸部模型进行蒙皮处理,得到处理后的脸部模型。
[0121] 在本实施例中,在生成脸部骨骼的模型之后,还需要将脸部模型的骨骼添加至脸部模型,才能够控制脸部模型生成相应的表情。
[0122] 其中,将脸部模型的骨骼添加至脸部模型之后的脸部模型的示意图如图8所示,接着可以对脸部模型进行蒙皮处理,图8中示意的操作界面即为蒙皮处理的操作界面,得到处理后的脸部模型,其中,蒙皮处理是指将脸部模型上的各个点匹配到骨骼上,然后用骨骼的运动来带动脸部模型的运动,是处理角色动画的一个重要环节。
[0123] S707、根据绑定信息,对脸部模型的骨骼进行调整,以控制处理后的脸部模型的表情。
[0124] 在完成上述的骨骼添加、蒙皮处理之后,就可以根据控制器、属性关联、表达式,对脸部模型的骨骼进行调整,以控制处理后的脸部模型的表情,因为本实施例中是采用目标插件进行自动化处理,因此可以设置数量较多的骨骼,最终生成的脸部模型的表情例如可以如图9所示,参见图9可以确定的是,当设置的骨骼数量较多时,虚拟角色的模型较为生动形象,并且本实施例中目标插件的自动化处理,还能够同时保证虚拟角色的处理效率。
[0125] 本申请实施例提供的模型表情处理的方法,包括:获取待处理的脸部模型。响应于针对目标插件的启动操作,启动目标插件,且在图形用户界面上显示针对目标插件的操作界面。响应于针对操作界面上第一控件的触发操作,生成脸部模型的至少一个对位点。响应于针对至少一个对位点的调整操作,对至少一个对应点的位置进行调整。响应于针对操作界面上第二控件的触发操作,根据至少一个对位点的位置,生成脸部模型的骨骼,以及骨骼与脸部模型之间的绑定信息。将骨骼添加至脸部模型,并对脸部模型进行蒙皮处理,得到处理后的脸部模型。根据绑定信息,对脸部模型的骨骼进行调整,以控制处理后的脸部模型的表情。通过将生成对位点、骨骼、控制器、属性关联、表达式等操作写成脚本语言,并制作成目标插件,从而可以通过操作目标插件,就可以在后台自动执行所有表情绑定所需要的步骤,高效快捷的实现对模型表情的处理,同时采用目标插件处理,能够有效保证处理的准确性。
[0126] 图10为本申请实施例提供的模型表情处理的装置的结构示意图。如图10所示,该装置100包括:获取模块1001、控制模块1002以及生成模块1003。
[0127] 获取模块1001,用于获取待处理的脸部模型;
[0128] 控制模块1002,用于响应于针对目标插件的启动操作,启动所述目标插件,且在所述图形用户界面上显示针对所述目标插件的操作界面;
[0129] 生成模块1003,用于响应于针对所述操作界面上第一控件的触发操作,生成所述脸部模型的至少一个对位点;
[0130] 所述生成模块1003,还用于响应于针对所述操作界面上第二控件的触发操作,根据所述至少一个对位点的位置,生成所述脸部模型的骨骼,以及所述骨骼与所述脸部模型之间的绑定信息;
[0131] 所述控制模块1002,还用于根据所述脸部模型的骨骼以及所述绑定信息,控制所述脸部模型的表情。
[0132] 在一种可能的设计中,所述控制模块1002还用于:
[0133] 在生成所述脸部模型的至少一个对位点后,响应于针对所述至少一个对位点的调整操作,对所述至少一个对应点的位置进行调整。
[0134] 在一种可能的设计中,所述控制模块1002具体用于:
[0135] 根据所述脸部模型的布线,对所述至少一个对位点的位置进行调整。
[0136] 在一种可能的设计中,所述控制模块1002具体用于:
[0137] 响应于针对所述至少一个对位点的调整操作,确定所述调整操作所选择的对位点;
[0138] 对所述调整操作所选择的对位点的位置进行调整。
[0139] 在一种可能的设计中,所述骨骼与所述脸部模型之间的绑定信息包括:
[0140] 所述骨骼对应的控制器、与所述控制器之间的属性关联及表达式,其中,每个骨骼均对应有控制器,所述骨骼的第一表现参数用于指示所述骨骼的表现,所述控制器的第二表现参数用于指示所述第一表现参数,所述控制器用于根据所述第二表现参数控制所述第一表现参数,所述属性关联用于关联所述第一表现参数和所述第二表现参数,所述表达式用于关联所述第一表现参数和第二表现参数。
[0141] 在一种可能的设计中,所述控制模块1002具体用于:
[0142] 将所述骨骼添加至所述脸部模型,并对所述脸部模型进行蒙皮处理,得到处理后的脸部模型;
[0143] 根据绑定信息,对所述脸部模型的骨骼进行调整,以控制所述处理后的脸部模型的表情。
[0144] 在一种可能的设计中,所述生成模块1003具体用于:
[0145] 根据所述至少一个对位点的位置以及预设的画面精度,生成预设数量范围的所述脸部模型的骨骼。
[0146] 图11为本申请实施例提供的模型表情处理的设备的硬件结构示意图,如图11所示,本实施例的模型表情处理的设备110包括:处理器1101以及存储器1102;其中[0147] 存储器1102,用于存储计算机执行指令;
[0148] 处理器1101,用于执行存储器存储的计算机执行指令,以实现上述实施例中模型表情处理的方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
[0149] 可选地,存储器1102既可以是独立的,也可以跟处理器1101集成在一起。
[0150] 当存储器1102独立设置时,该模型表情处理的设备还包括总线1103,用于连接所述存储器1102和处理器1101。
[0151] 本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上模型表情处理的设备所执行的模型表情处理的方法。
[0152] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0153] 上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
[0154] 应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0155] 存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
[0156] 总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
[0157] 上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0158] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0159] 最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。