CN102708582A - 一种面向异构拓扑的角色运动重定向方法 - Google Patents

一种面向异构拓扑的角色运动重定向方法 Download PDF

Info

Publication number
CN102708582A
CN102708582A CN2012101398515A CN201210139851A CN102708582A CN 102708582 A CN102708582 A CN 102708582A CN 2012101398515 A CN2012101398515 A CN 2012101398515A CN 201210139851 A CN201210139851 A CN 201210139851A CN 102708582 A CN102708582 A CN 102708582A
Authority
CN
China
Prior art keywords
joint
module
mid
role
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012101398515A
Other languages
English (en)
Other versions
CN102708582B (zh
Inventor
曹跃
陈雷霆
张剑平
田瑞娇
唐琛
赵帅
蔡洪斌
卢光辉
邱航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201210139851.5A priority Critical patent/CN102708582B/zh
Publication of CN102708582A publication Critical patent/CN102708582A/zh
Application granted granted Critical
Publication of CN102708582B publication Critical patent/CN102708582B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种面向异构拓扑的角色运动重定向方法,涉及计算机图形和数字媒体娱乐技术领域,该方法包括以下步骤:(1)根据虚拟角色的动画信息建立中间模型;(2)为中间模型建立运动数据;(3)重定向关节映射后,基于人体下肢运动规律消除重定向后的滑步现象;(4)采用插值的方法对运动进行修正,消除重定向后的跳帧现象;(5)重定向后期处理。本发明的有益效果在于:对姿态各异,骨骼拓扑结构各不相同的运动重定向,进一步降低动画制作的成本,大幅度提高动作数据的重用率,同时实现运动重定向后的动作具有较强的真实感,一定程度上解决失真问题。

Description

一种面向异构拓扑的角色运动重定向方法
技术领域
本发明涉及计算机图形和数字媒体娱乐技术领域,尤其涉及一种面向异构拓扑的角色运动重定向方法。
背景技术
计算机动画技术一般可以分为基于关键帧的动画,基于运动学的动画,基于物理模型的动画和基于运动捕获的动画等几大类。其中,基于捕获数据的人体动画技术具有比较突出的优势。因为由于人物的运动模型非常复杂,包括上百个自由度,所以创建一个真实的和完全的运动模型,是非常困难的,采用捕获设备来获取并记录真实的运动轨迹则成为一种现实的选择。为了获得逼真的效果,可以通过捕获一个真实的原始角色运动作为原型,这样可以避免创建物理模型的困难。
基于运动捕获的动画技术,借助于专门的捕获设备直接获取演员的真实运动,然后将运动数据映射到动画角色上。和传统的动画制作方法相比,该方法能够使得角色的动作效果更加逼真、自然,并且动画制作所需的工作量、工作难度和工作强度大大降低。由于上述优点,结合运动捕获的动画技术现已成为计算机动画领域最具活力的方法。
利用运动编辑技术对通过运动捕获设备采集的动作数据进行修改,再用这些动作数据来驱动动画角色模型的运动,制作出逼真的动画,这就是运动重定向技术。而运动捕获数据针对的是特定的人或物,面对的是特定的场景,运动重定向技术可以按照动画师的要求,编辑和重用运动捕获数据,降低成本,制作出具有逼真和复杂动作效果的虚拟角色。运动重定向技术以重定向后动作的真实感为目标,致力于研究具有普遍适用性的重定向技术,提高动作的重用率,同时保持动作的逼真性。目前对运动重定向技术的研究主要集中在具有相同骨骼拓扑结构中,主要关注的是重定向结果的真实性与实时性,因此对具有相异骨骼拓扑结构的重定向研究就显得十分必要了。对姿态各异,骨骼拓扑结构各不相同的运动重定向研究可以进一步降低动画制作的成本,大幅度提高动作数据的重用率,有利于促进计算机动画和计算机角色类游戏的发展,也将给观众和玩家带来更加真实和震撼的视觉效果。
通过运动捕获仪器从特定的人或者动物身上捕获的动作数据,把这些数据重定向到具有不同的关节拓扑结构,骨骼长度,甚至不同种类的角色身上时,必然会发生动作的失真。失真是不可避免的。这就违背了运动重定向的初衷,即真实而流畅。本发明通过一种面向异构拓扑的角色运动重定向方法,实现运动重定向后的动作具有较强的真实感,一定程度上解决失真问题。
发明内容
 本发明的目的是提供一种面向异构拓扑的角色运动重定向方法,对姿态各异,骨骼拓扑结构各不相同的运动重定向,进一步降低动画制作的成本,大幅度提高动作数据的重用率,同时实现运动重定向后的动作具有较强的真实感,一定程度上解决失真问题。
为实现上述目的,本发明采取以下技术方案:一种面向异构拓扑的角色运动重定向方法,基于已经获取的虚拟角色的动画信息,本发明的方法步骤如下:
(1)根据虚拟角色的动画信息建立中间模型,得到虚拟骨骼模型之间关节的对应关系;
(2)为中间模型建立运动数据,驱动中间模型运动;
(3)重定向关节映射后,基于人体下肢运动规律消除重定向后的滑步现象;
(4)采用插值的方法对运动进行修正,消除重定向后的跳帧现象;
(5)通过添加各种物理约束条件,使重定向后的运动符合物理规律,生成动画关键帧序列。
最好步骤:在所述步骤(1)中,建立中间模型的方法是:中间模型最初是目标模型的拷贝;调整中间模型每个关节的自由度索引,使之与源模型的一致;调整中间模型初始姿态,使之源模型的一致。
最好步骤:调整中间模型的具体实现如下:(1-a)根据源模型和目标模型建立初始中间模型;(1-b)调整中间模型中各个关节在局部坐标系中的方向,使之与源模型的一致;(1-c)调整中间模型的骨骼比例,对中间模型的上肢长度进行调整,使得中间模型上肢中每块骨骼与源骨骼的比例等于中间模型下肢与源模型下肢的比例。 
最好步骤:为中间模型建立运动数据的方法是:如果源骨骼关节的坐标系旋转顺序与中间骨骼的坐标系旋转顺序不一致,通过建立旋转矩阵,提取符合条件的中间骨骼的关节欧拉角,用四元数                                               
Figure 2012101398515100002DEST_PATH_IMAGE002
表示关节k在t时刻的旋转量,设中间模型中存在关节A,在源模型中与之对应的关节为B,关节B的父关节C在中间模型中并不存在,那么关节A的旋转量
Figure 2012101398515100002DEST_PATH_IMAGE004
 = 
最好步骤:消除滑步现象具体步骤如下:(3-a)首先判断哪只脚为支撑脚(假设为右脚),根据初始支撑脚的位置计算出当前根关节的位置;(3-b)根据支撑脚(右脚)计算出下一时刻根关节的位置,同时根据此时人体运动规律,判断摆动脚(左脚)是否着地,如果没有着地,则执行(3-b),如果着地则根据当前的根关节位置计算出当前时刻着地脚(左脚)位置,执行(3-c);(3-c)根据支撑脚(左脚)计算下一时刻根关节的位置,判断摆动脚(右脚)是否着地,如果没有着地,则执行步骤(3-c),否则根据当前的根关节位置计算出当前时刻着地脚(右脚)的位置,执行步骤(3-b)。
最好步骤:消除重定向后的跳帧现象具体步骤包括:(4-a)对角色根关节位移采用类四次三角样条曲线插值算法来生成角色动画中间帧,在不改变控制顶点的情况下对曲线的形状和位置进行调整;(4-b)对关节朝向插值采用单位球面上的三次卡特莫尔基数样条(Catmull-Rom)方法,将每段卡特莫尔基数样条曲线转换成贝塞尔(Bezier)的曲线形式。
最好步骤:第(5)步具体步骤包括:(5-a)对运动数据(分为腾空类和着地类)进行判断,当腾空阶段,对其进行动量约束和转矩约束;着地时期,对其进行动量约束和平衡约束,保持角色的零力矩点(ZMP)始终落在支撑多边形中;(5-b)运用不敏卡尔曼滤波器(Unscented Kalman Fliter)分别对上述两种物理建模进行求解。
 综上所述,由于采用了上述技术方案,本发明的有益效果是:将已经存在的动画(包括通过关键帧方法和运动捕获方法制作的动画),映射到拓扑结构不同的目标模型上,使目标模型具有相同的运动,从而进一步降低动画制作的成本,大幅度提高运动数据的重用率,极大地丰富动画库,同时实现运动重定向后的动作具有较强的真实感,一定程度上解决失真问题。
附图说明
    本发明将通过例子并参照附图的方式说明,其中:
图1源模型与目标模型之间的对应示意图;
图2运动数据传递示意图;
    图3 CCD算法的二次迭代过程示意图;
    图4消除滑步示意图;
    图5 ZMP多边形示意图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。   
    下面参照附图和具体实施方式对本发明做详细说明。
 建立中间模型,得到虚拟骨骼模型之间关节的对应关系
 参见图1,具体步骤如下:
(a)根据源模型和目标模型建立初始中间模型。
    中间模型最初是根据目标模型建立的,从根结点遍历目标模型,对于每一个节点,为中间模型创立对应的关节点,并建立起父子节点的关系,当遍历完目标模型时初始的中间模型就形成了,这时的中间模型和目标模型是完全一样的。由于源模型与目标模型的关节数目与排列顺序不同,自由度索引必然不同,所以需要在创建每个关节时,调整其自由度索引,使之源模型的一致,这样在进行运动数据拷贝时,才能根据自由度索引定位源模型中每个关节的旋转数据并将之拷贝至中间模型。
    所述的调整中间模型的自由度索引,需要建立源模型和目标模型关节的对应关系。在进行关节对应时,对于如下四种情况,需要进行不同的处理:
(a-1)对于两个模型中相同的关节,可以直接进行运动对应。
(a-2)源模型中的某些关节在目标模型中可能没有相应的节点,如图1中的锁骨、肩胛骨和腕关节,需要一个虚拟骨骼指出和目标模型中两个节点对应的源模型中节点之间的方向,该虚拟骨骼与目标模型中相应两个节点间的骨骼对应。
(a-3)源模型中的整个关节链在目标模型中不存在,忽略该关节链所在的所有关节点。
(a-4)源模型中两个结点之间位移为零,可忽略源模型中重复的结点,接着按照(a-2)的方法在源模型中建立虚拟骨骼。
(b)调整中间模型中各个关节在局部坐标系中的方向,使之与源模型的一致。方法为:从根节点开始遍历中间模型,对于每一个关节点,根据其自由度索引找出对应的源模型关节,设 u 为源模型中的关节初始偏移向量,v 为中间模型中的关节初始偏移向量,u 和 v 的夹角为θ,将 v 绕垂直于 u和 v 的轴旋转θ,即可使 v 和 u 的方向一致。
(c)调整中间模型的骨骼比例。对中间模型的上肢长度进行调整,使得中间模型上肢中每块骨骼与源骨骼的比例等于中间模型下肢与源模型下肢的比例。设中间模型与源模型(在进行骨骼比例调整前,中间模型与目标模型的骨骼长度一致)的上肢比例为Uscale,下肢比例为Lscale ,则对于中间模型上肢骨骼长度 (len )进行如下调整: len = len/ Uscale Lscale,即:中间模型上肢骨骼长度/源模型上肢骨骼长度= Lscale =中间模型下肢长度/源模型下肢长度,这样根据上肢或下肢的末端关节作为约束求的根结点位置时,能够尽量保证下肢或上肢满足约束条件。 
 为中间模型建立运动数据,驱动中间模型运动
 如果在创建中间模型时不存在 (a-2)、(a-4)的情况时,已经可以完成运动重定向了,否则我们还需要对中间模型的运动数据进行调整。我们用四元数表示一条关节链中的第k个关节在t时刻其父节点在世界坐标系中的旋转量。如果在创建中间模型时存在(a-2)、(a-4)的情况,中间模型的和源模型的
Figure DEST_PATH_IMAGE010A
是不一样的, 
Figure DEST_PATH_IMAGE010AA
Figure 2012101398515100002DEST_PATH_IMAGE014
多乘了被忽略掉的关节在t时刻的自由度。如对于(a-4)情况(图2),令源模型(马)的关节胸在t时刻的旋转数据为
Figure 2012101398515100002DEST_PATH_IMAGE016
,中间模型的为
Figure 2012101398515100002DEST_PATH_IMAGE018
,有
Figure DEST_PATH_IMAGE016A
 = 
Figure 2012101398515100002DEST_PATH_IMAGE020
, 
Figure 2012101398515100002DEST_PATH_IMAGE022
;为了使中间模型该关节链上从胸的子节点到末端关节所在的骨骼具有与源模型相同的方向,需要通过
Figure 2012101398515100002DEST_PATH_IMAGE024
使两个模型中关节胸时刻的旋转数据相同。这样才能保证重定向后中间模型与源模型运动具有相同的运动姿态。
基于人体下肢运动规律结合反向运动学中的Cyclic Coordinate Descent(循环坐标下降)算法消除滑步现象
    由于不同的虚拟人模型之间骨架的几何长度上存在较大的差异,所以在重定向的关节映射之后,会出现人物脚部滑步的现象,采用基于人体下肢运动规律结合反向运动学中的Cyclic Coordinate Descent(CCD)算法消除滑步现象。基本思想为:首先判断支撑脚,假设当前支撑脚的位置在世界坐标系的原点。再根据当前支撑脚的位置计算下一时间段内的根关节位置,依据人体运动的运动学规律,判断另一只脚着地的时刻,然后再根据这一只脚的位置计算下一时间段内的根关节位置。具体实现如下:
设开始时刻为以右脚为支撑脚,左腿为摆动腿。在时刻
Figure 2012101398515100002DEST_PATH_IMAGE026
 为运动开始的时刻,在时刻
Figure 2012101398515100002DEST_PATH_IMAGE028
为运动过程中某一姿态。则在时刻,先根据初始右脚尖的位置计算在该时刻根关节在世界坐标系中的位置
Figure 2012101398515100002DEST_PATH_IMAGE032
,在从的下一时刻
Figure 2012101398515100002DEST_PATH_IMAGE034
Figure 2012101398515100002DEST_PATH_IMAGE036
时间段内的根关节位置同样根据
Figure 2012101398515100002DEST_PATH_IMAGE038
来计算;假设在时刻,左脚着地,则根据当前根关节的位置
Figure 2012101398515100002DEST_PATH_IMAGE040
,来计算左脚的位置
Figure 2012101398515100002DEST_PATH_IMAGE042
。则在
Figure DEST_PATH_IMAGE026AAA
时刻计算
Figure 2012101398515100002DEST_PATH_IMAGE044
和在
Figure DEST_PATH_IMAGE028AA
时刻
Figure 2012101398515100002DEST_PATH_IMAGE046
的计算
假设在某一时刻,
Figure 2012101398515100002DEST_PATH_IMAGE048
为在标准初始状态下人体模型的根关节坐标;
Figure 2012101398515100002DEST_PATH_IMAGE050
为标准初始状态下经过旋转变换后支撑脚脚尖的坐标;为某时刻根关节在世界坐标系下的坐标;
Figure 2012101398515100002DEST_PATH_IMAGE054
为该时刻支撑脚脚尖在世界坐标系下的坐标.由于在同一时刻、同一运动姿态,在不同的局部坐标系下,根关节坐标与脚尖坐标的相对位置是不变的,因此有:
     
根据上式,则有:
Figure 2012101398515100002DEST_PATH_IMAGE058
Figure 2012101398515100002DEST_PATH_IMAGE060
在上述算法中需要根据人体运动规律计算人体运动周期,从而确定人物脚步着地的时刻,具体实现如下:
运用正向运动学计算出两个膝关节的坐标PLKNEE和PRKNEE,然后求出双膝和根关节臀部所成的夹角
Figure 2012101398515100002DEST_PATH_IMAGE064
为左膝关节到根关节的向量,
Figure 2012101398515100002DEST_PATH_IMAGE066
为右膝关节到根关节的向量,计算公式如下:
Figure 2012101398515100002DEST_PATH_IMAGE068
。然后
Figure DEST_PATH_IMAGE062A
对t求导,即
Figure 2012101398515100002DEST_PATH_IMAGE070
计算出极值点即为运动周期,根据人体运动周期就可以判断角色脚着地的时刻。
CCD算法的具体实现如下: 
参见图3,J0,J1,J2,J3表示一条关节链中的各个关节,E表示当前帧的末端效应器的位置,
Figure 2012101398515100002DEST_PATH_IMAGE072
表示末端效应器的目标位置,d1和到d2分别表示当前帧末端效应器距目标位置的距离和骨骼矢量
Figure 2012101398515100002DEST_PATH_IMAGE074
旋转角度后,末端效应器距离目标位置的距离。实现过程中,定义一个最小的距离值
Figure 2012101398515100002DEST_PATH_IMAGE078
或者迭代次数n=100。
当骨骼矢量第一次旋转了一个角度后,末端效应器无法达到目标位置
Figure DEST_PATH_IMAGE072A
时,则需要调整关节J3的父关节J2的旋转角度,即此时我们连接关节J2与末端效应器E,作矢量
Figure 2012101398515100002DEST_PATH_IMAGE080
,再连接关节J2与末端效应器的目标位置
Figure DEST_PATH_IMAGE072AA
,可以求出此时在这两个矢量之间存在一个角度
Figure 2012101398515100002DEST_PATH_IMAGE082
,旋转矢量
Figure 2012101398515100002DEST_PATH_IMAGE084
,使其绕轴旋转角度
Figure DEST_PATH_IMAGE082A
,则末端效应器又可以达到一个新的位置,如果此时的d2依然没有小于定义的一个最小距离,重复以上的迭代过程。直到d2小于我们定义的最小距离
Figure DEST_PATH_IMAGE078A
或者迭代过程超过了定义的迭代次数n,迭代终止,此时的末端效应器位置即是实验所求的位置,它可以无限接近于目标位置
Figure DEST_PATH_IMAGE072AAA
通过以上的算法过程,就可以约束角色的一只脚在指定位置,从而不产生滑步的现象。消除滑步参见图4。
消除重定向后的跳帧现象
    采用运动编辑技术,对关键帧进行值插。对角色根关节位移采用类四次三角样条曲线插值算法来生成角色动画中间帧。具体实现如下:给定关键帧的控制点Qi
Figure 2012101398515100002DEST_PATH_IMAGE088
R2(i=0,1…,n)和关键帧F=(F0,F1,…Fn+5),其中F0<F1<…<Fn+5,对于
Figure 2012101398515100002DEST_PATH_IMAGE092
,定义函数
Figure 2012101398515100002DEST_PATH_IMAGE094
               (1)
对于i=1,2,…,n+3, 定义三角样条曲线段为
由所有曲线段构成三角样条曲线:
Figure 2012101398515100002DEST_PATH_IMAGE098
                (2)
其中
Figure 2012101398515100002DEST_PATH_IMAGE100
,i=4,5,…,n。当所有
Figure 2012101398515100002DEST_PATH_IMAGE102
均相等时,F为等间隔关键帧序列,则构造的曲线为均匀的。
通过在三角函数空间上构造带形状参数的基函数,定义了一种结构类似于4次B样条曲线的分段三角多项式样条曲线,新曲线的每一段由相继的5个控制顶点生成。在保留B样条曲线主要优点的同时,新曲线具有形状可调性。另外,4次均匀B样条曲线只能达到C3 连续,而新曲线当取特殊的参数时可达C5 连续。用这种曲线对角色跟关节的位移向量进行插值,生成的运动轨迹更加真实平滑,且具有用户可控性,比现有所有方法皆优。
对关节朝向插值采用单位
Figure 2012101398515100002DEST_PATH_IMAGE104
球面上的三次卡特莫尔基数样条(Catmull-Rom)方法。具体实现如下:将每段三次卡特莫尔基数样条(Catmull-Rom)曲线转换成贝塞尔(Bezier)的曲线形式。
设C(t)所对应的贝塞尔(Bezier)曲线的控制顶点为{P’i;i=0,1,2,3},即
Figure 2012101398515100002DEST_PATH_IMAGE106
其中
Figure 2012101398515100002DEST_PATH_IMAGE108
可求得
Figure 2012101398515100002DEST_PATH_IMAGE110
所对应的四元数控制顶点为:
Figure 2012101398515100002DEST_PATH_IMAGE112
单位R4球面上的三次卡特莫尔基数样条(Catmull-Rom)具有插值、C4连续、任一参数t处的四元数可精确求得、对用户透明、可用参数控制、计算量小的优点。
重定向后期处理
采用基于物理的方法保证重定向后的运动的真实感。通过添加物理各种约束,使重定向后的运动符合物理规律,生成真实感较强的动画关键帧序列。参见图4,具体步骤如下:
    (1)对运动进行分类:腾空类,着地类,对不同的运动类型进行实施不同的物理约束。
    (2)腾空阶段,角色只受重力影响,因此对其进行动量约束和转矩,角色在运动过程中的线动量和角动量均为0,因此
Figure 2012101398515100002DEST_PATH_IMAGE114
, ,其中
Figure 2012101398515100002DEST_PATH_IMAGE120
表示第i段骨骼的质量,
Figure 2012101398515100002DEST_PATH_IMAGE124
代表的是质心加速度;
Figure 2012101398515100002DEST_PATH_IMAGE128
Figure 2012101398515100002DEST_PATH_IMAGE130
分别表示第i段骨骼质心位置和质心加速度,c表示角色的重心位置。设
Figure 2012101398515100002DEST_PATH_IMAGE132
是t时刻各个关节的转矩, 
Figure 2012101398515100002DEST_PATH_IMAGE134
,是各个关节的最大转矩限制,对于t时刻,通过Newton-Euler方程求解出力矩在t时刻的值,比较
Figure 2012101398515100002DEST_PATH_IMAGE138
Figure 2012101398515100002DEST_PATH_IMAGE140
的值如果
Figure 2012101398515100002DEST_PATH_IMAGE142
,则
Figure 2012101398515100002DEST_PATH_IMAGE144
Figure 2012101398515100002DEST_PATH_IMAGE146
(3)参见图5,着地时期,主要考虑角色的平衡限制和转矩约束,角色的动作平衡主要和零力矩点(ZMP)有关,若要保持角色的动态平衡,必须满足零力矩点始终落在支撑多边形中,因此计算每一帧的零力矩点,其公式为
Figure 2012101398515100002DEST_PATH_IMAGE148
, 
Figure 2012101398515100002DEST_PATH_IMAGE150
, 
Figure 2012101398515100002DEST_PATH_IMAGE152
,根据足部关节坐标,计算足底与地面之间包容所有接触点的最小多边形S,当运动重定向的动作需要保持平衡时,则通过ZMP反馈信息对角色的姿势进行修正,以满足平衡掉条件,即落在S以内。设
Figure DEST_PATH_IMAGE132A
是t时刻各个关节的转矩, 
Figure DEST_PATH_IMAGE134A
,是各个关节的最大转矩限制,对于t时刻,通过Newton-Euler方程求解出力矩在t时刻的值,比较
Figure DEST_PATH_IMAGE138A
Figure DEST_PATH_IMAGE140A
的值如果
Figure DEST_PATH_IMAGE142A
,则
Figure DEST_PATH_IMAGE144A
Figure DEST_PATH_IMAGE146A
(4)运用不敏卡尔曼滤波器(Unscented Kalman Fliter) 分别对上述两种情况进行求解,设
Figure 2012101398515100002DEST_PATH_IMAGE156
在t时刻,针对第k帧数的运动,输入表示表示源运动的数据
Figure 2012101398515100002DEST_PATH_IMAGE158
,及约束目标
Figure 2012101398515100002DEST_PATH_IMAGE160
,通过UKF,求解满足约束的目标运动,因此当处于腾空阶段,有
Figure 2012101398515100002DEST_PATH_IMAGE162
, 
Figure DEST_PATH_IMAGE164
,当处于着地阶段,有
Figure DEST_PATH_IMAGE166
,
Figure DEST_PATH_IMAGE168
选择卡尔曼滤波器的过程模型,这里的
Figure DEST_PATH_IMAGE172
代表第k帧的原始数据。
定义噪音矩阵
Figure DEST_PATH_IMAGE174
,该矩阵是一个对角矩阵,它对角线上的每一个元素的值代表的是过程模型中相关自由度。如果保持某一关节的自由度在编辑前后不发生改变,则把噪音矩阵中与之相应的值设置为0.
 从n维过程模型和噪音矩阵,构建共(2n+1)个样本点,样本点的计算公示为: 
Figure DEST_PATH_IMAGE176
,其中
Figure DEST_PATH_IMAGE178
,
Figure DEST_PATH_IMAGE180
为待选参数,由用户制定。
Figure DEST_PATH_IMAGE184
为矩阵
Figure DEST_PATH_IMAGE186
的第i列或行;
从第三步求得的样本点,通过
Figure DEST_PATH_IMAGE188
,作为测量模型函数,把它们转化为对应的预测值,计算第i个样本的预测值, 
Figure DEST_PATH_IMAGE190
Figure DEST_PATH_IMAGE192
是经过加权计算后的预测值,其中
Figure DEST_PATH_IMAGE194
为每个样本点对应的权值。
计算并更新符合约束条件的运动: 
Figure DEST_PATH_IMAGE196
,其中,
Figure DEST_PATH_IMAGE200
    本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (7)

1.一种面向异构拓扑的角色运动重定向方法,基于已经获取的虚拟角色的动画信息,其特征在于该方法包括以下步骤:
(1)根据虚拟角色的动画信息建立中间模型,得到虚拟骨骼模型之间关节的对应关系;
(2)为中间模型建立运动数据,驱动中间模型运动;
(3)重定向关节映射后,基于人体下肢运动规律消除重定向后的滑步现象;
(4)采用插值的方法对运动进行修正,消除重定向后的跳帧现象;
(5)通过添加各种物理约束条件,使重定向后的运动符合物理规律,生成动画关键帧序列。
2.根据权利要求1所述的一种面向异构拓扑的角色运动重定向方法,其特征在于:在所述步骤(1)中,建立中间模型的方法是:中间模型最初是目标模型的拷贝;调整中间模型每个关节的自由度索引,使之与源模型的一致;调整中间模型初始姿态,使之与源模型的一致。
3.根据权利要求2所述的一种面向异构拓扑的角色运动重定向方法,其特征在于:调整中间模型具体实现如下:(1-a)根据源模型和目标模型建立初始中间模型;(1-b)调整中间模型中各个关节在局部坐标系中的方向,使之与源模型的一致;(1-c)调整中间模型的骨骼比例,对中间模型的上肢长度进行调整,使得中间模型上肢中每块骨骼与源骨骼的比例等于中间模型下肢与源模型下肢的比例。
4.根据权利要求1所述的一种面向异构拓扑的角色运动重定向方法,其特征在于:为中间模型建立运动数据的方法是:如果源骨骼关节的坐标系旋转顺序与中间骨骼的坐标系旋转顺序不一致,通过建立旋转矩阵,提取符合条件的中间骨骼的关节欧拉角,用四元数                                               表示关节k在t时刻的旋转量,设中间模型中存在关节A,在源模型中与之对应的关节为B,关节B的父关节C在中间模型中并不存在,那么关节A的旋转量
Figure 2012101398515100001DEST_PATH_IMAGE004
 = 
Figure 2012101398515100001DEST_PATH_IMAGE006
5.根据权利要求1所述的一种面向异构拓扑的角色运动重定向方法,其特征在于消除滑步现象具体步骤如下:(3-a)首先判断哪只脚为支撑脚(假设为右脚),根据初始支撑脚的位置计算出当前根关节的位置;(3-b)根据支撑脚(右脚)计算出下一时刻根关节的位置,同时根据此时人体运动规律,判断摆动脚(左脚)是否着地,如果没有着地,则执行(3-b),如果着地则根据当前的根关节位置计算出当前时刻着地脚(左脚)位置,执行(3-c);(3-c)根据支撑脚(左脚)计算下一时刻根关节的位置,判断摆动脚(右脚)是否着地,如果没有着地,则执行步骤(3-c),否则根据当前的根关节位置计算出当前时刻着地脚(右脚)的位置,执行步骤(3-b)。
6.根根据权利要求1所述的一种面向异构拓扑的角色运动重定向方法,其特征在于,消除重定向后的跳帧现象具体步骤包括:(4-a)对角色根关节位移采用类四次三角样条曲线插值算法来生成角色动画中间帧,在不改变控制顶点的情况下对曲线的形状和位置进行调整;(4-b)对关节朝向插值采用单位
Figure 2012101398515100001DEST_PATH_IMAGE008
球面上的三次卡特莫尔基数样条方法,将每段卡特莫尔基数样条曲线转换成贝塞尔的曲线形式。
7.根据权利要求1所述的一种面向异构拓扑的角色运动重定向方法,其特征在于具体步骤包括:(5-a)对运动数据(分为腾空类和着地类)进行判断,当腾空阶段,对其进行动量约束和转矩约束;着地时期,对其进行动量约束和平衡约束,保持角色的零力矩点始终落在支撑多边形中;(5-b)运用不敏卡尔曼滤波器分别对上述两种物理建模进行求解。
CN201210139851.5A 2012-05-08 2012-05-08 一种面向异构拓扑的角色运动重定向方法 Expired - Fee Related CN102708582B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210139851.5A CN102708582B (zh) 2012-05-08 2012-05-08 一种面向异构拓扑的角色运动重定向方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210139851.5A CN102708582B (zh) 2012-05-08 2012-05-08 一种面向异构拓扑的角色运动重定向方法

Publications (2)

Publication Number Publication Date
CN102708582A true CN102708582A (zh) 2012-10-03
CN102708582B CN102708582B (zh) 2014-03-12

Family

ID=46901299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210139851.5A Expired - Fee Related CN102708582B (zh) 2012-05-08 2012-05-08 一种面向异构拓扑的角色运动重定向方法

Country Status (1)

Country Link
CN (1) CN102708582B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530897A (zh) * 2013-09-30 2014-01-22 华为软件技术有限公司 运动重定向处理方法及装置
CN104183000A (zh) * 2014-08-14 2014-12-03 合肥工业大学 类人角色全自动多源异构运动重定向方法
CN104867171A (zh) * 2015-05-05 2015-08-26 中国科学院自动化研究所 一种三维角色的过渡动画生成方法
CN106078752A (zh) * 2016-06-27 2016-11-09 西安电子科技大学 一种基于Kinect的仿人机器人人体行为模仿方法
CN107038430A (zh) * 2017-05-05 2017-08-11 成都通甲优博科技有限责任公司 一种构造人体姿态数据样本的方法及其装置
CN107424203A (zh) * 2017-08-02 2017-12-01 湖南大学 基于偏移映射法和雅克比矩阵算法相结合的运动重定向方法及装置
GB2555605A (en) * 2016-11-03 2018-05-09 Naturalmotion Ltd Animating a virtual object in a virtual world
CN108109189A (zh) * 2017-12-05 2018-06-01 北京像素软件科技股份有限公司 动作共享方法及装置
CN108363978A (zh) * 2018-02-12 2018-08-03 华南理工大学 采用深度学习和ukf的基于肢体语言的情感感知方法
CN110807833A (zh) * 2019-11-04 2020-02-18 成都数字天空科技有限公司 一种网状拓扑获得方法、装置、电子设备及存储介质
CN111325819A (zh) * 2020-02-17 2020-06-23 网易(杭州)网络有限公司 运动数据处理方法、装置、设备和存储介质
CN112634419A (zh) * 2020-12-31 2021-04-09 魔珐(上海)信息科技有限公司 一种运动重定向方法、装置、电子设备及存储介质
CN113298917A (zh) * 2021-05-28 2021-08-24 上海曼恒数字技术股份有限公司 一种人形动画复用方法及系统
CN113963090A (zh) * 2021-10-20 2022-01-21 李舟 Maya动画角色脚步固定工具
WO2023015921A1 (zh) * 2021-08-11 2023-02-16 网易(杭州)网络有限公司 动画数据处理方法、非易失性存储介质及电子装置
CN111951360B (zh) * 2020-08-14 2023-06-23 腾讯科技(深圳)有限公司 动画模型处理方法、装置、电子设备及可读存储介质
JP7546151B2 (ja) 2021-05-19 2024-09-05 シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド 動画移行方法及び装置、機器、記憶媒体並びにコンピュータプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071182A (ja) * 2003-08-26 2005-03-17 Matsushita Electric Works Ltd 3次元アニメーション作成支援装置
CN101477703A (zh) * 2008-10-11 2009-07-08 大连大学 基于语义模型的运动捕捉数据直接驱动的人体动画方法
CN101719284A (zh) * 2009-12-25 2010-06-02 北京航空航天大学 一种基于层次模型的虚拟人皮肤物理变形方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071182A (ja) * 2003-08-26 2005-03-17 Matsushita Electric Works Ltd 3次元アニメーション作成支援装置
CN101477703A (zh) * 2008-10-11 2009-07-08 大连大学 基于语义模型的运动捕捉数据直接驱动的人体动画方法
CN101719284A (zh) * 2009-12-25 2010-06-02 北京航空航天大学 一种基于层次模型的虚拟人皮肤物理变形方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
袁铨等: "动态3维场景中多角色动画的交互式模拟研究", 《中国图象图形学报》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530897B (zh) * 2013-09-30 2017-02-15 华为软件技术有限公司 运动重定向处理方法及装置
CN103530897A (zh) * 2013-09-30 2014-01-22 华为软件技术有限公司 运动重定向处理方法及装置
CN104183000A (zh) * 2014-08-14 2014-12-03 合肥工业大学 类人角色全自动多源异构运动重定向方法
CN104183000B (zh) * 2014-08-14 2017-04-19 合肥工业大学 类人角色全自动多源异构运动重定向方法
CN104867171A (zh) * 2015-05-05 2015-08-26 中国科学院自动化研究所 一种三维角色的过渡动画生成方法
CN106078752B (zh) * 2016-06-27 2019-03-19 西安电子科技大学 一种基于Kinect的仿人机器人人体行为模仿方法
CN106078752A (zh) * 2016-06-27 2016-11-09 西安电子科技大学 一种基于Kinect的仿人机器人人体行为模仿方法
GB2555605B (en) * 2016-11-03 2020-10-21 Naturalmotion Ltd Animating a virtual object in a virtual world
GB2555605A (en) * 2016-11-03 2018-05-09 Naturalmotion Ltd Animating a virtual object in a virtual world
US10297066B2 (en) 2016-11-03 2019-05-21 Naturalmotion Ltd. Animating a virtual object in a virtual world
CN107038430A (zh) * 2017-05-05 2017-08-11 成都通甲优博科技有限责任公司 一种构造人体姿态数据样本的方法及其装置
CN107038430B (zh) * 2017-05-05 2020-09-11 成都通甲优博科技有限责任公司 一种构造人体姿态数据样本的方法及其装置
CN107424203A (zh) * 2017-08-02 2017-12-01 湖南大学 基于偏移映射法和雅克比矩阵算法相结合的运动重定向方法及装置
CN108109189A (zh) * 2017-12-05 2018-06-01 北京像素软件科技股份有限公司 动作共享方法及装置
CN108363978B (zh) * 2018-02-12 2022-04-22 华南理工大学 采用深度学习和ukf的基于肢体语言的情感感知方法
CN108363978A (zh) * 2018-02-12 2018-08-03 华南理工大学 采用深度学习和ukf的基于肢体语言的情感感知方法
CN110807833A (zh) * 2019-11-04 2020-02-18 成都数字天空科技有限公司 一种网状拓扑获得方法、装置、电子设备及存储介质
CN111325819A (zh) * 2020-02-17 2020-06-23 网易(杭州)网络有限公司 运动数据处理方法、装置、设备和存储介质
WO2021164620A1 (zh) * 2020-02-17 2021-08-26 网易(杭州)网络有限公司 运动数据处理方法、装置、设备和存储介质
CN111951360B (zh) * 2020-08-14 2023-06-23 腾讯科技(深圳)有限公司 动画模型处理方法、装置、电子设备及可读存储介质
CN112634419A (zh) * 2020-12-31 2021-04-09 魔珐(上海)信息科技有限公司 一种运动重定向方法、装置、电子设备及存储介质
JP7546151B2 (ja) 2021-05-19 2024-09-05 シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド 動画移行方法及び装置、機器、記憶媒体並びにコンピュータプログラム
CN113298917A (zh) * 2021-05-28 2021-08-24 上海曼恒数字技术股份有限公司 一种人形动画复用方法及系统
WO2023015921A1 (zh) * 2021-08-11 2023-02-16 网易(杭州)网络有限公司 动画数据处理方法、非易失性存储介质及电子装置
CN113963090A (zh) * 2021-10-20 2022-01-21 李舟 Maya动画角色脚步固定工具

Also Published As

Publication number Publication date
CN102708582B (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
CN102708582B (zh) 一种面向异构拓扑的角色运动重定向方法
KR102645536B1 (ko) 애니메이션 처리 방법 및 장치, 컴퓨터 저장 매체 그리고 전자 디바이스
US11069113B2 (en) Method and apparatus for creating a computer simulation of an actor
JP7061238B2 (ja) 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習
Al Borno et al. Trajectory optimization for full-body movements with complex contacts
CN107598897A (zh) 一种基于人体示教的仿人机器人步态规划的方法
CN102375416B (zh) 基于快速搜索树的人型机器人踢球动作信息处理方法
CN101246601A (zh) 基于关键帧和时空约束的三维虚拟人体运动生成方法
CN105551072A (zh) 实现角色模型局部实时运动的方法及系统
Al Borno et al. Feedback control for rotational movements in feature space
CN114200947A (zh) 一种双足机器人的仿人步态规划方法、系统及装置
Zhang et al. Whole-body humanoid robot locomotion with human reference
CN104616335B (zh) 一种三维角色循环动画的自动累积方法
US20170221248A1 (en) Animating a virtual object in a virtual world
CN110264551A (zh) 一种运动重定向方法及系统
CN103077545B (zh) 一种基于路径的人体运动编辑方法
Popović Controlling physics in realistic character animation
Karim et al. Generic Spine Model with Simple Physics for Life-Like Quadrupeds and Reptiles.
Ahn Biped Walking of a Humanoid Robot for Argentina Tango
Wang et al. Optimization control for biped motion trajectory
Chen Constructing Swimming Training Model Based on Cyclic Coordinate Descent Algorithm
Salazar et al. Multiple Character Motion Adaptation in Virtual Cities Using Procedural Animation
민세희 Simulation and Control of Bio-inspired Virtual Characters
Nelson Descendent: Understanding the Digital Production Process From Human Interpretation to Algorithmic Interpolation to AI Inference.
Chen et al. Implementation of Tai Chi Chuan on humanoid robot

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140312

Termination date: 20180508

CF01 Termination of patent right due to non-payment of annual fee