Maya绑定:IK 和 FK对比和使用、IK 和 目标约束的区别
目录
IK vs FK
什么时候用IK?什么时候用FK?
FK的使用示例步骤
创建IK
单链解算器IK 和 目标约束的区别
IK vs FK
FK:Forward kinematics 正向运动学
本质:父子层级关系,父层级带动子层级移动
运动轨迹是弧线
IK:Inverse kinematics 反向运动学
子层级到父层级,通过位移来改变位置,关节会自动进行旋转来达到需要的位置
运动轨迹是直线
什么时候用IK?什么时候用FK?
走路时手臂的自然摆动(像钟摆)、手臂投掷物体(动作是连贯的弧线):FK(弧线形的肢体运动、旋转为主的运动)
比如手需要一直拿着杯子,杯子移动到哪,手就要跟到哪:IK (控制位置)
FK的使用示例步骤
创建nurbs曲线作为控制器 (创建--曲线工具--CV曲线)
1 要确保控制器的中心在世界坐标的原点,冻结变换、删除历史
2 控制器打组
3 给组移动位置 吸附模型(组的位移信息要保留,这个信息很重要)
先选控制器组,再选目标物体,修改--匹配变换--匹配所有变换
4 控制器改色、调整形状
颜色不要改成绿色、白色、深蓝色、黑色、灰色
(复制2个控制器组,匹配所有变换 到 另两个关节)
控制器调整形状,冻结变换
5 控制器 父子约束 关节(不勾选□ 保留偏移,方便检查错误)
6 重新建立层级关系
约束打破了关节之间的层级关系,所以根关节移动,子关节不移动,现在要重新连接层级关系
子控制器的组 上一级的控制器 P
7 关节 约束 模型 (√ 保留偏移)
创建IK
创建前注意骨骼要有初始角度(否则没有折叠效果)
骨架--创建Ik控制柄:
旋转平面解算器:可旋转
单链解算器:不可旋转
先点击根关节,再点击末端关节(末端关节会有一个ikHandle)
or 按住ctrl,点击大纲视图里 根关节,再点击大纲视图里 末端关节
没有初始角度处理方法(很少,一般用在机械上):
先选中中间的关节,属性编辑器--首选角度,选好方向写一个值
注意:保证中间的关节有且只有一个关节方向有数值,就是我们要旋转的那个方向
(数值多了不干净影响后续的绑定,不管是单链还是旋转平面解算器 都是)
不想让动画师动IK手柄,所以:
创建一个控制器,打组
把IK手柄放在控制器层级下面
把Ik手柄隐藏
单链解算器IK 和 目标约束的区别
粉色关节:目标约束
绿色关节:单链解算器IK
移动目标物体,当目标物体超过超过起始关节
目标约束: 关节的坐标轴会发生180度翻转
Ik:不会发生翻转
目标约束: 方向指向会更准确
Ik:会进行一个四元数的运算,方向会有偏移
(没有优劣之分,只是特性不同)