表情模型的生成方法及装置、电子设备、存储介质与流程

文档序号:33118437发布日期:2023-02-01 03:14阅读:57来源:国知局
表情模型的生成方法及装置、电子设备、存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及表情模型的生成方法及装置、电子设备、存储介质。


背景技术:

2.blend shape(混合变形)是一种常用的面部表情动画合成方法,是单个网格形变成许多预定义形状之间组合的技术。每个预定义形状是圆形状的一个形变,而每个形变的网格是以一系列顶点位置来存储的。在不同的顶点位置之间插值即可得到形变的效果。故通常每个形变都是该形变极端情况的表现。
3.blend shape记录的是模型上每个顶点的位移,所以在制作表情模型的流程上,每制作一个表情模型都需要复制无表情的源模型,然后在复制出的源模型的基础上,按照所需要展示的表情进行修改,得到源模型的表情模型,最后将表情模型添加为源模型的形变目标。此后,调节混合参数即可实现在源模型和形变目标之间形变。
4.现如今对游戏、动漫、影视等的品质要求越来越高,动画人物需要更多样化,即要求更多的角色、更多的表情。采用上述现有技术制作表情模型的方式,需要美术人员重复多次的复制各个角色的无表情源模型、基于复制的源模型手动调整得到对应的表情模型,该过程工作量大,效率低。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.鉴于上述问题,提出了本技术以便提供克服上述问题或者至少部分地解决上述问题的表情模型的生成方法及装置、电子设备、存储介质,包括:
7.一种表情模型的生成方法,所述方法包括:
8.确定目标角色的无表情角色模型;
9.根据所述无表情角色模型的脸型特点,从模型库中确定与所述脸型特点匹配的目标参考角色的目标无表情参考模型以及多个不同表情的目标表情参考模型;
10.根据各个所述目标表情参考模型与所述目标无表情参考模型之间的形变数据,生成所述无表情角色模型对应的多个不同表情的表情角色模型。
11.一种表情模型的生成装置,所述装置包括:
12.目标角色确定模块,用于确定目标角色的无表情角色模型;
13.参考角色确定模块,用于根据所述无表情角色模型的脸型特点,从模型库中确定与所述脸型特点匹配的目标参考角色的目标无表情参考模型以及多个不同表情的目标表情参考模型;
14.表情模型生成模块,用于根据各个所述目标表情参考模型与所述目标无表情参考模型之间的形变数据,生成所述无表情角色模型对应的多个不同表情的表情角色模型。
15.一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的表情模型的生成方法。
16.一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的表情模型的生成方法。
17.本技术具有以下优点:
18.在本技术实施例中,通过确定目标角色的无表情角色模型;根据无表情角色模型的脸型特点,从模型库中确定与脸型特点匹配的目标参考角色的目标无表情参考模型以及多个不同表情的目标表情参考模型;根据各个目标表情参考模型与目标无表情参考模型之间的形变数据,生成无表情角色模型对应的多个不同表情的表情角色模型;可以实现自动化生成目标角色的多个不同表情的表情角色模型,提高表情角色模型的生成效率;并且,通过无表情角色模型的脸型特点来确定对应的目标无表情参考模型,可以提高生成的表情角色模型表达表情的准确性,提高表情角色模型的生成效果。
附图说明
19.为了更清楚地说明本技术的技术方案,下面将对本技术的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1至图4为现有技术blend shape的制作流程示意图;
21.图5为本技术实施例的一种表情模型的生成方法的步骤流程图;
22.图6为本技术实施例一示例中目标无表情参考模型示意图;
23.图7为本技术实施例一示例中目标表情参考模型示意图;
24.图8为本技术实施例一示例中无表情角色模型示意图;
25.图9为本技术实施例一示例中表情角色模型示意图;
26.图10为本技术实施例一示例中生成表情角色模型的步骤流程图;
27.图11为本技术实施例的一种表情模型的生成装置的结构框图。
具体实施方式
28.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.blend shape是单个网格形变成许多预定义形状之间组合的技术。如图1所示,图1中包括一个源模型和两个形变目标,下面以图1为例介绍blend shape的基本制作流程。首先,需要制作源模型a,然后,复制源模型a,对源模型a按照要求进行手动调整,得到如图1所示的形变目标1和形变目标2;再如图2所示,在选中源模型a(即pcube1)的情况下,点击形变编辑器的创建形变按钮,为源模型a创建blend shape;再如图3所示,在选中形变目标1(即pcube2)和形变目标2(即pcube3)的情况下,点击添加目标按钮,将形变目标1和形变目标2
分别添加到创建的blend shape中,此时,blend shape中已经分别存储了原模型a与形变目标1和形变目标2每个顶点的位移。之后就可以如图4所示通过控制混合权重来实现在源模型a与形变目标1和形变目标2之间形变。
30.可见,现有技术在使用blend shape制作形变模型的过程中,需要美术人员预先制作好源模型和所有形变目标。以游戏为例,游戏中角色数量一般较多,角色的表情也较多,一般地,不同角色具有相同的表情模型,例如,角色a具有大笑、闭眼、张嘴等表情,角色b也具有大笑、闭眼、张嘴等表情。使用现有技术的blend shape来制作,需要美术人员手动制作所有角色的源模型和表情模型,存在工作量大,效率低等问题。
31.鉴于此,本技术实施例提供了一种表情模型的生成方法,在确定待生成表情角色模型的目标角色的无表情角色模型之后,从模型库中确定与无表情角色模型的脸型特点相匹配的目标无表情参考模型,以及目标无表情参考模型对应的多个不同表情的目标表情参考模型,进而根据各个目标表情参考模型与目标无表情参考模型之间的形变数据,自动化生成无表情角色模型的多个不同表情的表情角色模型;可以提高表情角色模型的生成效率和效果。
32.参照图5,示出了本技术一实施例提供的一种表情模型的生成方法的步骤流程图,在本技术实施例中,该方法可以包括如下步骤:
33.步骤501,确定目标角色的无表情角色模型。
34.在本技术实施例中,目标角色可以指游戏中待生成表情模型的角色。无表情模型可以认为是美术人员为目标角色设计的源模型。为了便于区分,将目标角色的无表情模型记为无表情角色模型,目标角色的表情模型记为表情角色模型。
35.步骤502,根据所述无表情角色模型的脸型特点,从模型库中确定与所述脸型特点匹配的目标参考角色的目标无表情参考模型以及多个不同表情的目标表情参考模型。
36.参考角色可以是指同款游戏中与目标角色不同的、已经生成无表情模型和表情模型的角色,也可以是其他游戏中已经生成无表情模型和表情模型的角色。并且,参考角色的拓扑结构与目标角色相同,即参考角色的模型与目标角色的模型具有相同的顶点数,并且顶点间的连接关系相同。为了便于区分,将参考角色的无表情模型记为无表情参考模型,将参考角色的表情模型记为表情参考模型。
37.模型库中存储有至少一个参考角色的参考模型组,参考模型组中包括该参考角色的无表情参考模型和多个不同表情的表情参考模型。需要说明的是,本技术实施例中的表情模型可以是具体模型结构,也可以不是具体模型结构,而是通过表情名称和对应的形变数据来体现;该形变数据是无表情参考模型形变为对应表情参考模型时所产生的形变数据。模型库中存储的参考模型组可以由用户手动导入,例如,通过触发界面中的导入控件,选择制作好的参考模型组导入到模型库中;模型库中存储的参考模型组还可以包括通过自动化的形式自动导入的参考模型组,例如,在生成一个角色相关的表情模型后,将该角色的表情模型和无表情模型自动导入到模型库中,以丰富模型库。
38.无表情角色模型的脸型特点可以用于表示目标角色的脸型,目标参考角色可以认为是脸型与目标角色的脸型匹配的参考角色,即目标参考角色的无表情参考模型的脸型特点与目标角色的无表情角色模型的脸型特点相匹配。通过脸型特点匹配的方式来确定目标参考模型组,可以提高后续自动生成目标角色的表情角色模型的效果。
39.步骤503,根据各个所述目标表情参考模型与所述目标无表情参考模型之间的形变数据,生成所述无表情角色模型对应的多个不同表情的表情角色模型。
40.目标表情参考模型可以认为是由目标无表情参考模型通过形变得到的,因此,每个目标表情参考模型与目标无表情参考模型之间都存在形变数据,该形变数据可以包括目标表情参考模型的各个顶点与目标无表情参考模型的对应顶点之间的位移数据;或者,也可以包括目标表情参考模型的特征顶点与目标无表情参考模型对应特征顶点之间的位移数据,其中,模型的特征顶点的数量小于模型的顶点的总数。
41.由于无表情角色模型与目标无表情参考模型的脸型特点相匹配,因此,在得到目标表情参考模型对应的形变数据后,将无表情角色模型的顶点或特征顶点按照形变数据进行移动,可以实现自动将无表情角色模型形变为对应的表情角色模型。
42.本技术实施例通过确定目标角色的无表情角色模型;根据无表情角色模型的脸型特点,从模型库中确定与脸型特点匹配的目标参考角色的目标无表情参考模型以及多个不同表情的目标表情参考模型;根据各个目标表情参考模型与目标无表情参考模型之间的形变数据,生成无表情角色模型对应的多个不同表情的表情角色模型;可以实现自动化生成目标角色的多个不同表情的表情角色模型,提高表情角色模型的生成效率;并且,通过无表情角色模型的脸型特点来确定对应的目标参考模型组,可以提高生成的表情角色模型表达表情的准确性,提高表情角色模型的生成效果。
43.下面,将对本示例性实施例中表情模型的生成方法作进一步地说明。
44.在步骤501中,确定目标角色的无表情角色模型。
45.以游戏为例,本技术实施例中,在游戏设计阶段,需要为游戏中的每个角色设计制作一个无表情模型,然后再采用本技术实施例提供的表情模型的生成方法自动化生成各个角色的表情模型。
46.目标角色可以指游戏中待生成表情模型的角色。当待生成表情模型的角色有多个时,可以按照一定的顺序来确定当前需要生成表情模型的目标角色,依次执行本技术实施例提供的表情模型的生成方法,以生成目标角色的表情模型,也可以将所有待生成表情模型的角色作为目标角色,通过并行执行本技术实施例提供的表情模型的生成方法来生成各个目标角色的表情模型。
47.在步骤502中,根据所述无表情角色模型的脸型特点,从模型库中确定与所述脸型特点匹配的目标参考角色的目标无表情参考模型以及多个不同表情的目标表情参考模型。
48.在本实施例中,模型库中存储的参考角色的无表情参考模型的拓扑结构与目标角色的拓扑结构相同。模型的脸型特点与模型的各顶点(或各特征顶点)之间的相对位置关系相关。当两个模型的脸型特点相匹配时,可以认为该两个模型的各顶点(或各特征顶点)之间的相对位置关系相同或近似相同。
49.在本实施例中,无表情角色模型的脸型特点可以指无表情角色模型的脸部的脸型特点,用于表示目标角色的脸型,需要说明的是本技术中的脸型包括脸部轮廓和五官。发明人发现,脸型相同或相近的角色的表情具有相似性;例如,角色a的闭眼表情中上眼睑的位置与角色a无表情(即正常睁眼)时上眼睑的位置的距离为d1;当角色b与角色a的脸型相同时,角色b的闭眼表情中上眼睑的位置与角色b无表情(即正常睁眼)时上眼睑的位置的距离也为d1。
50.本技术实施例通过目标角色的无表情角色模型的脸型特点来确定目标参考角色的目标无表情参考模型,进而确定目标参考角色的多个不同表情的目标表情参考模型,可以使生成的表情模型的效果接近于理想效果。
51.在本技术一可选实施例中,上述根据所述无表情角色模型的脸型特点,从模型库中确定与所述脸型特点匹配的目标参考角色的目标无表情参考模型,可以包括:
52.确定所述无表情角色模型的各个角色顶点与所述无表情角色模型的角色中心的角色距离,以及所述模型库中各个参考角色的无表情参考模型的各个参考顶点与对应的无表情参考模型的参考中心的参考距离;
53.根据所述角色距离和参考距离确定对应的无表情参考模型的缩放系数,并依据所述缩放系数对对应的无表情参考模型进行缩放,得到缩放后的无表情参考模型;
54.确定所述无表情角色模型与各个缩放后的无表情参考模型之间的仿射变换矩阵对应的值;
55.从多个所述值中确定最小值,并将所述最小值对应的无表情参考模型确定为所述目标无表情参考模型。
56.在本实施例中,在确定目标角色的无表情角色模型之后,可以计算无表情角色模型的各个顶点与模型中心的距离,为了便于区分,将无表情角色模型的顶点记为角色顶点,将无表情角色模型的模型中心记为角色中心,将无表情角色模型的各个角色顶点与角色中心的距离记为角色距离。
57.模型库中存储有多个参考角色的参考模型组,参考模型组中包括该参考角色的无表情参考模型和多个不同表情的表情参考模型。对模型库中存储的每个无表情参考模型,计算无表情参考模型的各个顶点与模型中心的距离,为便于区分,将无表情参考模型的顶点记为参考顶点,将无表情参考模型的模型中心记为参考中心,将无表情参考模型的各个参考顶点与参考中心的距离记为参考距离。
58.在得到无表情角色模型各角色顶点对应角色距离和无表情参考模型各参考顶点对应的参考距离后,由于无表情角色模型和无表情参考模型的拓扑结构相同,因此,可以计算无表情角色模型各个角色顶点的角色距离与无表情参考模型对应的参考顶点的参考距离之间的比值,最后对所有比值求均值,得到比值均值,将该比值均值作为无表情参考模型的缩放系数对无表情参考模型进行缩放,得到缩放后的无表情参考模型,此时,缩放后的无表情参考模型与无表情角色模型处于最接近的状态。
59.对于无表情角色模型和无表情参考模型中对应的三角形,可以通过仿射变换得到,因此,可以构建无表情角色模型和无表情参考模型的仿射变换矩阵,并求解,得到仿射变换矩阵对应的值。需要说明的是,在本实施例中,仿射变换矩阵包括各个三角形的子仿射变换矩阵,仿射变换矩阵对应的值可以表示所有子仿射变换矩阵的子值的和或平均值,其中,子仿射变换矩阵的子值即每个三角形的仿射变换矩阵的行列式的绝对值。
60.值越小,说明无表情参考模型与无表情角色模型的脸型匹配度更高,因此,在得到各个无表情参考模型对应的值后,可以从中确定出最小值,将该最小值对应的无表情参考模型确定为目标无表情参考模型。
61.可选地,为了减少计算量,上述角色顶点可以指无表情角色模型中的特征顶点,相应地,参考顶点可以是指无表情参考模型中的特征顶点。
62.为了进一步提高目标无表情参考模型与无表情角色模型的匹配度,在本技术一些可选实施例中,上述将所述最小值对应的无表情参考模型确定为所述目标无表情参考模型,还可以包括:
63.判断所述最小值是否符合设定值,若是,则将所述最小值对应的无表情参考模型确定为所述目标无表情参考模型;
64.若所述最小值不符合所述设定值,则生成提示信息,以提示所述模型库中不存在与所述脸型特点匹配的目标无表情参考模型。
65.在本实施例中,设定值用于表示匹配范围,当最小值符合设定值时,说明该最小值在设定的匹配范围内,则将该最小值对应的无表情参考模型确定为目标无表情参考模型;当该最小值不在设定的匹配范围内时,则说明该最小值对应的无表情参考模型与无表情角色模型的匹配度低于允许的匹配度,进而说明当前模型库中不存在与无表情角色模型匹配的无表情参考模型,此时,可以生成提示信息,可以通过提示信息提醒相关人员进行干预处理,例如,相关人员在收到提示信息后,可以自主决定是否继续将该无表情参考模型确定为目标无表情参考模型,并重点检查将该无表情参考模型确定为目标无表情参考模型后,生成的表情角色模型的效果。
66.在本技术一些可选实施例中,上述将所述最小值对应的无表情参考模型确定为所述目标无表情参考模型,还可以包括:
67.判断所述最小值是否符合设定值,若否,则生成提醒信息。
68.在本实施例中,不论最小值是否符合设定值,都将最小值对应的无表情参考模型确定为目标无表情参考模型;但当最小值不符合设定值时,同时生成提醒信息,以提醒相关人员重点检查后续生成的表情角色模型的效果。
69.可选地,为了方便计算,提高计算效率和节约计算资源,需要确保上述无表情角色模型和无表情参考模型的朝向一致,具体可以通过将无表情角色模型和无表情参考模型的旋转数据归0来实现。另外,在本技术一些可选实施例中,在确定目标角色的无表情角色模型之后,还可以包括:
70.移动所述无表情参考模型或无表情角色模型,使所述无表情参考模型的参考中心与所述无表情角色模型的角色中心重合。
71.本实施例通过移动操作使无表情参考模型的参考中心与无表情角色模型的角色中心重合,可以方便后续计算,降低计算难度,提高计算效率。
72.示例性地,可以计算无表情参考模型的所有参考顶点的第一坐标均值,以及计算无表情角色模型的所有角色顶点的第二坐标均值,根据第一坐标均值与第二坐标均值的差异,移动无表情参考模型或无表情角色模型,使第一坐标均值和第二坐标均值相等,即使两者的模型中心重合。
73.在本技术另一可选实施例中,模型库中多个参考角色的无表情参考模型按照预设顺序排序,上述根据所述无表情角色模型的脸型特点,从模型库中确定与所述脸型特点匹配的目标参考角色的目标无表情参考模型,可以包括:
74.确定所述无表情角色模型的各个角色顶点与所述无表情角色模型的角色中心的角色距离;
75.确定当前序号的无表情参考模型的各个参考顶点与对应参考中心的当前序号参
考距离;
76.根据所述角色距离和当前序号参考距离确定所述当前序号的无表情参考模型的当前序号缩放系数,并依据所述当前序号缩放系数对所述当前序号的无表情参考模型进行缩放,得到当前序号缩放后的无表情参考模型;
77.确定所述无表情角色模型与所述当前序号缩放后的无表情参考模型之间的仿射变换矩阵对应的当前值;
78.当所述当前值符合设定值时,将所述当前序号的无表情参考模型确定为所述目标无表情参考模型;
79.当所述当前值不符合所述设定值时,则按照所述无表情参考模型的排序顺序,更新所述当前序号的无表情参考模型,并返回所述确定当前序号的无表情参考模型的各个参考顶点与对应参考中心的当前序号参考距离的步骤继续执行。
80.在本实施例中,模型库中的参考模型组按照预设顺序排序,该预设顺序可以是以参考模型组存入模型库的先后顺序进行正向排序或逆向排序,也可以根据模型库中参考模型组被确定为目标参考模型组(即目标参考角色对应的参考模型组)的次数,按照次数从大到小或从小到大的顺序进行排序。在对模型库中的参考模型组进行排序后,可以从序号最小的参考模型组开始,即初始时,当前序号的无表情参考模型为序号最小的参考模型组中的无表情参考模型,判断该当前序号的无表情参考模型与无表情角色模型是否匹配,若匹配,则将当前序号的无表情参考模型确定为目标无表情参考模型,若不匹配,则判断下一序号的参考模型组中的无表情参考模型与无表情角色模型是否匹配,即将下一序号的参考模型组更新为当前序号参考模型组,直到确定出目标无表情参考模型为止,或直到模型库中所有无表情参考模型都完成匹配判断为止。
81.需要说明的是,当前序号的确定以及更新并不限于上述示例,例如,还可以从序号最大的参考模型组开始,即初始时,当前序号的无表情模型为序号最大的参考模型组中的无表情参考模型;当当前序号的无表情模型与无表情角色模型不匹配时,则将上一序号的参考模型组更新为当前序号参考模型组。
82.其中,判断无表情参考模型与无表情角色模型是否匹配的过程可以参见上文描述,此处不再赘述。
83.步骤503,根据各个所述目标表情参考模型与所述目标无表情参考模型之间的形变数据,生成所述无表情角色模型对应的多个不同表情的表情角色模型。
84.目标表情参考模型是由目标无表情参考模型通过形变得到的,因此,每个目标表情参考模型与目标无表情参考模型之间都存在形变数据,该形变数据可以包括目标表情参考模型的各个参考顶点与目标无表情参考模型的对应参考顶点之间的位移数据。
85.由于无表情角色模型与目标无表情参考模型的脸型特点相匹配,因此,在得到目标表情参考模型对应的形变数据后,将无表情角色模型的角色顶点按照形变数据中对应的位移数据进行移动,可以实现自动将无表情角色模型形变为对应的表情角色模型。
86.其中,位移数据可以是具体的移动单位的数量,也可以是移动比例,本技术实施例对此不做具体限定。
87.本实施例通过移动数据来指导无表情角色模型的角色顶点移动,得到由无表情角色模型形变后的表情角色模型,与其他采用包裹形变处理方式实现对无表情角色模型进行
形变得到相应的形变模型相比,本技术实施例在形变过程中可以避免额外产生模型(包裹形变处理会产生额外的高模或低模模型),相对资源消耗小。
88.在一些示例中,上述根据各个所述目标表情参考模型与所述目标无表情参考模型之间的形变数据,生成所述无表情角色模型对应的多个不同表情的表情角色模型的过程,可以包括:
89.根据所述目标角色的目标表情参考模型的数量复制所述无表情角色模型,得到各个所述目标表情参考模型对应的无表情角色模型副本;
90.根据各个所述目标表情参考模型的位移数据,分别移动对应的无表情角色模型副本的角色顶点,得到多个不同表情的表情角色模型。
91.在本示例中,通过复制无表情角色模型,得到与目标表情角色模型的数量相同的无表情角色模型副本,每个无表情角色模型副本对应一个目标表情参考模型;通过获取所有目标表情参考模型对应的位移数据,以根据各个目标表情参考模型对应的位移数据对对应的无表情角色模型副本的角色顶点进行移动,实现对无表情角色模型副本进行形变;每个目标表情模型对应的无表情角色模型副本的角色顶点移动后,可以得到与对应的目标表情模型属于同一表情的表情角色模型,由于目标角色具有多个不同表情的目标表情参考模型,因此可以得到多个不同表情的表情角色模型。
92.在一些示例中,也可以按序依次生成多个不同表情的表情角色模型,例如,获取其中一个目标表情参考模型对应的位移数据,并在获取一个目标表情模型对应的位移数据后,复制无表情角色模型,得到一个无表情角色模型副本,然后根据位移数据移动无表情角色模型副本的角色顶点,以将无表情角色模型副本形变成与目标表情参考模型属于同一表情的表情角色模型;在得到一个表情角色模型后,再获取下一个目标表情参考模型对应的位移数据,继续执行上述复制无表情角色模型、移动无表情角色模型副本的角色顶点、生成与目标表情参考模型属于同一表情的表情模型的步骤;直至生成与各个目标表情参考模型一一对应的表情角色模型。
93.在一些示例中,上述根据各个所述目标表情参考模型与所述目标无表情参考模型之间的形变数据,生成所述无表情角色模型对应的多个不同表情的表情角色模型的过程,可以包括:
94.确定所述目标无表情参考模型形变为所述无表情角色模型所对应的初始形变数据;
95.在所述初始形变数据的基础上分别叠加各个所述目标无表情参考模型对应的形变数据,得到多个目标形变数据;
96.根据各个所述目标形变数据对所述目标无表情参考模型进行形变,生成所述无表情角色模型对应的多个不同表情的表情角色模型。
97.由于目标无表情参考模型和无表情角色模型的拓扑结构相同,因此,可以将目标无表情参考模型形变为无表情角色模型,并记录目标无表情参考模型形变为无表情角色模型所对应的初始形变数据。
98.当目标表情参考模型在模型库中是以表情名称和形变数据的形式存储时,可以直接获取到各个目标表情参考模型对应的形变数据,由于模型库中存储有目标无表情参考模型和各个目标表情参考模型的形变数据,因此,可以获取到各个目标表情参考模型对应的
形变数据。
99.将初始形变数据分别与各个目标表情参考模型对应的形变数据进行叠加,可以得到多个目标形变数据。
100.最后,将目标无表情参考模型按照各个目标形变数据分别进行形变,得到的多个不同的表情模型即为目标角色的表情角色模型。
101.需要说明的是,在一些示例中,也可以提供目标表情参考模型的选项,以供用户选择需要生成的表情角色模型对应的表情,即可以根据目标角色的实际需求,生成所需要的表情角色模型,避免生成非必要表情角色模型,从而节约资源。
102.例如,当目标角色为次要角色,而目标参考角色为主要角色时,由于次要角色在游戏中需要展示的表情的数量小于主要角色需要展示的表情的数量,因此,针对目标角色,可以只生成与目标参考角色的部分表情对应的表情角色模型。
103.进一步地,考虑到实际应用中美术人员在制作目标角色的无表情角色模型的过程中可能存在一些不规范的情况,例如,未对无表情角色模型进行冻结变换。若直接根据目标表情参考模型的形变数据对无表情角色模型进行形变,会产生偏差。因此,在本技术一些可选实施例中,在所述根据各个所述目标表情参考模型与所述目标无表情参考模型之间的形变数据,生成所述无表情角色模型对应的多个不同表情的表情角色模型之前,所述方法还包括:
104.检测所述无表情角色模型是否进行冻结变换;
105.若否,则对所述无表情角色模型进行冻结变换。
106.在本实施例中,通过检测无表情角色模型是否进行冻结变换,当未执行冻结变换时,对无表情角色模型进行冻结变换,可以防止因无表情角色模型制作不规范产生的偏差。
107.示例性地,可以通过检测无表情角色模型的当前位移、旋转、缩放等参数来判断无表情角色模型是否进行冻结变换。当当前位移、旋转参数不为0,缩放参数不为1时,说明该无表情角色模型未进行冻结变换,则需要对该无表情角色模型进行冻结变换。
108.需要说明的是,在其他实施例中,也可以不通过判断,直接对无表情角色模型进行冻结变换。可选地,还可以清除无表情角色模型的历史记录,不仅可以节约存储空间,还可以避免历史记录的干扰。
109.进一步地,在本技术一可选实施例中,在生成无表情角色模型对应的多个不同表情的表情角色模型之后,还可以包括:
110.展示所述表情角色模型。
111.本实施例在生成表情角色模型之后,还可以在相应的显示屏展示表情角色模型,以供用户判断生成的表情角色模型是否符合预期。其中,多个不同表情的表情角色模型可以在一个画面中同时展示,也可以采用多个画面分别展示。
112.示例性地,当多个不同表情的表情角色模型是按顺序生成时,可以在每生成一个表情角色模型后,直接对该生成的表情角色模型进行展示;也可以在所有表情角色模型生成之后,再展示生成的所有表情角色模型。
113.进一步地,在本技术一可选实施例中,上述方法还可以包括:
114.响应于针对所述表情角色模型的调整操作,更新所述表情角色模型。
115.当用户在查看生成的表情角色模型的过程中,认为其中一个或多个表情角色模型
不符合预期时,还可以通过调整操作对对应的表情角色模型进行调整。其中,调整操作包括对表情角色模型的顶点进行移动的操作,具体地,用户可以通过脚本的形式对表情角色模型的顶点进行移动,也可以通过拖动表情角色模型顶点的方式对表情角色模型的顶点进行移动。
116.当用户对表情角色模型调整完毕后,可以保存调整操作后的新表情角色模型,并采用该新表情角色模型替换对应的被调整的表情角色模型,以更新被调整的表情角色模型,确保目标角色的表情角色模型的准确性。
117.在得到目标角色的表情角色模型和无表情角色模型之后,可以将目标角色的表情角色模型作为无表情角色模型的形变目标,通过调整无表情角色模型和形变目标的混合参数,即可实现目标角色在无表情角色模型和形变目标之间形变。
118.本技术实施例通过确定目标角色的无表情角色模型;根据无表情角色模型的脸型特点,从模型库中确定与脸型特点匹配的目标参考角色的目标无表情参考模型以及多个不同表情的目标表情参考模型;根据各个目标表情参考模型与目标无表情参考模型之间的形变数据,生成无表情角色模型对应的多个不同表情的表情角色模型;可以实现自动化生成目标角色的多个不同表情的表情角色模型,提高表情角色模型的生成效率;并且,通过无表情角色模型的脸型特点来确定对应的目标无表情参考模型,可以提高生成的表情角色模型表达表情的准确性,提高表情角色模型的生成效果。
119.为了方便本领域技术人员理解本方案,下面将结合图6-10对本技术实施例提供的表情模型的生成方法进行示例性描述、说明。
120.在本示例中,将本技术实施例提供的表情模型的生成方法以脚本的形式应用于模型制作软件中,该模型制作软件具有blend shape编辑器,例如maya三维动画制作软件。当终端设备运行该模型制作软件时,可以接收用户的第一导入操作,将第一导入操作选择的参考模型组导入到模型库中,其中,参考模型组是指带有blend shape的无表情参考模型,即参考模型组包括无表情参考模型和多个不同表情的表情参考模型。
121.为了方便理解本实施例中根据目标表情参考模型与目标无表情参考模型之间的形变数据,生成无表情角色模型对应的表情角色模型的过程,本示例中,导入的无表情参考模型如图6所示,其中一个表情参考模型如图7所示;即目标无表情参考模型如图6所示,其中目标表情参考模型如图7所示。
122.同时,还可以接收用户的第二导入操作,通过第二导入操作确定待生成表情模型的无表情模型。
123.为了方便理解,本示例中,导入的待生成表情模型的无表情模型如图8所示,即目标角色的无表情角色模型如图8所示。
124.响应于脚本运行操作,运行用于实现本技术表情模型的生成方法的脚本,自动生成目标角色的表情角色模型,表情角色模型如图9所示。
125.如图10所示,脚本运行的流程包括如下步骤:
126.步骤1001,将无表情角色模型添加为目标无表情参考模型的形变目标。即无表情角色模型添加为目标无表情参考模型的blend shape中的一个目标表情参考模型。由于目标无表情参考模型与无表情角色模型的脸型特点相匹配,因此,可以将无表情角色模型作为目标无表情参考模型的形变目标。此时,目标无表情参考模型的blend shape中的所有目
标表情参考模型的混合权重调整为0。
127.步骤1002,将无表情角色模型的混合权重调整为1。该步骤可以理解为,确定目标无表情参考模型形变为无表情角色模型时的初始形变数据。
128.步骤1003,判断是否存在未处理的目标表情参考模型。即判断目标无表情参考模型的blend shape中除无表情角色模型外的原始目标表情参考模型,其对应的混合权重是否从0调整为1;若存在没有调整过的原始目标表情参考模型,则执行步骤1004;若不存在没有调整过的原始目标表情参考模型,则结束。
129.步骤1004,将第一形变目标的混合权重调整为1。该第一形变目标为其中一个未处理的目标表情参考模型。该步骤可以理解为,将初始形变数据和原始目标表情参考模型对应的形变数据进行叠加。
130.步骤1005,复制当前模型,作为无表情角色模型的表情角色模型。由于当前第一形变目标和无表情角色模型的混合权重均为1,其他目标表情参考模型的混合权重为0,因此,当前模型是第一形变目标与无表情角色模型进行混合形变得到的模型;并且,由于第一形变目标的混合权重调整为1是在无表情角色模型的混合权重调整为1之后,因此,当前模型是在无表情角色模型的基础上,混合第一形变目标的形变数据得到的,当前模型即为无表情角色模型与第一形变目标同一表情的表情角色模型。
131.假设第一形变目标如图7所示,无表情角色模型如图8所示,当前模型即为图9所示,图9是图8的表情角色模型,并且图9与图7都是张嘴表情。
132.步骤1006,展示表情角色模型。在得到表情角色模型后,可以对表情角色模型进行展示,并接收用户针对展示的表情角色模型的调整操作,以更新表情角色模型。
133.步骤1007,将第一形变目标的混合权重调整为0,返回步骤1003。可以理解,在生成一个表情角色模型后,通过相同的方式,可以生成其他表情的表情角色模型。
134.在生成无表情角色模型对应的表情角色模型后,将无表情角色模型和表情角色模型导出,以便导入引擎使用。
135.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术实施例所必须的。
136.参照图11,示出了本技术的一种表情模型的生成装置实施例的结构框图,与上述表情模型的生成方法实施例相对应,在本技术实施例中,该装置可以包括如下模块:
137.目标角色确定模块1101,用于确定目标角色的无表情角色模型;
138.参考角色确定模块1102,用于根据所述无表情角色模型的脸型特点,从模型库中确定与所述脸型特点匹配的目标参考角色的目标无表情参考模型以及多个不同表情的目标表情参考模型;
139.表情模型生成模块1103,用于根据各个所述目标表情参考模型与所述目标无表情参考模型之间的形变数据,生成所述无表情角色模型对应的多个不同表情的表情角色模型。
140.可选地,所述参考角色确定模块1102,可以包括:
141.第一距离确定子模块,用于确定所述无表情角色模型的各个角色顶点与所述无表情角色模型的角色中心的角色距离,以及所述模型库中各个参考角色的无表情参考模型的各个参考顶点与对应的无表情参考模型的参考中心的参考距离;
142.第一缩放子模块,用于根据所述角色距离和参考距离确定对应的无表情参考模型的缩放系数,并依据所述缩放系数对对应的无表情参考模型进行缩放,得到缩放后的无表情参考模型;
143.第一值确定子模块,用于确定所述无表情角色模型与各个缩放后的无表情参考模型之间的仿射变换矩阵对应的值;
144.第一确定子模块,用于从多个所述值中确定最小值,并将所述最小值对应的无表情参考模型确定为所述目标无表情参考模型。
145.可选地,所述第一确定子模块,可以包括:
146.判断单元,用于判断所述最小值是否符合设定值;
147.第一处理单元,用于若是,则将所述最小值对应的无表情参考模型确定为所述目标无表情参考模型;
148.第二处理单元,用于若所述最小值不符合所述设定值,则生成提示信息,以提示所述模型库中不存在与所述脸型特点匹配的目标无表情参考模型。
149.可选地,所述模型库中多个参考角色的无表情参考模型按照预设顺序排序,
150.可选地,所述参考角色确定模块1102,可以包括:
151.第二距离确定子模块,用于确定所述无表情角色模型的各个角色顶点与所述无表情角色模型的角色中心的角色距离;
152.第三距离确定子模块,用于确定当前序号的无表情参考模型的各个参考顶点与对应参考中心的当前序号参考距离;
153.第二缩放子模块,用于根据所述角色距离和当前序号参考距离确定所述当前序号的无表情参考模型的当前序号缩放系数,并依据所述当前序号缩放系数对所述当前序号的无表情参考模型进行缩放,得到当前序号缩放后的无表情参考模型;
154.第二值确定子模块,用于确定所述无表情角色模型与所述当前序号缩放后的无表情参考模型之间的仿射变换矩阵对应的当前值;
155.第二确定子模块,用于当所述当前值符合设定值时,将所述当前序号的无表情参考模型确定为所述目标无表情参考模型;
156.第一处理子模块,用于当所述当前值不符合所述设定值时,则按照所述无表情参考模型的排序顺序,更新所述当前序号的无表情参考模型,并返回所述确定当前序号的无表情参考模型的各个参考顶点与对应参考中心的当前序号参考距离的步骤继续执行。
157.可选地,所述装置还可以包括:
158.移动模块,用于移动所述无表情参考模型或无表情角色模型,使所述无表情参考模型的参考中心与所述无表情角色模型的角色中心重合。
159.可选地,所述装置还可以包括:
160.检测模块,用于检测所述无表情角色模型是否进行冻结变换;
161.冻结模块,用于若所述无表情角色模型未进行冻结变换,则对所述无表情角色模型进行冻结变换。
162.可选地,所述形变数据包括所述目标表情参考模型的各个参考顶点相对于所述目标无表情参考模型对应参考顶点的位移数据;所述表情模型生成模块1103,可以包括:
163.模型复制子模块,用于根据所述目标角色的目标表情参考模型的数量复制所述无表情角色模型,得到各个所述目标表情参考模型对应的无表情角色模型副本;
164.顶点移动子模块,用于根据各个所述目标表情参考模型的位移数据,分别移动对应的无表情角色模型副本的角色顶点,得到多个不同表情的表情角色模型。
165.可选地,所述表情模型生成模块1103,可以包括:
166.初始形变数据确定子模块,用于确定所述目标无表情参考模型形变为所述无表情角色模型所对应的初始形变数据;
167.形变数据叠加子模块,用于在所述初始形变数据的基础上分别叠加各个所述目标无表情参考模型对应的形变数据,得到多个目标形变数据;
168.模型形变子模块,用于根据各个所述目标形变数据对所述目标无表情参考模型进行形变,生成所述无表情角色模型对应的多个不同表情的表情角色模型。
169.可选地,所述装置还可以包括:
170.展示模块,用于展示所述表情角色模型。
171.可选地,所述装置还可以包括:
172.调整模块,用于响应于针对所述表情角色模型的调整操作,更新所述表情角色模型。
173.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
174.本技术实施例还公开了电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的表情模型的生成方法。
175.本技术实施例还公开了计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的表情模型的生成方法。
176.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
177.本领域内的技术人员应明白,本技术实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
178.本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
179.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
180.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
181.尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
182.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
183.以上对本技术所提供的一种表情模型的生成方法及装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1