虚拟角色的运动重定向方法和装置、存储介质及电子设备制造方法及图纸

技术编号:39241779 阅读:10 留言:0更新日期:2023-10-30 11:54
本申请公开了一种虚拟角色的运动重定向方法和装置、存储介质及电子设备。其中,该方法包括:获取源虚拟角色的源运动数据、目标虚拟角色的形状数据以及骨骼数据,根据源运动数据和形状数据确定对预先确定的初始运动数据进行穿模修正后得到的修正运动数据,初始运动数据表示目标虚拟角色执行目标运动的过程中存在互相穿透的第一部位,根据源运动数据、形状数据以及骨骼数据确定为修正运动数据和初始运动数据添加的目标权重参数,根据修正运动数据和目标权重参数确定目标运动数据。本申请解决了由于虚拟角色的运动重定向方式复杂,导致虚拟角色的运动重定向效率较低的技术问题。虚拟角色的运动重定向效率较低的技术问题。虚拟角色的运动重定向效率较低的技术问题。

【技术实现步骤摘要】
虚拟角色的运动重定向方法和装置、存储介质及电子设备


[0001]本申请涉及计算机领域,具体而言,涉及一种虚拟角色的运动重定向方法和装置、存储介质及电子设备。

技术介绍

[0002]目前,传统的运动重定向技术一般利用人工设计的骨骼运动学约束进行动作迁移。例如,骨骼的旋转角度限制,关节点位置关系,连续帧插值等。传统的运动重定向方法依赖于人工设计的规则,因此对操作者的专业知识、经验有着较高要求。另外,传统方法通过迭代优化寻找最优的重定向解,该过程需要较高的人力成本和时间成本,无法完成大规模的动作迁移任务,也无法满足实时的应用需求。
[0003]因此,相关技术中存在虚拟角色的运动重定向效率较低的问题。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本申请实施例提供了一种虚拟角色的运动重定向方法和装置、存储介质及电子设备,以至少解决由于虚拟角色的运动重定向方式复杂,导致虚拟角色的运动重定向效率较低的技术问题。
[0006]根据本申请实施例的一个方面,提供了一种虚拟角色的运动重定向方法,包括:获取源虚拟角色的源运动数据、目标虚拟角色的形状数据以及骨骼数据,其中,所述源运动数据包括所述源虚拟角色进行目标运动产生的数据,所述形状数据用于表示所述目标虚拟角色的模型形状,所述骨骼数据用于表示所述目标虚拟角色的骨骼拓扑结构;根据所述源运动数据和所述形状数据确定修正运动数据,其中,所述修正运动数据是对预先确定的初始运动数据进行穿模修正后得到的数据,所述初始运动数据是采用预设运动重定向算法产生的数据,所述初始运动数据表示所述目标虚拟角色执行所述目标运动的过程中存在互相穿透的第一部位;根据所述源运动数据、所述形状数据以及所述骨骼数据确定目标权重参数,其中,所述目标权重参数用于为所述修正运动数据和所述初始运动数据添加权重;根据所述修正运动数据和所述目标权重参数确定目标运动数据,其中,所述目标运动数据用于控制所述目标虚拟角色进行所述目标运动。
[0007]根据本申请实施例的另一方面,还提供了一种虚拟角色的运动重定向装置,包括:获取模块,用于获取源虚拟角色的源运动数据、目标虚拟角色的形状数据以及骨骼数据,其中,所述源运动数据包括所述源虚拟角色进行目标运动产生的数据,所述形状数据用于表示所述目标虚拟角色的模型形状,所述骨骼数据用于表示所述目标虚拟角色的骨骼拓扑结构;第一确定模块,用于根据所述源运动数据和所述形状数据确定修正运动数据,其中,所述修正运动数据是对预先确定的初始运动数据进行穿模修正后得到的数据,所述初始运动数据是采用预设运动重定向算法产生的数据,所述初始运动数据表示所述目标虚拟角色执行所述目标运动的过程中存在互相穿透的第一部位;第二确定模块,用于根据所述源运动
数据、所述形状数据以及所述骨骼数据确定目标权重参数,其中,所述目标权重参数用于为所述修正运动数据和所述初始运动数据添加权重;第三确定模块,用于根据所述修正运动数据和所述目标权重参数确定目标运动数据,其中,所述目标运动数据用于控制所述目标虚拟角色进行所述目标运动。
[0008]可选地,所述装置用于通过如下方式根据所述源运动数据和所述形状数据确定修正运动数据:根据所述源运动数据和所述形状数据确定所述目标虚拟角色的旋转调整参数,其中,所述旋转调整参数由所述目标虚拟角色的上肢部位和下肢部位对应的骨骼旋转程度决定,以使所述第一部位执行所述目标运动的过程中不再互相穿透;根据所述旋转调整参数和所述初始运动数据确定所述修正运动数据。
[0009]可选地,所述装置用于通过如下方式根据所述源运动数据和所述形状数据确定所述目标虚拟角色的旋转调整参数:将所述源运动数据和所述形状数据输入多个第一感知机模块,确定多个旋转调整子参数,其中,所述第一感知机模块的数量等于所述上肢部位和所述下肢部位的部位数量之和,一个所述第一感知机模块用于提取一个旋转调整子参数,一个所述旋转调整子参数表示所述目标虚拟角色的一个部位的骨骼旋转程度;将多个所述旋转调整子参数按照所述目标虚拟角色的骨骼维度进行拼接,构造所述旋转调整参数。
[0010]可选地,所述装置还用于:获取样本运动数据,其中,所述样本运动数据是预先确定的样本虚拟角色执行样本运动产生的数据;根据所述样本运动数据、所述形状数据以及所述骨骼数据对待训练的多个初始感知机模块进行训练,得到多个所述第一感知机模块;在所述初始感知机模块对应的损失值满足第一损失条件的情况下,将所述初始感知机模块确定为所述第一感知机模块;在所述初始感知机模块对应的损失值未满足所述第一损失条件的情况下,调整所述初始感知机模块的参数,并根据所述样本运动数据、所述形状数据以及所述骨骼数据对调整参数后的初始感知机模块再次进行训练。
[0011]可选地,所述装置还用于:通过如下方式对待训练的多个初始感知机模块进行训练,得到多个所述第一感知机模块:将所述样本运动数据、所述形状数据以及所述骨骼数据输入所述初始感知机模块,确定样本旋转数据,其中,所述样本旋转数据是对所述样本运动数据进行穿模修正后得到的数据;利用线性混合蒙皮算法将所述样本旋转数据通过所述骨骼数据映射至所述目标虚拟角色的蒙皮,确定所述目标虚拟角色身体内部各个网格点的位置信息以及所述目标虚拟角色的身体表面的顶点位置信息;根据所述各个网格点的位置信息生成排斥距离场,其中,所述排斥距离场表示所述目标虚拟角色的身体内部网格点至所述目标虚拟角色的身体表面的最小距离;利用所述目标虚拟角色四肢的顶点位置信息在所述排斥距离场内采样,确定排斥损失值,其中,所述初始感知机模块对应的损失值包括所述排斥损失值。
[0012]可选地,所述装置用于通过如下方式根据所述旋转调整参数和所述初始运动数据确定所述修正运动数据:在所述旋转调整参数和所述初始运动数据均为四元数结构的情况下,根据所述旋转调整参数和所述初始运动数据确定第一四元数和第二四元数,其中,所述第一四元数与所述旋转调整参数对应,所述第二四元数与所述初始运动数据对应,所述四元数结构用于表示三维空间中所述目标虚拟角色执行所述目标运动发生的旋转变换;将所述第一四元数和所述第二四元数的乘积确定为所述修正运动数据,其中,所述修正运动数据表示所述三维空间中所述目标虚拟角色执行所述目标运动发生的叠加后的旋转变换。
[0013]可选地,所述装置用于通过如下方式根据所述源运动数据、所述形状数据以及所述骨骼数据确定目标权重参数:将所述源运动数据、所述形状数据以及所述骨骼数据输入第二感知机模块,确定所述目标虚拟角色的各个骨骼对应的旋转调整权重参数;将多个所述旋转调整权重参数拼接为所述目标权重参数。
[0014]可选地,所述装置还用于:获取样本运动数据,其中,所述样本运动数据是预先确定的样本虚拟角色执行样本运动产生的数据;根据所述样本运动数据、所述形状数据以及所述骨骼数据对待训练的初始感知机模块进行训练,得到所述第二感知机模块;在所述初始感知机模块对应的损失值满足第二损失条件的情况下,将所述初始感知机模块确定为所述第二感知机模块;在所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟角色的运动重定向方法,其特征在于,包括:获取源虚拟角色的源运动数据、目标虚拟角色的形状数据以及骨骼数据,其中,所述源运动数据包括所述源虚拟角色进行目标运动产生的数据,所述形状数据用于表示所述目标虚拟角色的模型形状,所述骨骼数据用于表示所述目标虚拟角色的骨骼拓扑结构;根据所述源运动数据和所述形状数据确定修正运动数据,其中,所述修正运动数据是对预先确定的初始运动数据进行穿模修正后得到的数据,所述初始运动数据是采用预设运动重定向算法产生的数据,所述初始运动数据表示所述目标虚拟角色执行所述目标运动的过程中存在互相穿透的第一部位;根据所述源运动数据、所述形状数据以及所述骨骼数据确定目标权重参数,其中,所述目标权重参数用于为所述修正运动数据和所述初始运动数据添加权重,以维持第二部位和所述目标虚拟角色在执行所述目标运动过程中的接触;根据所述修正运动数据和所述目标权重参数确定目标运动数据,其中,所述目标运动数据用于控制所述目标虚拟角色进行所述目标运动。2.根据权利要求1所述的方法,其特征在于,所述根据所述源运动数据和所述形状数据确定修正运动数据,包括:根据所述源运动数据和所述形状数据确定所述目标虚拟角色的旋转调整参数,其中,所述旋转调整参数由所述目标虚拟角色的上肢部位和下肢部位对应的骨骼旋转程度决定,以使所述第一部位执行所述目标运动的过程中不再互相穿透;根据所述旋转调整参数和所述初始运动数据确定所述修正运动数据。3.根据权利要求2所述的方法,其特征在于,所述根据所述源运动数据和所述形状数据确定所述目标虚拟角色的旋转调整参数,包括:将所述源运动数据和所述形状数据输入多个第一感知机模块,确定多个旋转调整子参数,其中,所述第一感知机模块的数量等于所述上肢部位和所述下肢部位的部位数量之和,一个所述第一感知机模块用于提取一个旋转调整子参数,一个所述旋转调整子参数表示所述目标虚拟角色的一个部位的骨骼旋转程度;将多个所述旋转调整子参数按照所述目标虚拟角色的骨骼维度进行拼接,构造所述旋转调整参数。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:获取样本运动数据,其中,所述样本运动数据是预先确定的样本虚拟角色执行样本运动产生的数据;根据所述样本运动数据、所述形状数据以及所述骨骼数据对待训练的多个初始感知机模块进行训练,得到多个所述第一感知机模块;在所述初始感知机模块对应的损失值满足第一损失条件的情况下,将所述初始感知机模块确定为所述第一感知机模块;在所述初始感知机模块对应的损失值未满足所述第一损失条件的情况下,调整所述初始感知机模块的参数,并根据所述样本运动数据、所述形状数据以及所述骨骼数据对调整参数后的初始感知机模块再次进行训练。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:通过如下方式对待训练的多个初始感知机模块进行训练,得到多个所述第一感知机模
块:将所述样本运动数据、所述形状数据以及所述骨骼数据输入所述初始感知机模块确定样本旋转数据,其中,所述样本旋转数据是对所述样本运动数据进行穿模修正后得到的数据;利用线性混合蒙皮算法将所述样本旋转数据通过所述骨骼数据映射至所述目标虚拟角色的蒙皮,确定所述目标虚拟角色身体内部各个网格点的位置信息以及所述目标虚拟角色的身体表面的顶点位置信息;根据所述各个网格点的位置信息生成排斥距离场,其中,所述排斥距离场表示所述目标虚拟角色的身体内部网格点至所述目标虚拟角色的身体表面的最小距离;利用所述目标虚拟角色四肢的顶点位置信息在所述排斥距离场内采样,确定排斥损失值,其中,所述初始感知机模块对应的损失值包括所述排斥损失值。6.根据权利要求2所述的方法,其特征在于,所述根据所述旋转调整参数和所述初始运动数据确定所述修正运动数据,包括:在所述旋转调整参数和所述初始运动数据均为四元数结构的情况下,根据所述旋转调整参数和所述初始运动数据确定第一四元数和第二四元数,其中,所述第一四元数与所述旋转调整参数对应,所述第二四元数与所述初始运动数据对应,所述四元数结构用于表示三维空间中所述目标虚拟角色执行所述目标运动发生的旋转变换;将所述第一四元数和所述第二四元数的乘积确定为所述修正运动数据,其中,所述修正运动数据表示所述三维空间中所...

【专利技术属性】
技术研发人员:张嘉旭翁俊武康頔赵放黄少立暴林超王珏
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1