IK 与约束
拖一条链的末端来摆姿势,而不是一个个关节去转,同时把骨骼关在一套绑定需要的界限里。
这些控件住在属性面板里一根选中的可拉伸骨骼上,位置在反向动力学 (IK) 和约束底下(可拉伸和固定的分别见「骨骼基础」)。固定骨骼天然适合当 IK 目标:把一个放在你想拖的那只手或那只脚上,再把这条链的目标指向它。
设一个目标
目标可以挑同一个骨骼图层里另一根骨骼作为终点。列表里不包括这根骨骼自己的父级和子级,因为它们会随着目标操纵的那条链一起动。一旦设好,从这根骨骼往根部方向的那条链,会在你挪动它时自动朝目标解算,而不必你一个关节一个关节地手动旋转。被 IK 忽略把这一根骨骼排除在链上别处那次解算的调整之外,所以一个你从不想被打扰的根可以置身事外。把一根骨骼变成手柄,它就不能再当目标;一个被挂进链条里的手柄会待在解算完的绑定给它的位置上,而不是拖在后面,所以现在往链条里放一个手柄,链条不会再甩起来。
弧形 IK 解算器把这条链从默认那种循环的逐步解算切成一段平滑的弧,在只有一两个关节的链上,它往往看着更自然。
锁定
锁定在反向动力学下面,紧挨在弧形 IK 解算器下方,它把一根骨骼钉在原地:比如身体移动时落地的那只脚,或者按在桌上的一只手。它开着的时候,这根骨骼停在锁定开始那一帧它所在的位置,朝向也不变,它的父级骨骼会弯曲来让它待在那里。链条顶上的根骨骼不受影响,因为那正是你在移动的骨骼。
锁定在动画模式下起作用,可以用它的菱形打关键帧来开和关。它在关键帧所在的那一帧直接切换,而不是渐变。在脚落地的地方打开的关键帧,在脚抬起的地方打关的关键帧。锁定钉住的位置,是这一串开着的关键帧里第一个关键帧处骨骼所在的地方;锁定没有关键帧时,则是项目第一帧处的位置。锁定只在可拉伸骨骼上提供,通过反向动力学那条自动关键帧通道打关键帧,在时间轴上显示为这根骨骼反向动力学分组里的锁定一行。
IK 强度
IK 强度,0 到 100%,默认 100%,在 IK 的解算结果和这根骨骼自己的正向动力学旋转之间做混合。100% 时这根骨骼精确地跟着目标走;把它调低,就能让你自己给这根骨骼摆的旋转透出来一些,适合那种大体跟着目标走、又想留一点手动动画味道的关节。目标被拉到骨骼链够不着的地方时,这个混合依然成立;设成不参与解算的骨骼也一样,整条肢体不会一下子啪地拉直。
拉伸上下限
IK 最小拉伸和 IK 最大拉伸让一根骨骼可以伸长或缩短,去够一个本来够不着的目标,而不是留下一道看得见的缝。IK 最小拉伸的范围是 0 到 100%(默认 100%,也就是不缩短),IK 最大拉伸的范围是 100 到 500%(默认 100%,也就是不拉长)。把上限抬起来,一条肢体就能可信地伸到比它静止长度更远的地方。
角度约束和独立角度
角度约束默认是关的,打开它会露出相对这根骨骼静止角度的一个最小和最大角度,范围 -720 到 720°,默认 -90°/90°。打开它可以拦住一个膝盖或手肘转过一个可信的极限,不管你是在手工摆它,还是它正被 IK 拽着。
独立角度默认是关的,打开它让这根骨骼在世界空间里守住自己的角度、无视父级的旋转;这对一个不该在它所挂的身体一歪就跟着翻过去的头或者手持道具很有用。
挤压与拉伸
挤压与拉伸默认是关的,它让一根骨骼在被拉长时垂直于自身长度变细、被压缩时变粗,那是经典的卡通体积把戏。打开它之后,底下那个数值(0 到 200%,默认 100%)缩放这个效果有多强。
控制骨骼
控制骨骼让一根骨骼按百分比去驱动另一根的角度、位置或缩放,两者之间不需要任何父子关系。给每个通道挑一个源骨骼(位置分开有 X 和 Y 两个源),一个 -500 到 500% 的比例决定源驱动得多用力,还有一个 0 到 240 帧的延迟,好让被驱动的骨骼可以落在后面而不是齐步走。