虚拟对象驱动方法、装置、电子设备和存储介质制造方法及图纸

技术编号:36340087 阅读:60 留言:0更新日期:2023-01-14 17:53
本公开关于虚拟对象驱动方法、装置、电子设备和存储介质,该方法包括:获取源对象的目标动作对应的多个骨骼节点的初始旋转信息;基于子节点的初始旋转信息和对应的父节点的初始旋转信息、子节点在父节点对应坐标系中的位置信息,调整父节点旋转的旋转角;获取旋转分量满足预设要求时的旋转角,得到目标旋转角,并基于目标旋转角优化父节点的旋转信息和子节点的旋转信息;将源对象的各个骨骼节点的优化旋转信息映射到预设虚拟对象的各个骨骼节点上;基于第一目标旋转信息驱动虚拟对象。本方案可以对捕捉设备的动作捕捉结果进行修复和增强,这样,基于优化后的第一目标旋转信息驱动虚拟对象,使得骨骼旋转更加流畅、自然。自然。自然。

【技术实现步骤摘要】
虚拟对象驱动方法、装置、电子设备和存储介质


[0001]本公开涉及虚拟现实
,尤其涉及虚拟对象驱动方法、装置、电子设备和存储介质。

技术介绍

[0002]近年来,虚拟人的行业关注度显著提升。虚拟人制作流程中最为核心的是建模、驱动和渲染三大部分,其中驱动可以大致分为真人驱动和AI驱动。目前,真人驱动是虚拟人离线内容制作和直播的主要方式,发挥着不可替代的作用,其基础是捕捉真人演员表情和动作数据的表演捕捉技术。表演捕捉包括面部表情捕捉和肢体动作捕捉,也统称动作捕捉。表演捕捉被广泛地应用在影视、游戏、动画等行业,可以大大降低动画师人工制作成本。
[0003]然而,现有方案的身体驱动存在骨骼旋转不自然的问题。

技术实现思路

[0004]本公开提供虚拟对象驱动方法、装置、电子设备和存储介质,以至少解决相关技术中身体驱动存在骨骼旋转不自然的问题。本公开的技术方案如下:
[0005]根据本公开实施例的第一方面,提供一种虚拟对象驱动方法,所述方法包括:
[0006]获取源对象的目标动作对应的多个骨骼节点的初始旋转信息;所述多个骨骼节点之间具有父子层级关系;
[0007]基于子节点的初始旋转信息和对应的父节点的初始旋转信息、所述子节点在所述父节点对应坐标系中的位置信息,调整所述父节点旋转的旋转角,以使所述子节点和所述父节点在目标方向上的旋转分量满足预设要求;所述目标方向为所述子节点和所述父节点旋转时旋转分量为预设值的方向;
[0008]获取所述旋转分量满足预设要求时的所述旋转角,得到目标旋转角,并基于所述目标旋转角优化所述父节点的旋转信息和所述子节点的旋转信息,得到所述父节点的优化旋转信息和所述子节点的优化旋转信息;
[0009]将所述源对象的各个骨骼节点的所述优化旋转信息映射到预设虚拟对象的各个骨骼节点上,得到所述虚拟对象的各个骨骼节点的第一目标旋转信息;
[0010]基于所述第一目标旋转信息驱动所述虚拟对象。
[0011]可选的,在调整所述父节点旋转的旋转角之前,还包括:
[0012]基于所述子节点在所述父节点对应坐标系中的位置信息,确定所述子节点相对于所述父节点旋转的旋转轴;
[0013]基于所述父节点旋转的矫正旋转角以及所述旋转轴构造矫正旋转矩阵函数;
[0014]基于所述子节点的初始旋转信息、所述父节点的初始旋转信息以及所述矫正旋转矩阵函数,确定所述子节点和所述父节点在目标方向上的旋转分量函数,所述目标方向为所述子节点相对于所述父节点旋转时旋转分量为预设值的方向,所述预设值为0。
[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]对所述虚拟对象的各个下肢骨骼节点对应的第一目标旋转信息和根节点位置、脚部节点位置进行重定向优化,分别得到第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟对象驱动方法,其特征在于,所述方法包括:获取源对象的目标动作对应的多个骨骼节点的初始旋转信息;所述多个骨骼节点之间具有父子层级关系;基于子节点的初始旋转信息和对应的父节点的初始旋转信息、所述子节点在所述父节点对应坐标系中的位置信息,调整所述父节点旋转的旋转角,以使所述子节点和所述父节点在目标方向上的旋转分量满足预设要求;所述目标方向为所述子节点和所述父节点旋转时旋转分量为预设值的方向;获取所述旋转分量满足预设要求时的所述旋转角,得到目标旋转角,并基于所述目标旋转角优化所述父节点的旋转信息和所述子节点的旋转信息,得到所述父节点的优化旋转信息和所述子节点的优化旋转信息;将所述源对象的各个骨骼节点的所述优化旋转信息映射到预设虚拟对象的各个骨骼节点上,得到所述虚拟对象的各个骨骼节点的第一目标旋转信息;基于所述第一目标旋转信息驱动所述虚拟对象。2.根据权利要求1所述的方法,其特征在于,在调整所述父节点旋转的旋转角之前,还包括:基于所述子节点在所述父节点对应坐标系中的位置信息,确定所述子节点相对于所述父节点旋转的旋转轴;基于所述父节点旋转的矫正旋转角以及所述旋转轴构造矫正旋转矩阵函数;基于所述子节点的初始旋转信息、所述父节点的初始旋转信息以及所述矫正旋转矩阵函数,确定所述子节点和所述父节点在目标方向上的旋转分量函数,所述目标方向为所述子节点相对于所述父节点旋转时旋转分量为预设值的方向,所述预设值为0。3.根据权利要求2所述的方法,其特征在于,所述调整所述父节点旋转的旋转角,包括:基于所述旋转分量函数和所述矫正旋转矩阵函数,调整所述父节点旋转的旋转角,以使所述旋转分量函数的值最小化。4.根据权利要求3所述的方法,其特征在于,所述基于所述旋转分量函数和所述矫正旋转矩阵函数,调整所述父节点旋转的旋转角,以使所述旋转分量函数的值最小化,包括:确定所述父节点的优化旋转信息与所述矫正旋转矩阵、所述父节点的初始旋转信息之间的等式关系,并确定所述子节点的优化旋转信息与所述矫正旋转矩阵、所述子节点的初始旋转信息之间的等式关系,得到第一等式和第二等式;利用所述第一等式、所述第二等式和所述矫正旋转函数,将所述旋转分量函数转换为以所述矫正旋转角为变量的转换函数;确定当所述转换函数取最小值时,所述矫正旋转角的值。5.根据权利要求2所述的方法,其特征在于,所述基于所述目标旋转角优化所述父节点的旋转信息和所述子节点的旋转信息,得到所述父节点的优化旋转信息和所述子节点的优化旋转信息,包括:基于所述矫正旋转矩阵函数,确定所述目标旋转角对应的目标旋转矩阵;基于所述目标旋转矩阵和所述父节点的初始旋转信息,确定所述父节点的优化旋转信息,并基于所述目标旋转矩阵和所述子节点的初始旋转信息,确定所述子节点的优化旋转信息。
6.根据权利要求1所述的方法,其特征在于,在获取源对象的目标动作对应的多个骨骼节点的初始旋转信息之前,还包括:在源对象处于初始动作状态时,分别确定所述源对象上的各个子节点以及对应的父节点旋转到预设的标准姿态时,相对于世界坐标系的旋转信息,得到第一全局旋转矩阵和第二全局旋转矩阵;所述标准姿态为预设的标准对象的目标姿态;在预设的虚拟对象处于初始动作状态时,分别确定所述虚拟对象上的各个子节点以及对应的父节点旋转到所述标准姿态时,相对于所述世界坐标系的旋转信息,得到第三全局旋转矩阵和第四全局旋转矩阵。7.根据权利要求6所述的方法,其特征在于,所述优化旋转信息为所述骨骼节点相对于对应的父节点的优化局部旋转矩阵,所述将所述源对象的各个骨骼节点的所述优化旋转信息映射到预设虚拟对象的各个骨骼节点上,包括:基于所述优化局部旋转矩阵、所述第一全局旋转矩阵、所述第二全局旋转矩阵,将所述源对象的各个骨骼节点的所述优化旋转信息映射到所述标准对象的各个骨骼节点上,得到所述标准对象的标准旋转信息;基于所述第三全局旋转矩阵、所述第四全局旋转矩阵,将所述标准旋转信息映射到预设虚拟对象的各个骨骼节点上,得到所述虚拟对象的各个骨骼节点的第一目标旋转信息。8.根据权利要求7所述的方法,其特征在于,所述将所述源对象的各个骨骼节点的所述优化旋转信息映射到所述标准对象的各个骨骼节点上,包括:确定所述源对象上的骨骼节点的所述优化局部旋转矩阵与对应的所述第二全局旋转矩阵的第一乘积,并确定所述第一乘积与所述骨骼节点的所述第一全局旋转矩阵的倒数之间的乘积,得到第二乘积;确定所述源对象的骨骼节点与所述标准对象的骨骼节点之间的第一对应关系;根据所述第一对应关系,将所述骨骼节点的所述第二乘积对应的旋转信息映射到所述标准对象的对应骨骼节点上,得到所述标准对象的标准旋转信息。9.根据权利要求8所述的方法,其特征在于,所述基于所述第三全局旋转矩阵、所述第四全局旋转矩阵,将所述标准旋转信息映射到预设虚拟对象的各个骨骼节点上,得到所述虚拟对象的各个骨骼节点的第一目标旋转信息,包括:确定所述标准对象的骨骼节点与所述虚拟对象的骨骼节点之间的第二对应关系;根据所述第二对应关系,确定所述标准对象上的骨骼节点的所述标准旋转信息,与对应在所述虚拟对象上的骨骼节点的所述第三全局旋转矩阵...

【专利技术属性】
技术研发人员:赵培尧刘晓强庞晓东
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1