RIFLE Basic - Mocap Animation Pack 教學

RIFLE Basic - Mocap Animation Pack 是一套 Unity 步槍動作資源,收錄超過 123 個動作捕捉的角色動作。

這些動作提供 Root Motion (RM) 與 In-Place (IPC) 版本,而步槍附加於 "RightHandMiddle1" 手指骨骼。

首先從資源商店搜尋 RIFLE Basic - Mocap Animation Pack 下載到專案並匯入專案。

匯入後出現錯誤 Component GUI Layer in Main Camera for Scene Assets ... is no longer available. 可以不理會。

開啟 [ Rifle_27A2_Basic > MotusMan ] 資料夾的 Demo 場景,按下 Play 測試遊戲。

場景的 MotusMan_v55 角色展示 RIFLE Basic - Mocap Animation Pack 部份的動作。

將此場景的 MotusMan_v55 複製到剪貼簿,建立新場景,將角色貼上在原點位置。

按下 Play 測試遊戲,角色的動作與 Demo 場景相同,可將玩家角色重新命名為 "Player" 。

取消勾選 Apply Root Motion 選項,增加 Character Controller 元件並調整膠囊位置與大小,用於控制玩家角色的移動。

 

稍後的操作將此角色修改為可提供玩家操作,包括 移動、跳躍、射擊等。接著檢視玩家角色的武器。

武器是 RightHandMiddle1 骨骼的子物件,相對位置與角度參考官方提供的文件,進行適當調整。

 

 

建立動作控制器

建立動畫控制器,命名為 Player Animator Controller 用於管理此角色動作。

將 Player Animator Controller 動畫控制器套用到玩家角色,由於目前沒有放入動作,測試時將會看到角色出現以下姿勢。

滑鼠雙擊 Player Animator Controller 動畫控制器開啟編輯視窗。

滑鼠右鍵 Create State > From New Blend Tree 建立動作混合樹。

剛建立的混合樹用於控制角色的移動。

滑鼠點擊 Parameters 設定動畫參數,先將預設的 Blend 使用滑鼠雙擊改為 Speed 用於移動速度。

按下 + 可新增參數。 ☆

新增 Turn (Float) 參數,用於控制轉向的動作。 ☆

動畫控制器將包含 Speed, Turn, Jump, Aim 參數與 RelaxedMovement, AimMovement 混合樹。

進入 RelaxedMovement 混合樹,將預設的 1D 改為 2D Freeform Directional 混合型態,讓角色可以前後左右移動。

修改參數 Parameters = Turn / Speed 然後在下方 Motion 按 + 新增動作欄位。

開啟 [ Rifle_27A2_Basic > Animation ] 資料夾,將待機動作拖曳到動作欄位,然後測試遊戲。

增加動作欄位,並調整對應參數的位置。

 

[ Animation > Root_Motion ] 資料夾的是 Root Motion 版的走路、跑步、衝刺動作,包含移動資訊。

[ Animation > IPC ] 資料夾的是原地動作,包括走路、跑步、跳躍… 等,這些動作不包移動資訊。

本教學使用的 Relaxed 動作,指定給剛建立的 RelaxedMovemen 混合樹,拖曳到對應的動作欄位。

待機與前後移動的部份完成後,再設定左右移動部份。

 

選取混合樹,然後透過 Inspector 的紅點控制角色(類似搖桿)。此時玩家向左走與向右走的動作出現跳動不連續,需要修正。

 

本教學使用的第二部份 Aim 瞄準動作,指定給第二個 AimMovemen 混合樹,拖曳到對應的動作欄位。

 

建立 PlayerController.cs 腳本控制角色的動作,套用到 Player 玩家角色,程式碼如下:

 

測試遊戲時,將會發現使用類比搖桿沒問題,但使用鍵盤操作時,玩家角色似乎只能跑步,修改程式碼:

 

跳躍動作的判斷

需要判斷玩家角色是否在地面,以避免角色跳躍後尚未落地可以重複跳躍的問題。

W2_Stand_Relaxed_Jump_Start_IPC 開始跳躍

W2_Stand_Relaxed_Jump_Air_IPC 跳躍後在空中

W2_Stand_Relaxed_Jump_End_IPC 跳躍落地

連結跳躍的動作

選取從 移動 混合樹到 Jump 動作的箭頭,將 Has Exit TIme 取消勾選,然後設定條件 Jump 觸發動作轉換。

開啟專案設定的 Input Manager 將可看到預設的跳躍使用鍵盤 space 空白鍵與 joystick button 3 搖桿按鈕。

 

[ 射擊動作教學 ] [ 傷害動作教學 ]