Action-RPG Starter Kit 教學.CG數位學習網

CG 數位學習網 > Action-RPG Starter Kit 教學



 

 

敵人角色的設定項目

MonGravity 腳本.設定重力,維持預設值即可。

Status C 腳本.設定敵人角色的狀態。

AISetC 腳本.設定敵人角色AI 。

PatrolingAiC 腳本.設定敵人的巡邏行為

 

 

出現 The animation state XXX could not be played because it couldn’t be found! 錯誤訊息,而且敵人角色沒有待機、走路、攻擊等動作。

解決方法是找到包含動作的 FBX 檔,切換到 Rig 標籤將 Animation Type 動作類型改為 Legacy 後按下 Apply 按鈕套用,即可解決找不到動作的問題。

 

敵人角色生成

執行 [ GameObject > Create Empty ] 建立空物件,透過 Inspector 屬性編輯器,可以為此空物件設定圖示以方便選取,重新命名為「SpawnPoint」或是任何名稱。

接著將 Tag 標籤設為「SpawnPoint」,怪物重生的腳本是以 Tag 標籤來判斷的,因此設定標籤的步驟絕對不可省略。然後將 SpawnPoint 物件移到怪物將要出現的位置。

此物件需要的腳本,執行 [ Add Component > Scripts > Respawn Monster ] 套用怪物重生的腳本。Enemy 欄位目前是空的,必須設定要動態生成的怪物,例如將剛才製作的 SKELETON拖曳到這個欄位。

建立一個 Prefabs 資料夾,將剛才製作完成的 SKELETON 敵人角色拖曳到 Prefabs 資料夾製作成預製物件。

 

敵人角色的血條

玩家攻擊敵人角色時,畫面上將會出現敵人的HP血條,此功能是附加在玩家角色上的ShowEnemyHealthC腳本元件提供的。

 

 

 

敵人角色是指遊戲中的怪物(Monster),包括隨處可見的低等怪物,或是讓玩家挑戰的守關魔王。敵人角色的設定步驟比玩家角色簡單,先在角色模型附加AIset 腳本,其他需要的元件將會自動產生。

新增一個測試用場景,將玩家角色與敵人角色放到場景中,然後測試遊戲。首先可以使用 Action-RPG Starter Kit 提供的預製物件。開啟 [ActionRPGKit> Prefabs > Monster ] 資料夾,可以看到史萊姆、哥布林、毒蜘蛛…等可以立即使用的敵人角色。

開啟 [ ActionRPGKit > Prefabs > Monster ] 資料夾,將 AngrySlime 拖曳至場景。

MonGravity, StatusC, AIsetC, PatrollingAiC

 

接著以使用膠囊為例,說明製作怪物的基本操作,建立一個膠囊物件,選取後執行[ Component > Action-RPG Kit(C#) > Create Enemy ]即可在膠囊物件上附加相關的腳本元件。

敵人的腳本元件包括 MonGravity, Character Controller, StatusC, AIsetC 。如果現在按下 Play 測試遊戲,目前玩家接近膠囊時,代表怪物的膠囊就並不會追逐或攻擊玩家,但是將會出現以下的錯誤訊息:

MissingComponentException: There is no 'Animation' attached to the "Capsule" game object, but a script is trying to access it.
You probably need to add a Animation to the game object "Capsule". Or your script needs to check if the component is attached before using it.

這是因為敵人角色的腳本需要 Animation 元件,選取膠囊後附加 Animation 元件,然後再按下 Play 測試遊戲,敵人就會開始攻擊玩家了。

選取膠囊物件,執行 [ Component > Action-RPG Kit(C#) > Create Enemy(Combo) ]

選取膠囊物件,執行 [ Component > Action-RPG Kit(C#) > Create Enemy ]

套用 PatrollingAiC 腳本元件。

 

開啟 [ FantasyMonster > Skeleton > Character ] 資料夾,選取 Skeleton@Skin Animation 然後將動畫類型改為 Legacy

將 Skeleton@Skin Animation 拖曳到場景。

 

Animation 設定動畫片段。

 

敵人角色產生變形的問題。

 

解決變形問題

解決變形問題

 

解決待機動畫只播放一次的問題

 

解決漂浮問題

設定動畫。

 

敵人舉刀時玩家就受傷了,設定 Attack Cast = 1 敵人攻擊玩家,設定扣血的時間點。