1. 程式人生 > >虛幻4學習筆記整理之角色閒置跑步混合空間(基本Speed+Direction和較高階模式兩種)

虛幻4學習筆記整理之角色閒置跑步混合空間(基本Speed+Direction和較高階模式兩種)

  大部分學習視訊做角色基礎移動的混合空間都是用Speed和Direction,如下圖:

  這樣的方式比較簡單容易理解,不過我在學習的過程中學到了另一種更好的混合方式,如下圖:

  這裡的MoveForwardScale和MoveRightScale可以理解為當前水平與垂直方向速度與最大速度的比值,用這種方式人物的移動會比Speed和Direction這樣的方式過度自然一些,(理論上這樣,不過我沒感覺有很明顯區別,應該是角色運動的加速度過快,導致移動的瞬間就到了最大值,調整角色加速度應能看出確實過度會更加平滑)

Direction和Speed比較好計算,接下來講一下如何計算MoveForwardScale和MoveRightScale:

         

                                                            1.先計算當前速度與最大速度數值的比率

                                       

                                                                               2.求當前速度的單位標準向量

                                                                     

                               3.將單位速度向量與橫縱速度向量分別點乘,實際上就是求當前橫縱速度與當前速度的比率

                                         

  4.將第3步的與第1步的值相乘,得到當前橫縱速度與最大速度的比率,後面的min判斷是為了比如在平時狀態我只想讓他按w慢跑,MoveForwardScale和MoveRightScale對應慢跑jog動畫的值為0.6,所以我設定平時fwd和right最大值為0.6,當我按shift時可以加速跑,這樣就把fwdScale和rightScale最大值調整為1。另外,在從慢跑切換到加速度可以設定時間軸讓最大速度過度一下可以讓人物動畫過度的自然。