循环坐标下降(CCD)算法中对骨骼动画中膝盖等关节的特殊处理
最近研究循环坐标下降(cyclic coordinate decent,CCD)算法,发现它在处理人物的某些关节上不起作用。CCD算法的原始算法针对的是多个骨骼、多个关节的IK解算处理,但是对于人体骨骼有着特殊的构造,使用CCD算法不能正确地反映这些构造,所以我们必须对这些构造进行特殊处理。
那么人体骨骼的构造特殊性在哪儿呢?这里我们暂且不探讨骨骼扭转的情况,仅仅探讨骨骼旋转的情况。我们发现人体的一些部位有三个自由度(3 Dimensions of Freedom,3DoF),而另一些部位只有一个自由度(1DoF),比如说我们的肩膀关节,它就有三个自由度,而肘部关节只有一个自由度;同理髋关节(如果可能的话)有三个自由度,而膝关节只有一个自由度。