IK在骨骼動畫里常常能看到,作用就是根據(jù)子骨骼的方位推算出它的那些父骨骼方位。可是一直都是知道有那么回事,但是又不太知道具體是怎么實現(xiàn)的。
在multi-crash.com上看到一篇骨骼動畫反向動力學(xué)(IK)的實現(xiàn) ,內(nèi)容寫的很易懂。
這是基于CCD(Cyclic Coordinate Descent
)算法的。還有種雅可比矩陣的算法,不過這種算法我還不太清楚,希望高手指教啊。
下面講講CCD,先看這張圖。

注意圖中的紅線和綠線,紅線是當(dāng)前骨骼與目標(biāo)骨骼的連線,綠線是目標(biāo)骨骼與最終位置的連線。
從子骨骼到父骨骼的順序迭代計算,旋轉(zhuǎn)紅線到綠線。這樣多迭代幾次就會得到較好的結(jié)果。
要注意的是需要對骨骼的旋轉(zhuǎn)范圍加以限制,因為人體的關(guān)節(jié)不是以可以任意方式旋轉(zhuǎn)的。

[例如圖中藍(lán)色部分為可以旋轉(zhuǎn)的范圍]