Maya 角色动画中IK―FK 无缝切换的技术探讨

时间:2022-10-16 04:55:02

Maya 角色动画中IK―FK 无缝切换的技术探讨

摘要:该文阐述maya角色动画中IK-FK相互转换的原理,介绍几种IK-FK无缝切换的几种思路,重点探讨利用三套骨骼配合Maya mel语言实现骨骼IK-FK之间无缝转换的实现方法,希望能给喜欢maya三维角色动画设计的朋友有所启发和帮助。

关键词:Maya;角色动画;IK FK;无缝转换;Mel

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)11-2631-03

Abstract:This paper describes a theory of the transformation between Ik and FK in the Maya character animation, introducing seamless switching between IK and FK, which focuses on using the method of three sets of bones together with Maya Mel languages to achieve seamless transition of skeletal between IK and FK. The author hopes to inspire and help those who like three dimensional character animation of Maya design.

Key word: Maya;character animation;IK FK;seamless handover;Mel

随着计算机技术的不断发展,三维动画技术在很多影视,动画以及广告中的运用也越来越广泛。在很多优秀的作品当中,我们看到动画角色的动作真实自然,准确流畅,这和动画师对角色运动规律的深度理解和熟练掌握是密不可分的。常言道,预先善其事,必先利其器,动画师除了要掌握过硬的理论知识外,还必须要学会熟练的使用三维动画制作软件,才能制作出优秀的动画作品。

1 IK和FK的定义

刚刚接触三维角色动画的朋友,往往会遇到一个让所有动画师都曾经困惑过的问题,在调节角色的四肢动画的时候,往往会出现角色模型产生不可预期的跳动,和想要的结果不匹配,这就是IK和FK在切换过程中没有能够做到平滑过渡的现象。

IK是inverse kinematics的缩写,称之为反向动力学,说得形象一点,IK就像是是别人牵着你的手腕,而自己没有发力所做的动作。而FK是 forward kinematics的缩写,称之为正向动力学,[1]是有自己发力去实现的四肢动作,比如正常走路的双手由肩关节发力做的摆臂动作(如图1)。两者是在三维动画中骨骼关节运动的两种不同的表达方式,也是在调节角色四肢动画时两种不同的控制系统,两者往往要配合使用才能制作出合理的动画。比如要做一个人走到桌子前面拿起杯子喝水的动作,就要使用两种控制方式配合完成才能方便的调节出流畅的动画效果。其中IK 和 FK 转换的问题常常使我们一筹莫展,下面我们就常见的几种实现IK与FK转换的方法做一下分析:

2 常见的IK与 FK的切换方法

1)利用一套骨架,通过ik手柄的属性ikblend来直接控制。其优点是简单实用,很容易就上手,出错的几率较低。最大的缺点是,在ik-fk互转的时候,骨架会移动,并且动画修改有些麻烦,因为ik有动画的时候fk没有,fk有动画的时候ik没有。

2)通过maya自带的set ikfk key这个命令来实现转换,这个是可以说是方法一的升级版。maya那个命令其实就是同时给ikfk打关键帧,优点也是简单,还有就是无缝,切换的时候,骨架是不会移动的。可惜每次都要点那个命令,没有直接按s方便。移动关键帧也是有问题的,不能同时移动ikfk的关键帧,这给调节动画造成了很多不必要的麻烦。

3)利用三套骨架,一套是ik控制,一套是fk控制,一套用于蒙皮,然后通过属性控制决定约束到ik骨架还是fk骨架。这个是相对主流的方法,ik和fk分别控制,所使用到的mel也是比较简单,比较适合一些初学者上手。

4)还有一些利用单骨骼加复杂脚本实现的,因为涉及mel的复杂编写,修改起来也比较麻烦,相对适合有深厚的mel基础以及专业的动画团队使用。

以上就是常用的几种ikfk切换的方法,各有优缺点,下面主要重点探讨利用三套骨骼实现ikfk无缝切换的方法。

3 三套骨骼实现ikfk无缝切换的方法

三套骨骼实现无缝切换的原理其实很简单,是将ik控制骨骼和fk控制骨骼分别用约束命令到绑定骨骼上,然后在通过控制约束接点来控制绑定骨骼是跟随FK骨骼还是跟随IK骨骼,最后通过mel来获取切换前ik控制骨骼或者fk控制骨骼的位置使其中一套骨骼的位置和另一套相匹配,[2]达到无缝跟随的效果。这个技术的难点在于如何获取前一套骨骼的精确坐标,下面就是制作的大致思路:

3)ik与fk的无缝切换设置

为了更准确的获取骨骼的坐标位置,需要在IK和FK两套骨骼里面放置对方的控制器的复制物体(可以理解为定位器)。[3]例如IK的极坐标约束可以复制一个放在FK的骨骼里做定位器4 结束语

虽然现在有很多种实现ikfk无缝转换的方法,mel语言的编写也不尽相同,但是大致的思路是一致的,就是要实现获取定位,匹配后再执行跟随,大家可以根据自己的实际情况来选择如何更好的实现ik到fk的无缝切换。当然,在本文中有很多装配的细节并没有一一详细的说明,比如控制器和骨骼连接技巧,驱动关键帧设置其显示与隐藏等等,只是提供了大体上实现的方法,以期对三维设计爱好者有所启发,更期待能设计出更合理有效的方法。

参考文献:

[1] 刘永刚. fk与ik无缝转换的mel实现[J].影视创作,2010(2).

[2] 苏华岭.Mel 在三套骨骼相互转换时的应用[EB/OL] .百度文库.

上一篇:中国式Wi-Fi焦虑症 下一篇:《中国居民膳食指南》(2007)之特定人群膳食指...