Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

小补一下IKFK的基础知识,本文仅介绍的原理,其设置方式将在其它文章中介绍。

FKForward Kinematics 正向动力学
IKInverse Kinematics 反向动力学

初次听到这两个词,老王一脸蒙圈:“啥?做个动画还得把大学物理补一遍么?”

Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

大家千万别被这两个不明觉厉的名词吓到,其实道理非常简单。
老读者一定都知道,老王反复强调,做动画就是“在合适的时间点摆上合适的姿势”。其实这两个词在动画领域,就是摆姿势用的。

来,大家一起看下面的例子:

我们为这5根柱子简单的绑定了一下:
Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)
假设我们想把它摆成右边的样子

Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

如果你不知道什么FK或者IK

那么你只能这么摆了:

Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

这种摆法就是FK正向动力学:从父级到子级一级一级地变换,所谓的“正向”其实就是指的父级能影响子级而子级不能影响父级。

不过在当前这个例子中,这效率。。。要是骨头再多点。。。

Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

接下来,我们看看有了IK会怎么玩?

Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

看到没?丝般顺滑,想怎么扭都可以!
Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

这就是传说中的IK,所谓的“反向”其实就是通过子级的变换一级一级反向解算出父级的变换

在我们的例子里,是不是效率高了很多?

当然了,FK也并非一无是处。一般在游戏角色,尤其是人物角色的绑定中,我们有时会为角色的四肢做两套绑定,一套FK一套IK,摆各种姿势的时候,在FKIK间切换,选择最合适的方法。比如,人物的手臂,如果是做一个挥拳的动画,那么IK相对方便一些,如果是让角色做推箱子一类的动作那么FK会更方便一些。

大家可能会问:“做动画时,我应该如何选择FKIK呢”?

Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)
好的,今天。老王就把自己在动画领域钻研几十年的绝学传授给你!准备接招了嘛?!!

Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

这秘诀就是。。。

Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)

是的,没开玩笑,“凭感觉,怎么顺手怎么来”,不信你试试。就像你走路不会问自己先迈左腿还是右腿一样。

上一篇:Godot Engine:马里奥食人花三部曲(三)用SkeletonIK实现食人花捕食目标


下一篇:Windows使用Ik分词器插件