小补一下
IK
和FK
的基础知识,本文仅介绍的原理,其设置方式将在其它文章中介绍。
FK
即 Forward Kinematics 正向动力学
IK
即 Inverse Kinematics 反向动力学
初次听到这两个词,老王一脸蒙圈:“啥?做个动画还得把大学物理补一遍么?”
大家千万别被这两个不明觉厉的名词吓到,其实道理非常简单。
老读者一定都知道,老王反复强调,做动画就是“在合适的时间点摆上合适的姿势”。其实这两个词在动画领域,就是摆姿势用的。
来,大家一起看下面的例子:
我们为这5根柱子简单的绑定了一下:
假设我们想把它摆成右边的样子
如果你不知道什么FK
或者IK
。
那么你只能这么摆了:
这种摆法就是FK
即正向动力学
:从父级到子级一级一级地变换,所谓的“正向”其实就是指的父级能影响子级而子级不能影响父级。
不过在当前这个例子中,这效率。。。要是骨头再多点。。。
接下来,我们看看有了IK
会怎么玩?
看到没?丝般顺滑,想怎么扭都可以!
这就是传说中的IK
,所谓的“反向”其实就是通过子级的变换一级一级反向解算出父级的变换
在我们的例子里,是不是效率高了很多?
当然了,FK
也并非一无是处。一般在游戏角色,尤其是人物角色的绑定中,我们有时会为角色的四肢做两套绑定,一套FK
一套IK
,摆各种姿势的时候,在FK
和IK
间切换,选择最合适的方法。比如,人物的手臂,如果是做一个挥拳的动画,那么IK
相对方便一些,如果是让角色做推箱子一类的动作那么FK
会更方便一些。
大家可能会问:“做动画时,我应该如何选择FK
或IK
呢”?
好的,今天。老王就把自己在动画领域钻研几十年的绝学传授给你!准备接招了嘛?!!
这秘诀就是。。。
是的,没开玩笑,“凭感觉,怎么顺手怎么来”,不信你试试。就像你走路不会问自己先迈左腿还是右腿一样。