RIFLE Basic - Mocap Animation Pack 教學 - 攻擊篇

Author: Kelvin Huang

相關連結

[ Scripting API: Debug.DrawLine ]

[ Scripting API: Debug.DrawRay ]

 

待機(放鬆) W2_Stand_Relaxed_Idle 或 W2_Stand_Relaxed_Idle_IPC

待機(瞄準) W2_Stand_Relaxed_Idle 或 W2_Stand_Relaxed_Idle_IPC

開槍射擊

W2_Stand_Fire_Single /

裝填彈藥

W2_Stand_Relaxed_Reload

將以上動作拖曳到動畫控制器,並且新增參數 切換到 Parameters 按下 + 新增 2 個參數:

Aim(Bool)

Fire(Trigger)

 

 

選取待機的動作狀態 Make Transition 到瞄準動作狀態

選取瞄準的動作狀態 Make Transition 到待機動作狀態

 

設定動作轉變條件

選取待機到瞄準的箭頭,透過 Inspector 設定 Aim = true

選取瞄準到待機的箭頭,透過 Inspector 設定 Aim = false

取消 Has Exit TIme 讓動作立即轉換,無需等待前面的動作結束。

 

選取瞄準到射擊的箭頭,透過 Inspector 取消 Has Exit TIme 設定 Fire

取消 Has Exit Time 的話,將不等候目前的動作完成,直接轉變動作!

修改 PlayerController 並套用到玩家角色。

 

 

製作子彈的預製物件

建立空物件並命名為 "Bullet" ,新增球體或膠囊為子物件,調整至適當大小,新增 Bullet.cs 腳本並套用到此物件。

 

製作發射子彈的功能

建立 Weapon-assault-rifle 下的空物件,重新命名為 "Muzzle" 槍口,調整到步槍的槍口位置。

建立 Gun.cs 腳本,製作武器射擊的功能。

注意此腳本是套用到玩家角色,然後設定槍口的物件、子彈的預製物件。 音效可自行製作或資源商店。

 

建立動畫事件

透過建立動畫事件,解決射擊時間與彈道不正確的問題。

目前使用的動作 W2_Stand_Fire_Single 是唯讀的,無法建立動畫事件。

找到對應的動畫 FBX 檔案,選取動畫按快速鍵 Ctrl + D 重製動畫。

重製產生的動畫是 Unity 專用的 .anim 動畫格式。

新增動畫事件。

 

轉換攻擊動作

(解決開槍速度慢的情形)選取從混合樹到射擊動作的箭頭,取消 Has Exit Time 設定轉換條件。

 

減少轉換時間

使用動畫事件

 

 

 

 

Copyright © 2025 CG Digital Corp. All rights reserved.