Unity 2D Animation——2.IK反向动力学

上一回我们介绍了Unity2D Animation的骨骼绑定,这一回我们讲讲IK。

1. 什么是IK

IK是Inverse Kinematic的缩写,也就是反向动力学。是根据骨骼的终节点来推算其他父节点的位置的一种方法。比如通过手的位置推算手腕、胳膊肘的骨骼的位置。逆向动力学的过程在一些场景下十分有用,例如一个机械臂,你需要它去抓取一个放置在特定的空间位置的物体,那么就需要利用逆向动力学去计算出机械臂各个关节的旋转角度,进而驱动机械臂去抓取物体。与之对应的FK是正向动力学,是Forward Kinematic的缩写。正向动力学是根据父节点的运动来影响到子节点的位置的一种方法。

IK系统能够极大程度的提高角色行走,跳跃,跑步等动画的制作效果和效率,是骨骼动画系统不可缺少的一个功能。大多数的2D骨骼动画软件中都有IK系统,比如Spine,DragonBones等。Unity 2D Animation中也引入了IK系统。

2. 在Unity中安装IK插件

Unity2020版本及以上的版本中的2D Animation中内置了IK系统,所以不需要专门安装。Unity2019版如果想使用2D IK系统则需要安装插件。

打开Unity2019的版本,选择Package Manager包管理器,搜索IK,如果没有搜索到结果的话,需要将Package Manager设置为Preview预览模式。此时Unity会提示你是否确定使用预览包,点击确定。

打开预览包

设置好了之后可以搜到IK插件,点击Install安装。

安装IK插件

3. 给角色添加IK组件

在场景中创建一个空物体(Create Empty),将其命名为你的角色名称(Player),选中上一节中我们创建好的角色,将其拖入到这个空物体中。IK系统,以及后面要用到的Animation动画系统,都需要在这个空物体“壳子”上挂载组件,既方便管理有能够保证后面加入的别的组件不会影响到动画或者IK系统。

新建空壳

在Player上添加组件——IK Manager 2D(2D反向动力管理器)。

添加IK组件

添加完成后可以看到一个IK Solvers的列表,初始状态是空的(List is Empty),这个就是每一个IK关节的控制单元。

IK solvers

点击左下角的加号,创建一个IK控制单元,选择Limb(肢体)选项,该选项对应了一般动物和人类的四肢,默认是控制两个骨节。而Chain(链条)则是控制多个骨节的单元,CCD是双向可动链条,FABRIK是单向可动链条。我们创建的是人物骨骼,所以选择Limb。

创建IK Solvers

选择之后会创建一个新的节点New LimbSolver2D,我们先从左腿开始做IK,所以可以将此节点命名为LeftLegSolver。

创建Limb Solver

然后选中左腿对应的骨骼,在这个骨骼上创建一个空物体作为IK控制的点。将这个点移动到肢端。

创建空节点

选中上一步创建的LeftLegSolver,将刚刚创建的空物体拖入到Limb Solver 2D组件的Effector(作用点)中。

Limb Solver

点击Create Target生成目标点。

创建Target

生成好目标点后可以看到如下结果,左腿两节骨骼均有绿色的点,肢端上有圆圈,圈中也有绿色点。此时表明IK目标点就生成好了。点击目标点进行拖动,可以实现腿部的IK运动效果。

生成左腿的IK系统

拖拽脚尖处的圆圈(Target)就可以实现如图显示的IK效果。

IK运动演示

重复上述操作,添加其余三个肢体的IK Solver。需要注意的一点,当创建出来的关节反向了,需要点击下图右侧的Flip单选框,反转当前的关节。

反向关节

四肢都添加了IK之后们就是如图显示的效果。

四肢都进行了IK绑定

4. IK效果演示

在进行演示的时候一定要选中根节点骨骼进行移动,否则会将关节拉脱位。这样就能看到如下图所显示的IK动作了。

IK动作演示
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容