一种三维人体模型骨骼动态转移绑定方法技术

技术编号:27773938 阅读:16 留言:0更新日期:2021-03-23 13:03
本发明专利技术公开一种三维人体模型骨骼动态转移绑定方法,包括以下步骤:将基准模型与其对应的骨骼结构、蒙皮权重进行绑定,导出格式为可同时支持骨骼和动画效果的模型文件;通过仿射变换得到各个网格点的仿射变换矩阵M,分别计算出H、R1、R2;在向量右乘的状态下,组合H*R1*R2得到目标模型的坐标系到基准模型的坐标系的变换矩阵M,对M进行去逆得到绑定矩阵Z;对目标模型的网格点进行蒙皮;修改基准骨骼层级中基准骨骼点的坐标位置,使得骨骼长度一致;并根据旋转矩阵修改基准骨骼层级中的基准骨骼点的坐标位置。本发明专利技术可实现基准模型与目标模型的自动绑定,并进行动画变化效果的自动快速转移,实时生成带动动画和骨骼的基准模型。

【技术实现步骤摘要】
一种三维人体模型骨骼动态转移绑定方法
本专利技术涉及动三维人体模型设计领域,尤其涉及一种三维人体模型骨骼动态转移绑定方法。
技术介绍
人体模型库在虚拟试衣、服装定制、互联网健身等领域有着广阔的应用前景。随着三维扫描硬件的发展,获取人体三维模型变得更简单,但是由于生成的模型是obj格式,不支持骨骼和动画,为了使模型更加富有生命力,更加有趣味性,需要让模型动起来,常规的方法是动作设计师利用3DMax、maya等三维软件,人工绑定人体骨骼和蒙皮权重,然后再在骨骼上设计角色动作,十分耗时耗力,操作效率低,且只能进行离线操作,不便于设计工作的进行。因此,现有技术存在缺陷,需要改进。
技术实现思路
本专利技术的目的是克服现有技术的不足,提供一种三维人体模型骨骼动态转移绑定方法,解决现有技术中,通过人工绑定人体骨骼和蒙皮权重,再进行角色动作设计,耗时耗力,操作效率低的问题。本专利技术的技术方案如下:一种三维人体模型骨骼动态转移绑定方法,包括以下步骤:S1:在模型库中选取基准模型,将所述基准模型导入至三维软件中,并将所述基准模型与其对应的骨骼结构、蒙皮权重进行绑定,完成绑定后,导出格式为可同时支持骨骼和动画效果的模型文件。所述骨骼结构包含若干骨骼;所述骨骼对应若干骨骼点、骨骼层级。S2:针对基准模型的每根骨骼,通过仿射变换得到基准模型与目标模型中各个网格点的仿射变换矩阵M,并根据基准模型中各个基准骨骼点P1的位置,通过仿射变换矩阵M的值,使用向量右乘,求出目标模型中各个目标骨骼点P2的位置。所述防射变换矩阵M的求解方法为:采用最小二乘线性法求解normalequation,得到仿射变换矩阵M相关的12个参数;仿射变换矩阵M为:其中:xn、yn、zn分别为基准模型的网格顶点在基准模型的坐标系中的的坐标点对应的X轴、Y轴、Z轴上的数值;Xn、Yn、Zn分别为目标模型的网格顶点在目标模型的坐标系中的坐标点对应的X轴、Y轴、Z轴上的数值。S3:通过所述基准骨骼点P1、目标骨骼点P2,分别计算出基准模型中空间的原点到各个目标骨骼点的坐标的平移变换矩阵H。所述基准模型中空间的原点为基准模型中空间的重心点。所述平移变换矩阵H为:所述P1,x、P1,y、P1,z分别表示对应的基准骨骼点P1坐标点的x、y、z的值;所述P2,x、P2,x、P2,x分别表示对应的目标骨骼点P2坐标点的x、y、z的值;S4:计算目标模型的坐标系到基准模型的坐标系的旋转矩阵变换R1;将基准模型的网格点和目标模型的网格点进行平移变换,使得基准骨骼点P1、目标骨骼点P2分别与基准模型中空间的坐标系原点、目标模型中空间的坐标系原点对齐;并计算得到两者之间满足最小二乘的旋转变换R2。S5:在向量右乘的状态下,以H*R1*R2方式组合H、R1、R2,得到目标模型的坐标系到基准模型的坐标系的变换矩阵M;并对M进行去逆,得到目标骨骼的绑定矩阵Z。S6:根据目标骨骼层级中各个目标骨骼点对应的绑定矩阵Z的值,对目标模型的各个网格点进行蒙皮。所述目标模型的目标骨骼层级与基准模型的基准骨骼层级一致。S7:分别根据基准骨骼层级、目标骨骼层级,计算出每个基准骨骼层级的原骨骼长度L1、目标骨骼层级的原骨骼长度L2;根据动画变换效果提取基准模型在进行动画变换时,基准模型中各个基准骨骼点的位移变换坐标点,并计算所述位移变换坐标点与进行动画变换前各个基准骨骼点对应的坐标点之间的向量长度值L3。S8:根据基准模型中各个基准骨骼层级对应的L1、L3、以及对应的目标骨骼层级中的L2的值,按照(L2/L1)L3的计算方式,修改基准骨骼层级中各个基准骨骼点的坐标位置,使得各个基准骨骼层级的骨骼长度与其各自对应的目标骨骼层级的骨骼长度一致;并根据动画变换效果的旋转矩阵修改基准骨骼层级中的基准骨骼点的坐标位置。目标模型为通过对真实人体体型进行拍照扫描,通过相应算法计算所得到的模型,可在进行本专利技术中的操作前获得,进行本专利技术的操作步骤时,直接使用即可。骨骼结构可参考makehuman中的用于动作捕捉的版本Cmumb,共有31根骨骼。本专利技术直接将选定的基准模型导入至三维软件中,并绑定基准模型的骨骼结构、蒙皮权重,生成可同时支持骨骼和动画效果格式的模型文件,方便后续操作可直接进行动画效果的转移,针对基准模型的每根骨骼通过仿射变换得到基准模型与目标模型中各个网格点的仿射变换矩阵M,使得基准模型的网格点与目标模型的网格点建立联系,进一步利用仿射变换矩阵M求出目标模型中各个目标骨骼点P2的坐标,通过基准骨骼点P1、目标骨骼点P2的值求出H,并计算目标模型的坐标系到基准模型的坐标系的旋转矩阵变换R1,并进行各自网格点的平移操作,使得基准骨骼点、目标骨骼点分别与各自的坐标系原点对齐,进一步求出旋转变换R2,在向量右乘的约定下,通过H*R1*R2计算出目标模型的坐标系到基准模型的坐标系的变换矩阵M,对M进行去逆,得到最终需要的目标骨骼的绑定矩阵Z,任一目标骨骼点均对应有一绑定矩阵Z,根据对应的Z对目标模型的各个网格点进行蒙皮操作,此过程中的蒙皮操作的蒙皮权重与基准模型所绑定的蒙皮权重一致,完成蒙皮操作后,即可进行人体动画变换效果的转移,转移前需计算出每个基准骨骼层级、目标骨骼层级的原骨骼长度,由于基准骨骼层级中的目标骨骼点的位置是确定的,通过对应位置的骨骼点的关系既可求出对应的目标骨骼层级的原骨骼长度,同理可求出目标骨骼层级的原骨骼长度,根据动画变化效果,提取基准模型进行动画变化时,基准骨骼点变化前后,对应的向量长度值,在步骤S8即可根据所求出的值,对基准模型的基准骨骼层级的基准骨骼点的位置进行调整,保证在进行动画变化效果时基准骨骼层级的骨骼长度与目标骨骼层级的骨骼长度一致,进一步进行旋转角度方向等的变化,此变换过程主要根据在设计动画变化效果时产生的旋转矩阵进行的,使得基准骨骼层级与目标骨骼层级的旋转角度方向等一致,在旋转变换过程中,需符合方向动力学的要求,若动画变化效果好,即可进行大的形变、姿态的动画进行变换;通过本专利技术即可实现基准模型与目标模型的自动绑定,并进行动画变化效果的自动转移,实时生成带动动画和骨骼的基准模型,后期可进一步使用Avatar系统,使其匹配更多更难的动作,使得基准模型富有生命力、趣味性更强,操作过程可自动进行,操作效率高,生成速度快,有效降低人工操作的工作量,且不受是否在线或离线的要求,使用范围广,操作方便。进一步地,所述步骤S1中的基准模型对应的骨骼结构、蒙皮权重的值为人工根据所选定的基准模型在三维软件中预先设定的值。可根据不同的要求,选取不同的基准模型,并对应设定不同的骨骼结构、蒙皮权重。进一步地,所述步骤S2中的基准模型的网格顶点、目标模型的网格顶点均由人工在进行步骤S2之前在三维软件中预先设定的点,且均至少为一个点。基准模型、目标模型均由各自对应的网格点组成,为步骤S2中M的计算,需预先设定基准模型、目标模型各自对应的网格顶点,本文档来自技高网...

【技术保护点】
1.一种三维人体模型骨骼动态转移绑定方法,其特征在于,包括以下步骤:/nS1:在模型库中选取基准模型,将所述基准模型导入至三维软件中,并将所述基准模型与其对应的骨骼结构、蒙皮权重进行绑定,完成绑定后,导出格式为可同时支持骨骼和动画效果的模型文件;/n所述骨骼结构包含若干骨骼;所述骨骼对应若干骨骼点、骨骼层级;/nS2:针对基准模型的每根骨骼,通过仿射变换得到基准模型与目标模型中各个网格点的仿射变换矩阵M,并根据基准模型中各个基准骨骼点P1的位置,通过仿射变换矩阵M的值,使用向量右乘,求出目标模型中各个目标骨骼点P2的位置;/n所述防射变换矩阵M的求解方法为:采用最小二乘线性法求解normal equation,得到仿射变换矩阵M相关的12个参数;/n

【技术特征摘要】
1.一种三维人体模型骨骼动态转移绑定方法,其特征在于,包括以下步骤:
S1:在模型库中选取基准模型,将所述基准模型导入至三维软件中,并将所述基准模型与其对应的骨骼结构、蒙皮权重进行绑定,完成绑定后,导出格式为可同时支持骨骼和动画效果的模型文件;
所述骨骼结构包含若干骨骼;所述骨骼对应若干骨骼点、骨骼层级;
S2:针对基准模型的每根骨骼,通过仿射变换得到基准模型与目标模型中各个网格点的仿射变换矩阵M,并根据基准模型中各个基准骨骼点P1的位置,通过仿射变换矩阵M的值,使用向量右乘,求出目标模型中各个目标骨骼点P2的位置;
所述防射变换矩阵M的求解方法为:采用最小二乘线性法求解normalequation,得到仿射变换矩阵M相关的12个参数;



仿射变换矩阵M为:



其中:xn、yn、zn分别为基准模型的网格顶点在基准模型的坐标系中的的坐标点对应的X轴、Y轴、Z轴上的数值;Xn、Yn、Zn分别为目标模型的网格顶点在目标模型的坐标系中的坐标点对应的X轴、Y轴、Z轴上的数值;
S3:通过所述基准骨骼点P1、目标骨骼点P2,分别计算出基准模型中空间的原点到各个目标骨骼点的坐标的平移变换矩阵H;
所述基准模型中空间的原点为基准模型中空间的重心点;
所述平移变换矩阵H为:



所述P1,x、P1,y、P1,z分别表示对应的基准骨骼点P1坐标点的x、y、z的值;所述P2,x、P2,x、P2,x分别表示对应的目标骨骼点P2坐标点的x、y、z的值;
S4:计算目标模型的坐标系到基准模型的坐标系的旋转矩阵变换R1;将基准模型的网格点和目标模型的网格点进行平移变换,使得基准骨骼点P1、目标骨骼点P2分别与基准模型中空间的坐标系原点、目标模型中空间的坐标系原点对齐;并计算得到两者之间满足最小二乘的旋转变换R2;
S5:在向量右乘的状态下,以H*R1*R2方式组合H、R1、R2,得到目标模型的坐标系到基准模型的坐标系的变换矩阵M;并对M进行去逆,得到目标骨骼的绑定矩阵Z;
S6:根据目标骨骼层级中各个目标骨骼点对应的绑定矩阵Z的值,对目标模型的各个网格点进行蒙皮;
所述目标模型的目标骨骼层级与基准模型的基准骨骼层级一致;
S7:分别根据基准骨骼层级、目标骨骼层级,计算出每个基准骨骼层级的原骨骼长度L1、目标骨骼层级的原骨骼长度L2;根据动画变换效果提取...

【专利技术属性】
技术研发人员:林逸袁壮陈树青姜峰
申请(专利权)人:深圳市桔子智能信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1