天天看點

UE4學習日記(九)腳部IK動畫

這次實作的功能是人物的腳部IK動畫。

首先進入角色藍圖,聲明需要用到的參數。

UE4學習日記(九)腳部IK動畫

初始化兩個參數IKScale和IKDistance。IKScale是預防角色變小之後,出現定位偏差。

UE4學習日記(九)腳部IK動畫

然後是IKFootTrace函數,

UE4學習日記(九)腳部IK動畫
UE4學習日記(九)腳部IK動畫

進入角色動畫骨骼中,添加插槽Toe_l和Toe_r,注意這個Toe需要設定在【腳底】的位置,這樣更加友善後面站在斜面時的旋轉,更好的貼合地面,如在腳掌的話,可能出現懸空或者陷入地面的問題。

UE4學習日記(九)腳部IK動畫
UE4學習日記(九)腳部IK動畫

進入角色藍圖,設定IKInterSpeed為20,設定LeftFootSocket為Toe_l,設定RightFootSocket為Toe_r。

開始編寫腳部IK動畫處理事件。

先限定進行腳部IK的情況,隻有角色在靜止時才進行腳部IK的計算,防止角色鬼畜。

UE4學習日記(九)腳部IK動畫

計算腳部IK。

UE4學習日記(九)腳部IK動畫

調整角色膠囊體高度。

UE4學習日記(九)腳部IK動畫

進入角色動畫藍圖,聲明以下變量。

UE4學習日記(九)腳部IK動畫

在【事件藍圖更新動畫】中更新參數變化。

UE4學習日記(九)腳部IK動畫

AnimGraph中修改如下,雙骨骼IK可以Joint Target Location 可以跟我一樣:

UE4學習日記(九)腳部IK動畫

注:root骨骼的變換如下:

UE4學習日記(九)腳部IK動畫

雙骨骼IK中左邊的設定

UE4學習日記(九)腳部IK動畫

右邊的改為字尾r的即可。

然後是腳面的角度變化。

UE4學習日記(九)腳部IK動畫

注:左腳變換參數設定如下:

UE4學習日記(九)腳部IK動畫

最後别忘了在Tick中調用FootIK事件。

UE4學習日記(九)腳部IK動畫

最終效果圖:

UE4學習日記(九)腳部IK動畫
UE4學習日記(九)腳部IK動畫

還有點bug,腳的角度會改變,但會陷入地面。

繼續閱讀