Mecanim 动画系统(十)反向动力学(Inverse Kinematics)

本文介绍了Unity中的Mecanim动画系统,重点讲解了反向动力学(IK)的概念及其与正向动力学(FK)的区别。在FK中,父节点驱动子节点运动,而在IK中,子节点可以驱动父节点。通过IK,动画制作者可以更方便地实现角色与场景交互,如抓住物体。设置IK涉及到Animator组件和脚本控制,通过SetIK*方法调整权重和位置。文章提供了设置IK的步骤及参考资料。
摘要由CSDN通过智能技术生成

 

 

角色动画中的骨骼运动遵循动力学原理,定位和动画骨骼包括两种类型的动力学:正向动力学(FK)和反向动力学(IK)
 
在一套FK系统中,一般的规则是:层级里的一个父节点驱动任意子节点的运动。例如,如果你移动前臂(父),手腕(子)就会随之运动。但是,如果你移动腕节点,前臂还将停留在原处。

这是制作动画物体(例如一个行走的角色)的手臂的一种简单、直观的方法,因为动画制作者只需要考虑手臂相对应父节点的运动,而不是相对于整个空间的运动。同时应该注意的是,在使用FK制作动画时要给每一个为特定姿势而旋转的关节设置旋转关键帧。不过,当角色手臂需要抓住场景里的某些物体时,如楼梯的扶手,FK就不是最好的使用方法了。

那么与之相比。IK就是一种子节点驱动父节点运动的动画制作方法。

 

 

依然使用手臂做为例子,如果使用IK移动手腕,计算机将计算如何移动和旋转手臂的其他父节点,以使其完成想要的造型。

 

要为角色设置IK,通常需要拥有与角色互动的场景四周的物体,然后通过脚本设置 IK,特别是通过此类动画器 (Animator) 功能: SetIKPositionWeight、 SetIKRotationWeight、 SetIKPosition、 SetIKRotation、 SetLookAtPosition、 bodyPosition、 bodyRotation。

我们首先要在Layer上勾选上IK Pass,如下图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值