首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之代码使用IK动画(五十五)
2013
05-02

Unity3D研究院之代码使用IK动画(五十五)

         IK动画全名是Inverse Kinematics 意思是反向动力学,就是子骨骼节点带动父骨骼节点运动。比如跳街舞的少年用手撑着身体在地上转圈,手就是子骨骼,胳膊身体就是它的父骨骼,这时运动手就需要带动胳膊身体来移动。

 IK动画可以在3DMAX 或者Maya中制作(不在本篇的讨论范围内),本篇我么说说在程序中如何动态调用IK动画。IK动画需要使用Unity4新版的动画系统,如果对新版的动画系统不是很了解的朋友建议看看上一篇。Unity3D研究院之在项目中使用Unity4新Mecanim动画(五十三)

          如下图所示,设置模型的骨骼并且给模型添加AnimatorController控制器。如果不会添加详细请看上一篇文章。

Unity3D研究院之代码使用IK动画(五十五) - 雨松MOMO程序研究院 - 1

 

在Unity导航菜单栏中打开Window->Animator打开动画控制器窗口,在这里勾选IK Pass。

Unity3D研究院之代码使用IK动画(五十五) - 雨松MOMO程序研究院 - 2

 

 

代码方面直接使用API中的,我懒得写了,我给大家详细的解释一下。

 

         如下图所示,图中哪个小球就是子节点参考的目标。,在Scene视图中移动哪个小球,你会发现主角的右手开始IK动画。

Unity3D研究院之代码使用IK动画(五十五) - 雨松MOMO程序研究院 - 3

 

 

上面代码中我们IK的是主角的右手,实际上IK动画支持两个手和两个脚。

 

OK!快快用代码来动态的制作你的IK动画吧,欢迎一起讨论技术,如有疑问请留言给我哇咔咔~

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. 雨松这个太666了,能用头带动身体就好了,有解决方法吗?我想把头往下拉的时候,腰能弯曲。

  2. 请问下,IK动画做出的动作是maya或者max里面定义好的吗?还是说虚拟人物的手臂可以跟着球在限定范围做各种不同的动作,比如说屈伸手、抬手、放低手这类的动作

  3. momo玩过亡灵杀手没???!!!最近我接到任务,要做一个那样的玩意儿…..头都大了。被以下几点困住了1:一刀过去一群人受伤2:被砍倒地飞天之类的到底是用物理效果还是 itween写代码3:砍的时候 ,每次砍都会往前冲,冲的时候脚边的那道风是咋出来的