天天看點

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

目标

在上一篇部落格《學習UE4動畫藍圖:配置腳部IK》中,IK功能解決了“腳部陷入地下”的問題,但是還是有“腳部懸空”的問題。《[UE4藍圖]虛幻4中完整實作腳部IK(二)(完結) - 知乎》這篇文章提出可以将根骨骼向下偏移來解決這個問題,我決定使用這個思路,下面是我的實踐。

1.偏移根骨骼

1.1 動畫藍圖的 AnimGraph 中添加對根骨骼的偏移

添加一個變換(修改)骨骼節點:

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果
  • Bone to Modify 選擇根骨骼

    root

  • Translation Mode 選擇

    Add to Existing

    ,這表示将對現有的transform做一個偏移。
  • Translation Space 選擇

    World Space

    ,這表示偏移的變量将采用世界空間。

偏移的變量為

Root Offset

,将在事件圖表中設定

1.2 角色藍圖中添加腳部懸空偏移變量

增加一個變量

FootOffset

表示腳部的偏移(後續會添加對其計算的邏輯):

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

另外,由于模型的根骨骼會發生偏移,那麼之前射線的操作會有錯誤,需要對

IK Foot Trace

函數做修正:增加一個

Height Offset

的輸入表示高度的偏移,然後在

GetActorLocation

之後應用上在Z軸上,這才是真正的人物中心點。(圖中注釋框的标題描述不準确)

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

随後在調用這個函數時,記得将

FootOffset

輸入給它。

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

1.3 動畫藍圖的 事件圖表 中擷取根骨骼的偏移

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

1.4測試根骨骼偏移的效果

為了測試,在角色藍圖中連入一個臨時的邏輯:按下Q/E鍵會升高/降低

FootOffset

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

效果:

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

2. 在角色藍圖中計算根骨骼偏移量

根骨骼的偏移,也是需要對腳部做射線操作。

首先在角色藍圖中添加一個函數

FootAirTrace

用來擷取腳部懸空的高度:

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

它的結構和之前的

IK Foot Trace

很像,但是在射線的起止點以及最後偏移的計算上有很大差别。這次的射線邏輯如圖:

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

然後,在Tick中随時做雙腳的射線計算懸空的偏移,這個值是一個負值,二者更小的值是

FootOffset

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

3. 平滑由于射線操作導緻的動作突變

由于使用了射線的結果來決定骨骼的狀态,當射線的表面有突變時(比如台階),得到的結果也會有突變。為了減少此突變,可以使用

FInterp To

節點來平滑

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

随後在射線操作導緻的會突變的變量中都加入

FInterp To

節點來平滑過渡:

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果

效果

學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果
學習UE4動畫藍圖:實作雙腳貼地目标1.偏移根骨骼2. 在角色藍圖中計算根骨骼偏移量3. 平滑由于射線操作導緻的動作突變效果