Spine IK 约束

Spine IK 约束 PDF下载

大家好,我是笨笨,笨笨的笨,笨笨的笨,谢谢!
欢迎加入专业Spine技术交流群 Spine2D骨骼动画 7708065
转载请保留原始链接:http://www.noobyard.com/article/p-cerzvhyp-tt.html

【Spine 专业版1.9.01,新增了IK约束功能,试用版有BUG暂时无法体验,想用试用版学IK约束的同学,关注下更新吧!】
本篇讲解IK约束,也就是大家期待已久的IKPinning。此功能约束住IK链末端,这样你可以通过操控父级反向驱动整条骨骼链。(好吧这也些都是屁话,其实Spine的IK约束只支持两根骨头,无所谓了。)

IK约束本身没什么好讲的,不过官方就出了个演示视频,诈称以后会有更多细节透露,不知道要等到几时,最近几天问这个的同学又比较多,就写出来大家分享吧。这里通过两个简单的例子来演示IK约束的使用。

这个IK约束的功能,有点打补丁的感觉。与MAYA,3DMAX里的有点不同。下面细说。

例1手臂

创建IK约束:

  1. 创建大臂,小臂:uparm, arm这很简单。(hand不用管,与我们要学的东西无关,只是创建了手臂不创建hand我心里不爽)
    在这里插入图片描述
  2. 创建用于固定的IKpin骨骼。这里要注意了,Spine的实现方式有点怪异,竟然是创建一个骨骼来做为固定点。这样这个用于固定的骨骼,就要与这条骨链的父级平级或高级,反正不能作为骨链的子级。(注意IKpin与uparm是平级的都在root下。这里的两个骨骼图标不同,十字星的意思是长度为0的骨骼。只是显示不同罢了)
    在这里插入图片描述
  3. 创建IK约束,Spine的IK约束只支持两根骨骼(可以不相临,但必须在一条骨链上)
    首先:选中uparm, arm,在层级树中点 Constraints节点,下方出现创建按钮“New IK Constraint”。想毛,点它。
    在这里插入图片描述
    其次:这时,提示你选一个约束目标,点选IKpin。弹出一个命名窗口,为新创建的约束起个名字,我就取了个 ikpin 。好了,现在就完成创建了。(这里有个小问题,如果你在场景中点选目标,就会自动完成。如果在层级树中点选目标,你点完后其实已经创建成功了。但选择状态不会消失,按下右键才会完成。目前版本1.9.01,不知道这是个小BUG还是为其它功能做的预留。无所谓了)
    在这里插入图片描述
    在这里插入图片描述
    最后:IK约束创建完了,不过我想可能有的同学会发现,FKIK不能无缝转换。问题是这样的,你的IKpin骨骼位置没有完全匹配arm的末端关节处。具体怎么才能匹配呢,其实也很简单,你可以先把IKpin放到arm下,成为arm的子物体。然后把坐标系Axis换成父级Parent,然后把IKpin的旋转位移全清零。(此时IKpin就与arm完全重合了)现在选中arm在层级树下方的属性面板中看下它的长度Lengthnt,我这里是103.0,那么把IKpin的位移X设置103.0,IKpin现在就在Arm的末端了。(其实这里也就是hand的所在不是么。哈哈)最后,把IKpin拖到root下,把坐标系Axis换回世界World。我习惯性的把旋转清零了。得到如下效果,横平竖直,嗯!孤王龙颜大悦。哇哈哈哈哈
    (注意:其实像手臂、腿这种骨骼链,子骨骼最好都只有一个方向的位移,通常也就是X,保证Y为零。这样当X位移值与父级骨骼长度一样时,这两根骨头,就正好首尾相连在一起。另外,通常我习惯绑定时,尽量把值设为整数,这样动画时有一个好的开始,不是么_
    在这里插入图片描述
    这是hand的位置,其实把hand复制一份放到root下改下名就是IKpin了
    在这里插入图片描述

使用IK约束:

  1. FKIK融合:选中IK约束,这里会显示一个混合属性Mix。为0时骨骼是完全FK状态,100时完全IK状态,中间值,则是FKIK两种融合的效果。(这个不多废话,你左右滑两下就看明白了。两种状态下骨骼和约束图标也有变化,以提示当前的状况。)
    在这里插入图片描述
    弯曲Bend,这里有一个属性控制骨链弯曲的方向,比如我们的肘部,只会向一面弯,当你把手臂拉成平的直线,下次再弯曲时,Spine就是通过它来知道向哪边弯。(同理,点两下看看效果就知道了。)
    在这里插入图片描述
  2. 来到动画模式下,ikpin前的小点亮了,没错,我们可以对Mix和Bend值K帧。我相信大多数人就只是想定个脚吧,那更简单了,不用动它就是了。哈哈。

例2官方演示里那只鸟腿

上面已经说的差不多了,这个就主要演示吧。

  1. 创建腿骨骼和IK约束骨点,腿的层级很好理解。约束骨点toePin与upLeg平级都在hip下。至于为什么toePin和footPin要这样设置层级,这是骨骼绑定中很基础的一些逻辑,自己思考一下吧。
    在这里插入图片描述
    创建footpin约束,如果发现关节翻转,选中footpin,改变Positive属性。
    在这里插入图片描述
    创建toepin约束
    在这里插入图片描述
  2. 脚指扣地。很好,这样就创建完成了,不过有个小节约,演示中当toepin旋转时,脚指toe骨骼是不会转动的,就是垫脚的效果。我们来处理这个问题,选中toe在层级树的下方属性面板中,去掉继承inherit中的旋转Rotation,这样toe就不会跟着父级骨骼转动了,实现了脚指扣地的效果。
    在这里插入图片描述
    最后废话不多说了,看看本教程附带的例子文件,再看看官方的演示视频。相信一切都还是很美好的。
    还是不懂的话,到群里问问,让大家骂一顿,就会了。加油 _