這次實作的功能是人物的腳部IK動畫。
首先進入角色藍圖,聲明需要用到的參數。
初始化兩個參數IKScale和IKDistance。IKScale是預防角色變小之後,出現定位偏差。
然後是IKFootTrace函數,
進入角色動畫骨骼中,添加插槽Toe_l和Toe_r,注意這個Toe需要設定在【腳底】的位置,這樣更加友善後面站在斜面時的旋轉,更好的貼合地面,如在腳掌的話,可能出現懸空或者陷入地面的問題。
進入角色藍圖,設定IKInterSpeed為20,設定LeftFootSocket為Toe_l,設定RightFootSocket為Toe_r。
開始編寫腳部IK動畫處理事件。
先限定進行腳部IK的情況,隻有角色在靜止時才進行腳部IK的計算,防止角色鬼畜。
計算腳部IK。
調整角色膠囊體高度。
進入角色動畫藍圖,聲明以下變量。
在【事件藍圖更新動畫】中更新參數變化。
AnimGraph中修改如下,雙骨骼IK可以Joint Target Location 可以跟我一樣:
注:root骨骼的變換如下:
雙骨骼IK中左邊的設定
右邊的改為字尾r的即可。
然後是腳面的角度變化。
注:左腳變換參數設定如下:
最後别忘了在Tick中調用FootIK事件。
最終效果圖:
還有點bug,腳的角度會改變,但會陷入地面。