批量模型姿势变换方法转让专利

申请号 : CN201710642228.4

文献号 : CN107491506B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 褚智威杨少毅曹哲

申请人 : 西安蒜泥电子科技有限责任公司

摘要 :

为了实现统一姿势模型库的快速、高效建立,本发明提供了一种批量模型姿势变换方法,包括步骤:1)读取原始模型数据库;将人体模板分别绑定到所读入的N个原始模型上,N≥1;3)对完成人体模板绑定后的N个原始模型进行皮肤权重估计;4)姿势变换。本发明通过骨骼自动绑定和动力学姿势变换,将输入的N个原始模型与选定的人体模板绑定后,只要输入姿势信息就能够将输入的N个原始模型变换成统一的姿势保存在模型数据库中,实现批量模型的姿势变换,为建立便于使用的模型数据库提供了更加快速省时省力的方法,所建立的模型数据库可以用于动画制作及所有需要注册模板模型的场景。

权利要求 :

1.批量模型姿势变换方法,其特征在于,包括以下步骤:

1)读取原始模型数据库;

2)将人体模板分别绑定到所读入的N个原始模型上,N≥1:

2.1)简化人体模板;

省略人体模板中的部分骨骼节点,至少保留人体模板中肩膀、臀、头、左脚、右脚、左手和右手处的骨骼节点;

2.2)获取第一个原始模型的内切面点;

2.3)对步骤2.2)所得内切面点进行最大球体自适应采样,得到一系列自适应采样点;

2.4)基于步骤2.3)获取的自适应采样点构建一组骨骼节点图;

2.5)将经步骤2.1)简化后的人体模板绑定至步骤2.4)所得的骨骼节点图得到初始骨骼绑定结果;

2.6)对所述初始骨骼绑定结果进行优化,得到第一个原始模型对应的骨骼绑定结果,完成人体模板和第一个原始模型的绑定;

2.7)采用与步骤2.2)-2.6)相同的方法依次得到其余N-1个原始模型对应的骨骼绑定结果,完成人体模板分别和其余N-1个原始模型的绑定;

3)对完成人体模板绑定后的N个原始模型进行皮肤权重估计:

3.1)为完成人体模板绑定后的第一个原始模型的每个骨骼节点位置添加热源,通过Laplace平衡扩散的形式将热量从各个骨骼节点扩散开,得到各骨骼节点的热量分布;

3.2)基于步骤3.1)所得到的各骨骼节点的热量分布,计算第一个原始模型的每个顶点受其各个骨骼节点的影响权重,即为第一个原始模型的皮肤权重;

3.3)采用与步骤3.1)-3.2)相同的方法,依次得到其余N-1个原始模型的皮肤权重;

4)姿势变换:

4.1)读取姿势信息;

4.2)基于步骤4.1)所读取的姿势信息和前述步骤2)得到的每个原始模型的骨骼绑定结果,利用所述N个原始模型的皮肤权重分别计算N个原始模型的蒙皮变形,完成所输入的N个原始模型的姿势变换;

5)保存N个原始模型姿势变换后所得到的结果模型。

2.根据权利要求1所述的批量模型姿势变换方法,其特征在于,所述步骤2.1)中简化人体模板的方法为:省略人体模板中的部分骨骼节点,只保留人体模板中肩膀、臀、头、左脚、右脚、左手和右手处的骨骼节点。

3.根据权利要求2所述的批量模型姿势变换方法,其特征在于,所述步骤2.2)中内切面的构建方法为:

2.2.1)计算原始模型某一个内部空间点到原始模型表面顶点的距离,以最小距离值作为该内部空间点的距离场值;

2.2.2)参照二维距离变换原理,对原始模型内部所有空间点,以每一个空间点所在位置为圆心,以其距离场值为半径,构造三维球体,保留不超出原始模型表面的三维球体所对应的空间点,这些空间点称为内切面点。

4.根据权利要求2所述的批量模型姿势变换方法,其特征在于,所述步骤2.2)还包括对所述内切面点进行筛选的步骤2.2.3):淘汰所述内切面点中距离场梯度向量相邻夹角过小的点和距离原始模型顶点过近的点;

所述距离场梯度向量由距离场在该内切面点沿着x,y,z三个方向的梯度值组成,两梯度向量夹角越小表示两梯度越相似,则越不可能成为骨骼点。

5.根据权利要求1所述的批量模型姿势变换方法,其特征在于,所述步骤2.3)中自适应采样点的选取方法为:

2.3.1)将所述内切面点按其距离场值大小排序;

2.3.2)从距离原始模型表面顶点最远的内切面点开始,以该内切面点为圆心构造内切原始模型的球体,若某个内切面点已经被位于它之前的内切面点的最大球体包括,则将该内切面点被筛选出去,并且将不再以该点构建最大球体;剩下的内切面点即为自适应采样点。

6.根据权利要求1所述的批量模型姿势变换方法,其特征在于,所述步骤2.4)构建骨骼节点图方法为:将步骤2.3)得到的自适应采样点连接起来,

连接条件为:连接线上的点到原始模型表面的距离应大于被连接采样点所对应最大球体中半径最小的最大球体半径的一半,并且距离连接线中点最近的最大球体应为连接线端点对应的最大球体;

连接方法为:对所有采样点,若两个采样点的最大球体相交则把这两个采样点连接起来;如果两个采样点有强烈的关联属性,也需要将这两个采样点连接起来;

按照上述连接条件和连接方法将采样点连接完成后,得到由采样点和连接线构成的骨骼节点图。

7.根据权利要求1所述的批量模型姿势变换方法,其特征在于,所述步骤2.5)获取初始骨骼绑定结果的方法为:

2.5.1)构建惩罚条件:当简化后人体模板的某骨骼长度短于简化前人体模板中对应骨骼的长度时,对该骨骼进行惩罚;

当简化后人体模板某骨骼朝向与简化前人体模板中对应骨骼朝向不同时,对该骨骼进行惩罚;

当简化后人体模板中对称骨骼的长度不同时,对该对称骨骼进行惩罚;

当简化后人体模板中某骨骼节点离原始模型表面顶点过近时,对该骨骼节点进行惩罚;

当简化后人体模板中脚骨骼点不在地面时,对该脚骨骼点进行惩罚;

当简化后人体模板中有长度为0的骨骼时,对该长度为0的骨骼进行惩罚;

基于人体工程学,当简化后人体模板中有错误朝向的骨骼时,对该错误朝向的骨骼进行惩罚;

当简化后人体模板中骨骼过于聚集时,对过于聚集的骨骼进行惩罚;

2.5.2)利用步骤2.5.1)构建的惩罚条件构造惩罚函数,然后在步骤2.4)得到的一组骨骼节点图中选取组合,找到最优组合使惩罚值最小,该最优组合即为初始骨骼绑定结果。

8.根据权利要求1所述的批量模型姿势变换方法,其特征在于,所述步骤2.6)中对初始骨骼绑定结果进行优化的方法为:

2.6.1)构建优化步骤的惩罚条件:

当简化后人体模板中某骨骼远离原始模型中心时,对该骨骼进行惩罚;

当简化后人体模板中某骨骼相对人体模板过短时,对该骨骼进行惩罚;

当简化后人体模板中某骨骼朝向错误时,对该骨骼进行惩罚;

当简化后人体模板中某骨骼不对称时,对该骨骼进行惩罚;

2.6.2)利用步骤2.6.1)构建的惩罚条件构造惩罚函数,通过旋转变换和位移变换,优化所述初始骨骼绑定结果。

9.根据权利要求1所述的批量模型姿势变换方法,其特征在于,所述步骤4.2)变换所述原始模型的姿势的方法包括:正向动力学变换、反向动力学变换和混合变换;

正向动力学变换:所有骨骼节点都受其父节点影响,根据正向动力学计算出的各个骨骼节点的旋转矩阵,以该旋转矩阵作为姿势信息对原始模型进行姿势变换;

反向动力学变换:子节点驱动父节点,首先确定控制点和该控制点的目标位置,然后移动子节点,再根据父子节点的拓扑关系和相应的皮肤权重,计算出父节点所应该出现的位置;

混合变换:采用反向动力学变换的过程中,当存在无解或多个解时,采用正向动力学变换的方法变换原始模型姿势。

10.根据权利要求1至9任一所述的批量模型姿势变换方法,其特征在于,将上述步骤中涉及的人体模板用动物模板替换,读入的N个原始模型为动物模型,所述批量模型姿势变换方法可用于动物模型姿势变换。

说明书 :

批量模型姿势变换方法

技术领域

[0001] 本发明涉及一种批量模型姿势变换方法。

背景技术

[0002] 人体模型库在虚拟试衣,服装定制,互联网健身等领域有着广阔的应用前景。当前,随着三维扫描硬件的发展,获取人体模型变得更简单,但是在建立模型数据库时,通常要求数据库中的模型保持一致姿势,而各种渠道获得的人体模型很难保证一致性。因此,为了保证数据库中模型姿势的一致性,需要进行模型姿势变换。而常规的方法就是由三维动画师利用一些商用软件,比如常用的Maya,Blender等,来人工绑定人体骨骼并设定模型蒙皮权重。人工变换的姿势可以更加贴近人体自然状态,但是太耗时耗力,而一般人体模型库都存储着成千上万的模型,利用人工来做显然不现实。

发明内容

[0003] 为了实现统一姿势模型库的快速、高效建立,本发明提供了一种批量模型姿势变换方法。
[0004] 本方法的技术解决方案是:
[0005] 批量模型姿势变换方法,包括以下步骤:
[0006] 1)读取原始模型数据库;
[0007] 2)将人体模板分别绑定到所读入的N个原始模型上,N≥1:
[0008] 2.1)简化人体模板;
[0009] 2.2)构建第一个原始模型的内切面;
[0010] 2.3)对步骤2.2)所得内切面进行最大球体自适应采样,得到一系列自适应采样点;
[0011] 2.4)基于步骤2.3)获取的自适应采样点构建一组骨骼节点图;
[0012] 2.5)将经步骤2.1)简化后的人体模板绑定至步骤2.4)所得的骨骼节点图得到初始骨骼绑定结果;
[0013] 2.6)对所述初始骨骼绑定结果进行优化,得到第一个原始模型对应的骨骼绑定结果,完成人体模板和第一个原始模型的绑定;
[0014] 2.7)采用与步骤2.2)-2.6)相同的方法依次得到其余N-1个原始模型对应的骨骼绑定结果,完成人体模板分别和其余N-1个原始模型的绑定;
[0015] 3)对完成人体模板绑定后的N个原始模型进行皮肤权重估计:
[0016] 3.1)为完成人体模板绑定后的第一个原始模型的每个骨骼节点位置添加热源,通过Laplace平衡扩散的形式将热量从各个骨骼节点扩散开,得到各骨骼节点的热量分布;
[0017] 3.2)基于步骤3.1)所得到的各骨骼节点的热量分布,计算第一个原始模型的每个顶点受其各个骨骼节点的影响权重,即为第一个原始模型的皮肤权重;
[0018] 3.3)采用与步骤3.1)-3.2)相同的方法,依次得到其余N-1个原始模型的皮肤权重;
[0019] 4)姿势变换:
[0020] 4.1)读取姿势信息;
[0021] 4.2)基于步骤4.1)所读取的姿势信息和前述步骤2)得到的每个原始模型的骨骼绑定结果,利用所述N个原始模型的皮肤权重分别计算N个原始模型的蒙皮变形,完成所输入的N个原始模型的姿势变换;
[0022] 5)保存N个原始模型姿势变换后所得到的结果模型。
[0023] 进一步地,上述步骤2.1)中简化人体模板的方法为:
[0024] 省略人体模板中的部分骨骼节点,只保留人体模板中肩膀、臀、头、左脚、右脚、左手和右手处的骨骼节点。
[0025] 进一步地,上述步骤2.2)获取内切面点的方法为:
[0026] 2.2.1)计算原始模型某一个内部空间点到原始模型表面顶点的距离,以最小距离值作为该内部空间点的距离场值;
[0027] 2.2.2)参照二维距离变换原理,对原始模型内部所有空间点,以每一个空间点所在位置为圆心,以其距离场值为半径,构造三维球体,保留不超出原始模型表面的三维球体所对应的空间点,这些空间点称为内切面点。
[0028] 进一步地,上述步骤2.2)还包括对所述内切面点进行筛选的步骤2.2.3):淘汰所述内切面点中距离场梯度向量相邻夹角过小的点和距离原始模型顶点过近的点;
[0029] 所述距离场梯度向量由距离场在该内切面点沿着x,y,z三个方向的梯度值组成,两梯度向量夹角越小表示两梯度越相似,则越不可能成为骨骼点。
[0030] 进一步地,上述步骤2.3)中自适应采样点的选取方法为:
[0031] 2.3.1)将所述内切面点按其距离场值大小排序;
[0032] 2.3.2)从距离原始模型表面顶点最远的内切面点开始,以该内切面点为圆心构造内切原始模型的球体,若某个内切面点已经被位于它之前的内切面点的最大球体包括,则将该内切面点被筛选出去,并且将不再以该点构建最大球体;剩下的内切面点即为自适应采样点。
[0033] 进一步地,上述步骤2.4)构建骨骼节点图方法为:
[0034] 将步骤2.3)得到的自适应采样点连接起来,
[0035] 连接条件为:连接线上的点到原始模型表面的距离应大于被连接采样点所对应最大球体中半径最小的最大球体半径的一半,并且距离连接线中点最近的最大球体应为连接线端点对应的最大球体;
[0036] 连接方法为:对所有采样点,若两个采样点的最大球体相交则把这两个采样点连接起来;如果两个采样点有强烈的关联属性,也需要将这两个采样点连接起来;
[0037] 按照上述连接条件和连接方法将采样点连接完成后,得到由采样点和连接线构成的骨骼节点图。
[0038] 进一步地,上述步骤2.5)获取初始骨骼绑定结果的方法为:
[0039] 2.5.1)构建惩罚条件:当简化后人体模板的某骨骼长度短于简化前人体模板中对应骨骼的长度时,对该骨骼进行惩罚;
[0040] 当简化后人体模板某骨骼朝向与简化前人体模板中对应骨骼朝向不同时,对该骨骼进行惩罚;
[0041] 当简化后人体模板中对称骨骼的长度不同时,对该对称骨骼进行惩罚;
[0042] 当简化后人体模板中某骨骼节点离原始模型表面顶点过近时,对该骨骼节点进行惩罚;
[0043] 当简化后人体模板中脚骨骼点不在地面时,对该脚骨骼点进行惩罚;
[0044] 当简化后人体模板中有长度为0的骨骼时,对该长度为0的骨骼进行惩罚;
[0045] 基于人体工程学,当简化后人体模板中有错误朝向的骨骼时,对该错误朝向的骨骼进行惩罚;
[0046] 当简化后人体模板中骨骼过于聚集时,对过于聚集的骨骼进行惩罚;
[0047] 2.5.2)利用步骤2.5.1)构建的惩罚条件构造惩罚函数,然后在步骤2.4)得到的一组骨骼节点图中选取组合,找到最优组合使惩罚值最小,该最优组合即为初始骨骼绑定结果。
[0048] 进一步地,上述步骤2.6)中对初始骨骼绑定结果进行优化的方法为:
[0049] 2.6.1)构建优化步骤的惩罚条件:
[0050] 当简化后人体模板中某骨骼远离原始模型中心时,对该骨骼进行惩罚;
[0051] 当简化后人体模板中某骨骼相对人体模板过短时,对该骨骼进行惩罚;
[0052] 当简化后人体模板中某骨骼朝向错误时,对该骨骼进行惩罚;
[0053] 当简化后人体模板中某骨骼不对称时,对该骨骼进行惩罚;
[0054] 2.6.2)利用步骤2.6.1)构建的惩罚条件构造惩罚函数,通过旋转变换和位移变换,优化所述初始骨骼绑定结果。
[0055] 进一步地,上述步骤4.2)变换所述原始模型的姿势的方法包括:
[0056] 正向动力学变换、反向动力学变换和混合变换;
[0057] 正向动力学变换:所有骨骼节点都受其父节点影响,根据正向动力学计算出的各个骨骼节点的旋转矩阵,以该旋转矩阵作为姿势信息对原始模型进行姿势变换;
[0058] 反向动力学变换:子节点驱动父节点,首先确定控制点和该控制点的目标位置,然后移动子节点,再根据父子节点的拓扑关系和相应的皮肤权重,计算出父节点所应该出现的位置;
[0059] 混合变换:采用反向动力学变换的过程中,当存在无解或多个解时,采用正向动力学变换的方法变换原始模型姿势。
[0060] 进一步地,将上述步骤中涉及的人体模板用动物模板替换,读入的N个原始模型为动物模型,所述批量模型姿势变换方法可用于动物模型姿势变换。
[0061] 本发明的优点:
[0062] 1、本发明通过骨骼自动绑定和动力学姿势变换,将输入的N个原始模型与选定的人体模板绑定后,只要输入姿势信息就能够将输入的N个原始模型变换成统一的姿势保存在模型数据库中,实现批量模型的姿势变换,为建立便于使用的模型数据库提供了更加快速省时省力的方法,所建立的模型数据库可以用于动画制作及所有需要注册模板模型的场景;利用本发明的方法建立的模型数据库可以提供自带骨骼和蒙皮权重的模型,而注册算法结果好坏又很大程度上依赖于模板模型的初始状态(如果模板模型和扫描模型姿势类似,则注册算法可以在更少的迭代次数下达到更好的结果);本发明实现的数据库可以提供任意统一姿势的模型,所以可以很好地加速注册算法。
[0063] 2、本发明可用于任意大小和姿势的人体模型,通过两次骨骼绑定得到更佳的骨骼绑定结果,进而得到更佳的姿势变换结果。
[0064] 3、本发明先将人体骨骼简化后再进行绑定,提高了计算效率。

附图说明

[0065] 图1是本发明的工作流程图。
[0066] 图2是人体模板简化过程示意图。
[0067] 图3是初始骨骼绑定结果优化过程示意图。
[0068] 图4是正、反向动力学变换示意图,其中图(a)是正向动力学变换,图(b)是反向动力学变换。

具体实施方式

[0069] 参见图1,本发明所提供的批量模型姿势变换方法,包括以下步骤:
[0070] 1)读取原始模型数据库。
[0071] 2)将人体模板分别绑定到所读入的N个原始模型上,N≥1:
[0072] 2.1)简化人体模板,具体方法为省略人体模板中的部分骨骼节点,只保留人体模板中肩膀、臀、头、左脚、右脚、左手和右手处的骨骼节点,如图2所示。这里需要说明的是,简化人体模板这一步骤也可放在步骤2.4)和2.5)之间进行。
[0073] 2.2)获取第一个原始模型的内切面点(也即构建第一个原始模型的内切面),具体方法为:
[0074] 2.2.1)计算第一个原始模型某一个内部空间点到原始模型表面顶点的距离,以最小距离值作为该内部空间点的距离场值;
[0075] 2.2.2)参照二维距离变换原理,对第一个原始模型内部所有空间点,以每一个空间点所在位置为圆心,以其距离场值为半径,构造三维球体,保留不超出原始模型表面的三维球体所对应的空间点,这些空间点即为内切面点;
[0076] 为了提高采样效率,可以淘汰所述内切面点中距离场梯度向量相邻夹角过小的点和距离原始模型顶点过近的点。所述距离场梯度向量由距离场在该内切面点沿着x,y,z三个方向的梯度值组成,两梯度向量夹角越小表示两梯度越相似,则越不可能成为骨骼点。
[0077] 2.3)对步骤2.2)所得内切面点进行最大球体自适应采样,得到一系列自适应采样点,具体方法为:
[0078] 2.3.1)将所述内切面点按其距离场值大小排序;
[0079] 2.3.2)从距离原始模型表面顶点最远的内切面点开始,以该内切面点为圆心构造内切原始模型的球体,若某个内切面点已经被位于它之前的内切面点的最大球体包括,则将该内切面点被筛选出去,并且将不再以该点构建最大球体;剩下的内切面点即为自适应采样点。
[0080] 2.4)基于步骤2.3)获取的自适应采样点构建一组骨骼节点图,具体方法为:将步骤2.3)得到的自适应采样点连接起来,连接条件为:连接线上的点到原始模型表面的距离应大于被连接采样点所对应最大球体中半径最小的最大球体半径的一半,并且距离连接线中点最近的最大球体应为连接线端点对应的最大球体;连接方法为:对所有采样点,若两个采样点的最大球体相交则把这两个采样点连接起来;如果两个采样点有强烈的关联属性(比如可能头和肩膀的采样点不相交,但骨骼模板会指示它们具有强烈的关联属性),也需要将这两个采样点连接起来;按照上述连接条件和连接方法将采样点连接完成后,得到由采样点和连接线构成的骨骼节点图。
[0081] 2.5)将经步骤2.1)简化后的人体模板绑定至步骤2.4)所得的骨骼节点图得到初始骨骼绑定结果,具体方法为:
[0082] 2.5.1)构建惩罚条件:
[0083] 当简化后人体模板的某骨骼长度短于简化前人体模板中对应骨骼的长度时,对该骨骼进行惩罚;
[0084] 当简化后人体模板某骨骼朝向与简化前人体模板中对应骨骼朝向不同时,对该骨骼进行惩罚;
[0085] 当简化后人体模板中对称骨骼的长度不同时,对该对称骨骼进行惩罚;
[0086] 当简化后人体模板中某骨骼节点离原始模型表面顶点过近时,对该骨骼节点进行惩罚;
[0087] 当简化后人体模板中脚骨骼点不在地面时,对该脚骨骼点进行惩罚;
[0088] 当简化后人体模板中有长度为0的骨骼时,对该长度为0的骨骼进行惩罚;
[0089] 基于人体工程学,当简化后人体模板中有错误朝向的骨骼时,对该错误朝向的骨骼进行惩罚;
[0090] 当简化后人体模板中骨骼过于聚集时,对过于聚集的骨骼进行惩罚;
[0091] 2.5.2)利用步骤2.5.1)构建的惩罚条件构造惩罚函数,然后在步骤2.4)得到的一组骨骼节点图中选取组合,找到最优组合使惩罚值最小,该最优组合即为初始骨骼绑定结果。
[0092] 我们注意到初始骨骼绑定结果可能会出现被省略的关节点最终放置位置有偏差,比如手肘关节点会被放置在手肘上方或下方一点的位置,这在姿势变换中会造成该部位的畸变影响,所以在利用简化模板得到初始骨骼绑定结果后,我们在初始骨骼绑定结果的基础上用未简化的人体模板(固定步骤2.1)保留的那7个节点不变)再进行一次骨骼绑定,也就是说对初始骨骼绑定结果进行优化。
[0093] 2.6)对所述初始骨骼绑定结果进行优化,得到第一个原始模型对应的骨骼绑定结果,完成人体模板和第一个原始模型的绑定,具体方法为:
[0094] 2.6.1)构建优化步骤的惩罚条件:
[0095] 当简化后人体模板中某骨骼远离原始模型中心时,对该骨骼进行惩罚;
[0096] 当简化后人体模板中某骨骼相对人体模板过短时,对该骨骼进行惩罚;
[0097] 当简化后人体模板中某骨骼朝向错误时,对该骨骼进行惩罚;
[0098] 当简化后人体模板中某骨骼不对称时,对该骨骼进行惩罚;
[0099] 2.6.2)利用步骤2.6.1)构建的惩罚条件构造惩罚函数,通过旋转变换和位移变换,优化所述初始骨骼绑定结果。优化后的效果如图3所示,初始骨骼模板中人的肩膀和脚是下垂的,优化之后两者变成水平分布,符合模型的表面分布。
[0100] 2.7)采用与步骤2.2)-2.6)相同的方法依次得到其余N-1个原始模型对应的骨骼绑定结果,完成人体模板分别和其余N-1个原始模型的绑定。
[0101] 3)对完成人体模板绑定后的N个原始模型进行皮肤权重估计:
[0102] 3.1)为完成人体模板绑定后的第一个原始模型的每个骨骼节点位置添加热源,通过Laplace平衡扩散的形式将热量从各个骨骼节点扩散开,所呈现的结果就是离某骨骼节点越远受该骨骼节点影响越小,从而可以得到各骨骼节点的热量分布。
[0103] 3.2)基于步骤3.1)所得到的各骨骼节点的热量分布,计算第一个原始模型的每个顶点受其各个骨骼节点的影响权重,即为第一个原始模型的皮肤权重。具体计算方法为:打开某一个骨骼节点的热源,关闭其他骨骼节点的热源,然后利用Laplace平衡等式计算热量从该骨骼节点向空间扩散的扩散分布,而原始模型顶点上接受到的热量即为该顶点受这个骨骼节点影响的权重。
[0104] 3.3)采用与步骤3.1)-3.2)相同的方法,依次得到其余N-1个原始模型的皮肤权重。
[0105] 4)姿势变换:
[0106] 4.1)读取姿势信息;
[0107] 4.2)基于步骤4.1)所读取的姿势信息和前述步骤2)得到的每个原始模型的骨骼绑定结果,利用所述N个原始模型的皮肤权重分别计算N个原始模型的蒙皮变形,完成所输入的N个原始模型的姿势变换;
[0108] 姿势变换有三种方法:
[0109] 正向动力学变换、反向动力学变换和混合变换;
[0110] 正向动力学变换:所有骨骼节点都受其父节点影响,根据正向动力学计算出的各个骨骼节点的旋转矩阵,以该旋转矩阵作为姿势信息对原始模型进行姿势变换;
[0111] 反向动力学变换:子节点驱动父节点,首先确定控制点和该控制点的目标位置,然后移动子节点,再根据父子节点的拓扑关系和相应的皮肤权重,计算出父节点所应该出现的位置;
[0112] 混合变换:采用反向动力学变换的过程中,当存在无解或多个解时,即使反向动力学变换产生的结果更加符合人体动力学,但是此时我们在批量姿势变换时更偏向于采用正向动力学变换的方法变换原始模型姿势。
[0113] 蒙皮变形有两种方法:线性混合蒙皮算法和对偶四元数混合蒙皮算法。线性混合蒙皮算法是蒙皮变形的通用方法之一,其优点是方法简单,计算快;而对偶四元数混合蒙皮算法的优点是改善了线性混合蒙皮算法出现的扭曲塌陷和权重调节错误的问题。
[0114] 5)保存N个原始模型姿势变换后所得到的结果模型。
[0115] 上述方法仅以人体模板为实施例对本发明作了详细介绍,事实上,本发明的方法也可用于动物模型姿势变换,具体而言,将上述步骤中涉及的人体模板用动物模板替换,相应的读入的N个原始模型为动物模型,将动物模板和动物模型绑定后,输入姿势信息便可实现动物模型的姿势变换。