【spine】反向動力學 Inverse Kinematics (IK)

通常情況下,我們使用FK工具設置動畫,它是正向動力學的縮寫。當設置手部位置動畫時,FK從上至下驅動,先轉動大臂,再轉動小臂來實現。大多數情況下它能很好的達到我們想要的效果。但某些特殊情況比如:一個坐着的角色手扶桌面,慢慢起身,這時FK需要不段的調整手部的位置,以使其能保持按在桌面上。這將需要創建大量關鍵幀來實現。

IK對於這種情況會更合適,它是反向動力學的縮寫。IK從下至上驅動。設置好手部的位置後,角色起身時,手部保持不動,小臂和大臂的骨骼會自動旋轉到合適角度。

IK也適合於完成其它一些任務,比如腳部會踩進地面的行走動畫(例如遊戲場景中有一關沼澤地),可以在運行時通過調整IK目標(IK target)實現角色在不平坦的地面上行走的效果,等等。在Spine中對骨骼的控制可以是FK,可以是IK,可以是FK/IK兩者混合的效果。當然也可以在動畫中實現FK和IK之間的平滑過度。(傳說中的FK/IK無縫轉換)

裝配 Setup

要使用IK(IK約束)需要三個骨骼:父骨骼、子骨骼、目標骨骼。子骨骼必須是父骨骼的子級,但可以不是直接的父子關係。目標骨骼不能是父骨骼的子級。開始創建IK約束,選中父骨骼、子骨骼,在層級樹目錄中點擊約束(Constraints),點擊創建新IK約束(New IK Constraint),然後選擇一個已經存在的骨骼(父骨骼的子級不能選)作爲目標,或是點擊場景中空白區創建一個新骨骼作爲目標。

IK 01

IK約束會不斷的調整父骨骼、子骨骼的旋轉值,以使子骨骼的末端釘在目標骨骼上。

IK 02

父骨骼與子骨骼的彎曲方向可以通過IK約束(IK constraint)的屬性來改變。

IK 03

當一個骨骼的旋轉屬性被IK約束(IK constraint)所控制時,它將顯示爲一箇中空的骨骼,以表明某些變換操作,現在不能手動控制了。(關於如何停用IK,在後面介紹)

FK/IK融合 Mixing FK/IK

IK的混合(Mix)滑動條,用於控制骨骼受影響的程度。當值爲0表示當前骨骼完全處於FK控制,當值爲100表示當前骨骼完全處於IK控制。當值爲0到100之間,表示骨骼同時受到FK和IK的控制。兩條輔助線分別表示,FK的位置和IK的位置。

IK 04

通常在一個動畫中只需要爲FK/IK做0到100之間的簡單過渡(下文中有介紹)。總之在某些情況下使用FK/IK混合功能比直接K幀要方便的多。例如:用IK做了一段手臂上下揮動的動畫,接着要用FK做另一部分。這時關掉IK約束的顯示開關,IK的控制效果就會被停用,這樣更方便將FK對齊到IK的位置。

IK 05

當IK約束被停用,骨骼將完全處於FK狀態,並且可以像通常那樣進行變換製作。注意:當IK約束停用時,此約束影響的骨骼下的附屬資源將變爲不可編輯。

設置動畫 Animating

當在動畫模式下改變了彎曲(bend)或混合(mix)屬性的值,約束節點前的小鑰匙就會變成***。點擊小鑰匙圖標,將同時爲彎曲(bend)和混合(mix)屬性創建關鍵幀,它們默認是同時創建的沒法分開。

IK 06

設置混合(mix)屬性的關鍵幀,通常用於在動畫中控制IK的起效和失效。在曲線編輯器中,可以通過一根曲線來控制它,因此混合(mix)屬性的過渡效果是可以自定義的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章