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

一种修型方法、装置及存储介质与流程

2022-05-08 05:08:44 来源:中国专利 TAG:


1.本发明涉及计算机的技术领域,特别涉及一种修型方法、装置及存储介质。


背景技术:

2.在进行三维角色的动作捕捉时,通过虚幻引擎unrealengine(实时3d创作工具,简称ue)所预览到的,角色身体的某些关节部位(如肩膀、手肘、手腕、手指、膝盖、脚踝等)旋转到一定角度时,形状没有达到理想的效果。因为导入ue的角色资产是绑定了骨骼的网格体,角色做动作时,仅靠骨骼控制网格产生的形变,是无法达到理想的肌肉效果的。
3.为解决该问题,我们会在autodesk maya(三维建模软件,简称maya)中,把该模型的关节骨骼旋转到指定角度,在该形态下,对其关节部位的形状进行修改(通常称之为“修型”),创建关节正确的变形效果,然后让该关节的骨骼对修型设置驱动关键帧,即骨骼旋转到指定角度时,角色模型的关节会变成修型后的形状。做完修型的驱动后,再将动作捕捉生成的骨骼动画数据输入到绑定好的角色模型的骨骼上,角色做动作时驱动修型并对其修型设置关键帧动画,最后将带有修型的角色模型文件和动画数据导出到ue中预览到最终效果。
4.现有方案中角色的修型只能离线驱动,不能在进行动作捕捉的过程中在ue里预览到关节的修型效果。并且手动设置驱动修型的操作较为繁琐,效率较低。若修型过多且没有对修型规范命名时,会不便于查看和整理。


技术实现要素:

5.本发明的目的就是解决背景技术中提到的问题,提出一种修型方法、装置及存储介质。
6.为实现上述目的,本发明首先提出了一种修型方法,包括以下步骤:获取待修型模型绑定的骨骼;根据被设置关节骨骼的旋转轴向、角度创建修型目标;创建关节修型的合并修型;创建驱动修型的蓝图函数及对应的蓝图;在录制动作捕捉时执行蓝图以实现实时驱动关节修型。
7.可选的,根据被设置关节骨骼的旋转轴向、角度创建修型目标包括以下步骤:根据所述关节骨骼生成一组测量骨骼以及与所述测量骨骼匹配的三组定位器,其中第一组定位器分别位于关节的六个轴向方向且相对于关节固定,第二组定位器分别位于测量骨骼处且其旋转、位移跟随测量骨骼变化,第三组定位器位于关节处且其位移跟随测量骨骼变化;通过测量第一夹角来判断关节骨骼的旋转轴向和正负向,所述第一夹角为第三组定位器与第一组定位器间的夹角;根据旋转轴向将六个轴向的第一夹角映射为1或0的序列,1表示在该轴向旋转,0表示不在该轴向旋转;第二夹角与所述序列相乘得到对应修型属性值,所述第二夹角为第二组定位器与位于正x轴、正z轴上第一组定位器间的夹角。
8.可选的,当第三组定位器与某轴向的第一组定位器间的夹角为90
°
时,则该轴向不是关节骨骼的旋转轴向,当第三组定位器与某轴向的第一组定位器间的夹角为0
°
或180
°
时,则该轴向为关节骨骼的旋转轴向,且0
°
为沿正向旋转,180
°
为沿负向旋转。
9.可选的,创建关节修型的合并修型包括以下步骤:将待合并修型的驱动范围映射到0~1之间,然后进行相乘,再计算乘积的二次方根,最后输出给合并修型的属性值。
10.可选的,当待合并修型有n个时,先将待合并修型的驱动范围映射到0~1之间,再依次相乘,然后计算乘积的n次方根来创建关节修型的合并修型。
11.可选的,蓝图函数接收修型变量来驱动修型,所述修型变量包括骨骼驱动修型数据、合并修型数据。
12.可选的,所述修型目标按关节名称和旋转轴向命名。
13.本发明还提出了一种修型装置,包括:骨骼获取模块,被配置为获取待修型模型绑定的骨骼;修型目标模块,被配置为根据被设置关节骨骼的旋转轴向、角度创建修型目标;合并修型模块,被配置为创建关节修型的合并修型;蓝图创建模块,被配置为创建驱动修型的蓝图函数及对应的蓝图;实时驱动模块,被配置为在录制动作捕捉时执行蓝图以实现实时驱动关节修型。
14.可选的,所述修型目标模块还包括:第一测量模块,被配置为根据所述关节骨骼生成一组测量骨骼以及与所述测量骨骼匹配的三组定位器,其中第一组定位器分别位于关节的六个轴向方向且相对于关节固定,第二组定位器分别位于测量骨骼处且其旋转、位移跟随测量骨骼变化,第三组定位器位于关节处且其位移跟随测量骨骼变化;第二测量模块,被配置为通过测量第一夹角来判断关节骨骼的旋转轴向和正负向,所述第一夹角为第三组定位器与第一组定位器间的夹角;映射模块,被配置为根据旋转轴向将六个轴向的第一夹角映射为1或0的序列,1表示在该轴向旋转,0表示不在该轴向旋转;属性值模块,被配置为第二夹角与所述序列相乘得到对应修型属性值,所述第二夹角为第二组定位器与位于正x轴、正z轴上第一组定位器间的夹角。
15.本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的修型方法。
16.本发明的有益效果:
17.本发明实施例的一种修型方法、装置及存储介质,通过一套测量角度和轴向的系统,获取到驱动关节的旋转角度,并用该系统自动创建驱动修型,不仅简化了在maya中创建和设置驱动修型与合并修型的操作流程,使工作流程制作规范化。而且还可以将maya中所设置的驱动修型数据信息移植到ue,自动转化为适用于ue的功能方法,实现在录制动作捕捉时也能在ue里实时驱动角色关节的修型。
18.本发明的特征及优点将通过实施例结合附图进行详细说明。
附图说明
19.图1为本发明实施例一种修型方法的流程示意图之一;
20.图2为本发明实施例一种修型方法的角度测量系统示意图;
21.图3为本发明实施例一种修型方法的流程示意图之二;
22.图4为本发明实施例一种修型装置的结构框图之一;
23.图5为本发明实施例一种修型装置的结构框图之二。
具体实施方式
24.为了便于本领域技术人员的理解,下面将结合具体实施例对本发明作进一步详细描述。
25.图1示意性示出本发明实施例一种修型方法的流程示意图。如图1所示,该修型方法包括步骤s10至步骤s50:
26.步骤s10,获取待修型模型绑定的骨骼;
27.步骤s20,根据被设置关节骨骼的旋转轴向、角度创建修型目标;
28.步骤s30,创建关节修型的合并修型;
29.步骤s40,创建驱动修型的蓝图函数及对应的蓝图;
30.步骤s50,在录制动作捕捉时执行蓝图以实现实时驱动关节修型。
31.本发明实施例的一种修型方法,通过一套测量角度和轴向的系统,获取到驱动关节的旋转角度,并用该系统自动创建驱动修型,不仅简化了在maya中创建和设置驱动修型与合并修型的操作流程,使工作流程制作规范化。而且还可以将maya中所设置的驱动修型数据信息移植到ue,自动转化为适用于ue的功能方法,实现在录制动作捕捉时也能在ue里实时驱动角色关节的修型。
32.下面,将结合附图及实施例对本发明实施例中修型方法的各个步骤进行更详细的说明。
33.步骤s10,获取待修型模型绑定的骨骼。
34.具体的,在角色模型绑定完成后,选中需要修型的模型或模型组,获取到该模型绑定的所有骨骼,并在工具窗口中按层级关系列出,与大纲列表相似,但可以设置显示或隐藏次级骨骼,在隐藏次级骨骼后,窗口列表中只会显示通常需要修型的骨骼关节(有左右边的大腿、膝盖、脚踝、脚趾、脊椎、胸部、颈部、肩胛、肩膀、手肘、手腕以及每个弯曲的手指关节)。
35.步骤s20,根据被设置关节骨骼的旋转轴向、角度创建修型目标。
36.在一实施例中,先对选定骨骼设置需要的旋转轴向、角度,再根据被设置关节骨骼的旋转轴向、角度创建修型目标。
37.现有技术中手动创建并设置驱动关键帧的方法只是将骨骼作为驱动者,修型目标作为受驱动者。例如关节旋转60
°
时驱动修型,那么当关节旋转角度为0
°
,添加一个驱动关键帧,代表修型关闭;当关节旋转60
°
时,添加一个驱动关键帧,代表修型打开。驱动关键帧的作用是为了驱动修型的打开和关闭。
38.本发明的一种修型方法的实现原理与现有技术不同,在一实施例中,在设置完关节骨骼的旋转轴向、角度后为关节骨骼单独创建了一个测量角度的小型系统。
39.请参考图2,该测量角度的小型系统具有正值(pos)和负值(neg)的旋转x、y、z轴,分别简写为nx、ny、nz、px、py、pz。并包含一组受关节约束的测量骨骼和三组定位器,它们会在设置驱动关节骨骼的同时创建于与驱动骨骼相同的位置上。两个骨骼方向分别朝向关节的x轴和y轴。
40.请参考图3,通过上述测量角度的小型系统创建修型目标包括以下步骤:
41.步骤s210,根据所述关节骨骼生成一组测量骨骼以及与所述测量骨骼匹配的三组定位器。
42.请参考图2,第一组为分别位于关节的六个轴向方向且相对于关节固定用来做参考定位的六个定位器。第二组为分别创建在两个骨骼位置处且旋转、位移跟随骨骼变化的两个定位器。第三组为位于关节处且其位移跟随测量骨骼变化的一个定位器,第三组定位器会顺着骨骼旋转的轴向平移运动,如骨骼沿z轴正向旋转,该定位器也将沿z轴正向移动。
43.步骤s220,通过测量第一夹角来判断关节骨骼的旋转轴向和正负向,所述第一夹角为第三组定位器与第一组定位器间的夹角。
44.具体的,当第三组定位器与某轴向的第一组定位器间的夹角为90
°
时,则该轴向不是关节骨骼的旋转轴向,当第三组定位器与某轴向的第一组定位器间的夹角为0
°
或180
°
时,则该轴向为关节骨骼的旋转轴向,且0
°
为沿正向旋转,180
°
为沿负向旋转。
45.步骤s230,根据旋转轴向将六个轴向的第一夹角映射为1或0的序列,1表示在该轴向旋转,0表示不在该轴向旋转。
46.为了计算方便对数据进行处理,将测量得到的角度映射在0
°
~90
°
的范围内,得到的数值就只有0
°
或90
°
,将这个值与90
°
相除,得到0或1,再将值反向(用1减去得到)。
47.步骤s240,第二夹角与所述序列相乘得到nx、ny、nz、px、py、pz对应修型属性值,修型属性值驱动对应轴向的修型目标,所述第二夹角为第二组定位器与位于正x轴、正z轴上第一组定位器间的夹角。
48.步骤s30,创建关节修型的合并修型。
49.具体的,当待合并修型为两个时,将待合并修型的驱动范围映射到0~1之间,然后进行相乘,再计算乘积的二次方根,最后输出给合并修型的属性值。在一实施例中,当待合并修型有n个时,先将待合并修型的驱动范围映射到0~1之间,再依次相乘,然后计算乘积的n次方根来创建关节修型的合并修型。
50.通过上述步骤来实现当两个及以上的在同一关节骨骼下、不同轴向和旋转角度的修型被同时驱动后,网格体关节形态没有达到需要的效果时,相应的形态调整的功能。
51.步骤s40,创建驱动修型的蓝图函数及对应的蓝图。
52.因为最终是在ue中实现实时驱动,因此需要在ue中创建驱动修型的蓝图函数及对应的蓝图。
53.其中,蓝图函数中设置了若干个可暴露的变量,所述修型变量包括骨骼驱动修型数据、合并修型数据,骨骼驱动修型数据包括骨骼网格体、驱动关节、参考骨骼、驱动关节的驱动角度范围的最大和最小值,以及六个轴向的修型目标。合并修型数据包括需要合并的修型目标名称、目标的驱动范围的最大和最小值、合并修型目标的名称。后续会将maya中有关修型数据输入对应变量来调用函数的功能。
54.蓝图函数在修型关节的同一层级下创建一根骨骼,作为参考骨骼,它的旋转为0
°
,并受修型关节的位移约束。蓝图函数会分别测量这根骨骼与修型关节在x、y、z轴的夹角,并判断正负,与此同时,蓝图函数根据输入的旋转角度驱动修型目标。若为正,则选择正轴的修型目标,否则选择负轴;若某一个轴的夹角为0
°
,说明关节没有在该轴旋转,则修型不被驱动。
55.本应用场景中,不同的角色具有不同的驱动修型数据,但调用的蓝图函数始终是同一个,只是函数中的变量可以替换为相应角色的数据。函数方法是可以被多次重复调用的,若有许多组不同的变量值,而计算的逻辑方法相同,只需调用同一个函数方法,替换方
法中的变量值即可,这样有效节省了时间和资源。
56.步骤s50,在录制动作捕捉时执行蓝图以实现实时驱动关节修型。
57.创建蓝图的模板代码是按实现驱动修型的逻辑事先编写好的,其中包含了创建各个节点,并将节点按逻辑连接的语句。
58.模板代码中编写了调用蓝图函数的语句,将提取到的数据信息输入到蓝图函数对应的变量中来驱动修型。每一组不同的修型数据都需调用一次函数方法。创建与这些信息相关的功能节点,并按逻辑连接以实现驱动合并修型的功能。
59.将模板代码拷贝到ue的蓝图编辑器后,会自动按照代码内容创建已经连接好的、带有修型设置数据的蓝图。在录制动作捕捉时执行该蓝图,关节修型便会随着关节的旋转而驱动,达到与maya中相同的效果。
60.基于上述一种修型方法,本发明实施例还提供了一种修型装置,如图4所示,该装置包括以下模块:
61.骨骼获取模块100,被配置为获取待修型模型绑定的骨骼;
62.修型目标模块200,被配置为根据被设置关节骨骼的旋转轴向、角度创建修型目标;
63.合并修型模块300,被配置为创建关节修型的合并修型;
64.蓝图创建模块400,被配置为创建驱动修型的蓝图函数及对应的蓝图;
65.实时驱动模块500,被配置为在录制动作捕捉时执行蓝图以实现实时驱动关节修型。
66.如图5所示,在一实施例中,所述修型目标模块还包括:
67.第一测量模块2100,被配置为根据所述关节骨骼生成一组测量骨骼以及与所述测量骨骼匹配的三组定位器,其中第一组定位器分别位于关节的六个轴向方向且相对于关节固定,第二组定位器分别位于测量骨骼处且其旋转、位移跟随测量骨骼变化,第三组定位器位于关节处且其位移跟随测量骨骼变化;
68.第二测量模块2200,被配置为通过测量第一夹角来判断关节骨骼的旋转轴向和正负向,所述第一夹角为第三组定位器与第一组定位器间的夹角;
69.映射模块2300,被配置为根据旋转轴向将六个轴向的第一夹角映射为1或0的序列,1表示在该轴向旋转,0表示不在该轴向旋转;
70.属性值模块2400,被配置为第二夹角与所述序列相乘得到对应修型属性值,所述第二夹角为第二组定位器与位于正x轴、正z轴上第一组定位器间的夹角。
71.综上所述,本发明实施例的一种修型装置,该装置可以实现为一种程序的形式,在计算机设备上运行。计算机设备的存储器中可存储组成该修型装置的各个程序模块,比如,图4所示的骨骼获取模块100、修型目标模块200、合并修型模块300、蓝图创建模块400、实时驱动模块500。各个程序模块构成的程序使得处理器执行本说明书中描述的本技术各个实施例的一种修型方法中的步骤。
72.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本技术各个实施例的一种修型方法中的步骤。
73.上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛
盾,都应当认为是本说明书记载的范围。
74.上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献