U3L16-1-d——2D Animation 反向动力学IK
U3L16-1-d——2D Animation 反向动力学IK
IK
在骨骼动画中,构建骨骼的方法被称为正向动力学
它的表现形式是,子骨骼(关节)的位置根据父骨骼(关节)的旋转而改变
用我们人体举例子
当我们抬起手臂时,是肩部关节带动的整个手臂的运动,用父子骨骼理解的话就是父带动了子
而IK全称是Inverse Kinematics,翻译过来的意思就是反向动力学的意思
它和正向动力学恰恰相反
它的表现形式是,子骨骼(关节)末端的位置改变会带动自己以及自己的父骨骼(关节)旋转
用我们人体举例子
当我们拿起一个杯子的时候是用手掌去拿,以杯子为参照物,我们移动杯子的位置,手臂会随着杯子一起移动
用父子骨骼理解的话就是子带动了父
IK对于我们的意义
1.瞄准功能
2.头部朝向功能
3.拾取物品功能
等等有指向性的功能时 我们都可以通过IK来达到目的
最大的作用,可以方便我们进行动画制作
2D IK包引入
以下方法仅适用于Unity2020版及以前的版本,Unity2021及之后的版本的IK已经默认集成到了2D模块内无需再手动安装
在Package Manager窗口中引入2D IK工具包
需要在Advanced高级选项中选中Show preview packages(显示预览包)
这样才能看到2D IK相关内容
注意:如果在引入包时报错,需要在Windows防火墙中添加入站规则
2D IK的使用
-
IK Solvers:IK解算器,在这里添加
-
- Chain(CCD):可以自定义影响N个关节点,不能反向
- Chain(FABRIK):可以自定义影响N个关节点,可以反向
- Limb:只会影响3个关节点
-
IK Weight:权重,当有多个IK控制同一点时权重会影响控制的百分比
-
Restore Default Pose:回复默认位置
- Effector:默认的IK点位置
- Target:会根据IK点位置生成真正的IK点对象
- Flip:反向
- Constrain Rotation:约束旋转程度
- Solve from Default Pose:从默认姿势进行求解计算
- Weight:权重
CCD Solver 2D 和 Fabrik Solver 2D 参数是一样的,两者的区别在于前者的根骨骼不能拉到反向,后者可以
- Effector:默认的IK点位置
- Target:会根据IK点位置生成真正的IK点对象
- Chain Length:IK影响的骨骼数量
- Iterations:算法运行的次数
- Tolerance:容错程度
- Velocity:速度
- Constrain Rotation:约束旋转程度
- Solve from Default Pose:从默认姿势进行求解计算
- Weight:权重
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!