一种三维角色动画非线性修改方法

文档序号:8260267阅读:561来源:国知局
一种三维角色动画非线性修改方法
【技术领域】
[0001]本发明涉及三维动画技术领域,具体涉及一种三维角色动画非线性修改方法。
【背景技术】
[0002]三维动画技术,是近年来随着计算机软硬件技术的发展而产生的一种新兴技术,可以方便快捷地制作出满足导演需求的三维动画或影视特效镜头。
[0003]三维动画片的制作原理一般为:首先,利用三维软件(比如3ds Max、Maya或Houdini)在计算机中建立一个虚拟的世界;然后,在这个虚拟的三维世界中添加场景和三维卡通角色等三维模型;最后,设定模型的动画曲线、虚拟摄影机的运动轨迹和其它动画参数,渲染得到角色动画。
[0004]由于三维动画技术具备可精确模拟真实景象、几乎没有创作限制等特点,目前被广泛应用于娱乐、教育、军事等诸多领域。针对娱乐领域的应用,通常需要根据设计师提供的卡通人物造型,制作出具备对应的三维动画角色和骨骼绑定系统,并通过在不同的时间点设置不同的关键帧,从而使之具备符合角色性格、年龄或其他特征的逼真动作。
[0005]因为动画是每秒24帧或更多,而人眼对角色动作较为敏感,所以为了赋予三维角色栩栩如生的肢体动画或表情动画,往往需要动画师为角色的每个部位以0.04秒左右的精度设置关键帧,即使是一段一分钟的角色动画,常需要数小时来制作,工作量不小。但一段动作的制作完成并非终点,常需要根据故事情节或角色心情调整角色的动作的节奏,此外在群体动画中也需要角色之间的动作节奏不全一致,因此需要调整该段动作,使其在局部有加速或减速等节奏变化,但现有软件只提供对动画曲线的整体时间的线性缩放,不支持局部的非线性变化,所以动画师只能逐关键帧的调整时间值。而且一段角色动画,往往是角色身上不同部位之间的协调动作,所以还需保证不同部位间的调整是一致的,工作量不亚于重新制作。因此,如何能够使之前制作的动画动作具有丰富的节奏变化,就成为三维动画技术中亟待解决的问题。

【发明内容】

[0006]有鉴于此,本发明提供了一种三维角色动画非线性修改方法,能够在原始角色动画数据基础上进行加速/减速等非线性节奏变化,甚至是原有动作的逆序化。
[0007]本发明的三维角色动画非线性修改方法,包括如下步骤:
[0008]步骤1,提取原始角色动画的整体时长和η个关键帧的时间值T1, Τ2,…,Tk,...,!;,对整体时长进行归一化处理,获得归一化后的原始角色动画关键帧的时间值U1, tl2,…,tlk,…,tln;
[0009]所述关键帧是由动画师根据角色动画所需在动画帧序列中选定的帧,动画师在关键帧时刻设定动画属性的值,关键帧信息包括时间值和属性值;关键帧之间的帧时的属性值由三维动画制作软件根据相邻关键帧时的属性值进行插值而得到,以动画时间为X轴,关键帧的属性值为Y轴,通过插值得到连续的动画曲线;本技术中仅修改各关键帧的时间值,其属性值保持不变;
[0010]步骤2,建立二维坐标系,横、纵坐标区间均为[0,1],其中,横坐标为归一化后的原始角色动画关键帧的时间值,纵坐标为待求的新角色动画关键帧的时间值,在坐标系中根据动画节奏变化要求绘制控制曲线f,控制曲线f的绘制方法为:如果在局部时间内原动作不做任何节奏变化,则控制曲线在该局部时间区间内的导数是I;如果在局部时间内动作节奏变慢,则控制曲线在该局部时间区间内的导数大于I ;如果在某局部时间内节奏变快,则控制曲线在该局部时间区间内的导数小于I且大于O ;如果在某局部时间内动作发生的时序逆转,则控制曲线在该局部时间区间内的导数小于O ;
[0011]步骤3,根据控制曲线f,获得与归一化后的原始角色动画关键帧的时间值U1,tl2,…,tlk,…,tln—一对应的新角色动画关键帧的时间值t2i,t22,…,t2k,…,t2n,t2k= f(tlk),然后将根据角色动画的整体时长将新角色动画关键帧的时间值进行逆归一化,获得新角色动画的关键帧的时间值Iw Tr 2,…,Iw k,…,Iw n,原始角色动画的关键帧的时间值T1, T2,...,!;,…,Tn与新角色动画的关键帧的时间值Iw Tr 2,…,Tr k,…,Iw n一一对应;各关键帧的属性值不变,根据新角色动画的关键帧的时间值Iw k和属性值,通过关键帧插值获得新动画曲线;
[0012]步骤4,将新动画曲线和原始动画曲线以设定的比例权重w进行混合,其中,w e [0,I],混合后的第k个关键帧的属性值为w.xl+(Ι-w).χ0,其中,x0为原始动画曲线第k个关键帧的属性值,xl为步骤3获得的心动画曲线第k个关键帧的属性值,通过关键帧插值获得最终的角色新动作;
[0013]当w为O时,则完全不使用新的动画曲线,角色动作节奏不变,当w为I时则完全使用新的动画曲线,角色动作节奏彻底改变,动画师通过对比例权重w设置关键帧,可以实现角色动作在某一时间段内从节奏不变到节奏改变的渐进变化,从而能够更精细的调控,并避免了反复调整控制曲线。
[0014]进一步地,控制曲线f的绘制方法为:任意选取4个以上的样本点,采用二次贝塞尔曲线插值绘制控制曲线。
[0015]进一步地,当角色某部位动画节奏不需要变化时,关闭控制曲线对角色该部位控制器以及该控制器下一层级的所有控制器的影响。
[0016]进一步地,采用并行处理的方式完成原始角色动画的关键帧的时间值Tk到新角色动画的关键帧的时间值T' k的变换。
[0017]有益效果:
[0018]本发明能够根据关键帧样本的时间变化数据,以及控制曲线与节奏变化之间的关系,在原始角色动画数据的基础上,通过控制曲线映射,获得局部节奏可变化的角色动画,实现简单、可靠。
【附图说明】
[0019]图1为本发明流程图。
[0020]图2为控制曲线与节奏变化之间的关系示意图。
【具体实施方式】
[0021]下面结合附图并举实施例,对本发明进行详细描述。
[0022]本发明提供了一种三维角色动画非线性修改方法,流程如图1所示,具体包括如下步骤:
[0023]步骤1,提取原始角色动画数据中角色各肢体动作的时间信息并进行归一化。
[0024]原始角色动画是一段根据动画师提供的角色原始动作关键帧信息(包括时间值和属性值),通过关键帧差值绘制的原始角色曲线,从原始角色动画中提取该动作所持续的整体时长,以及n个关键帧时间T1, T2,…,Tk,…,Tn,对整体时长做归一化处理,映射到O至I的区间,归一化后的原始动画关键帧时间记为U1, tl2,…,tlk,…,tln。
[0025]步骤2,建立二维坐标系,横、纵坐标区间均为[0,1],其中,横坐标(X轴)为归一化后的原始动画关键帧时间tl,纵坐标(Y轴)为待求的新动画关键帧时间t2,在控制坐标系中根据要求的节奏变化绘制控制曲线f,其中,在控制曲线上,针对每个X值,都对应一个唯一的新动画关键帧时间,即t2 = F(tl),函数F即为控制曲线f所表示的函数,通过控制曲线形状达到控制角色动画节奏的目的。控制曲线形状和节奏变换之间的关系如图2所示。控制曲线的具体含义为:
[0026](I)如果控制曲线在某个局部时间区间内的导数是1,对于该区间内的任意两个关键帧时间tli,tlj,设其距离为dl,对应的t2i= F(t2 i)和t2j= F(tl」)的距离为d2,那么dl小于d2,即变换后的时间t2p t2]之间的间隔时间没有变化,等价于在局部时间内对原动作不做任何节奏变化。
[0027](2)如果控制曲线在某个局部时间区间内的导数大于1,对于该区间
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1