Close Combat Animset 教學 |
角色移動操作建立一個 Unreal 第三人稱專案,場景上的 ThirdPersonCharacter 是玩家可操控的遊戲角色。 開啟 [ Content > Mannequin > Character > Mesh ] 資料夾,滑鼠雙擊骨架開啟編輯器,按下 Blueprint 按鈕。 開啟 Default 分頁可看到角色動作樹,透過 Asset Browser 檢視此角色可使用的動作與混合空間。 接著從 UE Marketplace 搜尋並將 Close Combat Animset 下載到此專案。 開啟 [ Content > CloseCombatAnimSet > Mannequin > Character > Mesh ] 資料夾,滑鼠雙擊開啟編輯器。 注意 UE4_Mennequin_Skeleton 與 Unreal 第三人稱角色的骨架名稱相同,因為它們是使用相同的骨架。 確認是 UE4_Mennequin_Skeleton 分頁,需要修改動作可點擊右上的 Animation 按鈕開啟另一個分頁。 此時在右下方的 Asset Browser 將會顯示這個資源包含的動畫,游標移到動畫名稱上會出現資訊。 注意 ThirdPerson 開頭的是原本第三人稱的動作,而 Ninja 開頭的則是新增的忍者動作。 ▼ 綠色圖示是一般動畫,滑鼠雙擊可播放動畫 ▲ 淡黃色是混合樹,雙擊可預覽混合樹(左上顯示 Previewing Blend Space ... ) 接著建立 混合空間 ( Blend Space ) 可選取已有的資源,綠色菱形表示目前數值 ,Speed 數值較大時呈現走路的動畫。 當 Speed 數值接近 0 時,角色將會是待機動作。
建立混合空間 按下 Create Asset 按鈕,選擇 Blend Space 1D ,接著可以選擇儲存的位置。 建立的混合空間,將會出現在編輯器右下方的 Asset Browser 裡面。 接著放入待機與跑步的動作,先找到 NinjaIdle 待機動作,拖曳到中間下方視窗的左側。 再找到 NinjaRunForward 向前跑動作,拖曳到中間下方視窗的右側。 現在可以拖曳綠色圓點,檢視動作的變換。 編輯器的左側展開 Axis Settings > Horizontal Axis 準備設定對應的數值。 設定: Name = Speed, Maximum Axis = 300 修改好後,按下 Save 儲存。 接著右上方按 Blueprint 開啟藍圖編輯(需確定有沒有),然後滑鼠雙擊 Idle/Run 方塊。 此操作會開啟 Idle / Run 的狀態,編輯區的 ThirdPerson_IdleRun_2D 是原來的第三人稱 Blendspace 混合空間。 將剛才建立的混合空間拖曳到編輯區(以下簡稱 MyBlendspace )用於替換原來的第三人稱 Blendspace 混合空間。 將 Speed 輸出接到 MyBlendspace 的輸入,再將 MyBlendspace 的輸出接到 Output Animation Pose ,原本的 Blendspace 即可刪除。 此時連線的動畫未出現,是因為此藍圖尚未編譯,按下左上的 Compile 即可出現。 開啟 [ Content >CloseCombatAnimSet > Mannequin > Character > Mesh ] 資料夾,現在已有 3 個檔案,建議可修改 Skeletal Mesh 名稱, 否則稍後將會難以區別,例如改為 SK_Mannequin_Ninja 。 接著即可為場景中的機器人替換動作。選取機器人,修改 Skeletal Mesh = SK_Mannequin_Ninja 藍圖名稱加上 _Ninja 以便區別。(建議改為 Ninja_AnimBP 更適合) 更換之後會變成沒有動作,再設定下拉選單 Anim Class = ThirdPerson_AnimBP_Ninja (或是 Ninja_AnimBP ) 如果剛才沒有修改,將會出現 2 個相同名稱的動畫藍圖。
選取之後,遊戲角色的待機動作與跑步就會變成忍者的動作,按下 Play 測試遊戲確認正常運作。 如果角色只有位置移動而未出現正確動作,請再次確認 Anim Class 與 Skeletal Mesh ★★ 都已替換。 |