Animation 動畫控制

遊戲可以使用腳本控制動畫的播放,本章介紹的 Animation 適用於基本動畫控制,稍後將會探討動畫的進階控制。

首先製作門的開啟與關閉動畫,以下範例使用 3ds Max 內建的 Door 工具製作門的模型,再加上需要的動畫效果。

 

3ds Max 內建的 Door 模型可以透過 Open 參數控制開啟並製作動畫,但是 Unity 遊戲引擎並不支援此動畫類型,必須將模型轉換成可編輯多邊型,然後再使用基本的旋轉工具與關鍵影格製作動畫。

使用基本的旋轉工具製作動畫。

 

匯出 FBX 檔案,此種檔案格式可以包含動畫的資料。

 

將剛才的 FBX 檔案匯入 Unity 專案,動畫改為 Legacy 類型。

動畫切割。

 

動畫片段切割後,選取場景中的 Door 物件即可顯示所有動畫片段。

 

新增一個腳本並套用到 Door 物件,目前的腳本使用鍵盤控制,按下 1 開門,按下 2 關門。

初步看來不錯,但是問題是開門之後,再按下 1 按鍵仍會出現開門。

這是因為動畫播放時,並不會判定目前的狀態,使得與現實不符。

 

如果需要將門的互動改為玩家接近時自動開門,離開時自動關門,可以使用觸發器的方式製作。

 

實際上如果透過觸發器,門的狀態不需要檢查,使用簡單的腳本也沒問題。

 

下面的教學範例將前面的門改成自動門,玩家接近時自動開啟。首先加入玩家可以控制的遊戲角色。

 

加入門並確認 Animation 元件的動畫已經設定完成。