CocoStudio 1.1.0.0版本引入对反向动力学(IK,Inverse kinematics)的支持。反向动力学是相对于前向动力学(FK,forward kinematics,也称为正向动力学)而言的。
反向动力学是一种通过先确定子骨骼的位置,然后推导出其所在骨骼链上所有n级父骨骼位置,从而确定整条骨骼链的方法。
下面介绍如何使用该动能
1:创建骨骼
创建一个具有链状的骨骼,并按次序绑定父子关系。

(上图中的红线是为了标明由父骨骼到子骨骼的方向)
2:开启反向动力学(IK)模式
IK的开关在快捷工具面板中,和旋转、平移、放大操作同一分组。该组的操作是互斥的,不能同时进行。

默认选择的是旋转,我们需要手动开启。
3:移动骨骼
如果想要利用反向动力学来做动画必须选择一个拥有骨骼才可以。在IK模式下,对骨骼的移动操作不会对子骨骼发生影响,但是子骨骼的位置还是会跟随父骨骼一起移动的。

如上图所示,拖动第4个骨骼,我们可以看到该骨骼的父骨骼会自动调整的合适的位置,但是该骨骼的子骨骼只是跟随第4个副歌一起移动。
不过这里还有一个注意项,如下图:

我们移动一个具有兄弟骨骼的父骨骼(上图中高亮部分),此时能实现联动效果的只有父骨骼,更上一级的骨骼会因为无法选择跟随哪一个子骨骼来移动所以不会有任何改动。
总结:
反向动力学对需要做联动效果的动画的项目来说可以达到事半功倍的效果,像具有像蛇一样拥有很多级联的骨骼,原来需要针对每一个骨骼分别设置位置,现在则会智能的根据子骨骼自动调整位置。
