現在向您介紹Craftland Studio PC 全新的動畫控制器系統。
功能介紹
Craftland Studio PC的動畫控制器現在支援:
- 預覽動畫
- 以軌道形式管理動畫片段的播放、銜接
- 以狀態管理成組的動畫片段
- 拆分骨骼部位,因此只播放動畫片段中的部分骨骼動畫
- 新增關鍵影格並在關鍵影格廣播事件進而實現腳本邏輯。
資源準備
要使用動畫控制器,您需要準備:
- 一個模型
- 與模型相符的動作資源
編輯器已經內建了FreeFire的角色和對應的動作:
入口
要使用動畫控制器,需要建立一個Animation Controller檔案:

雙擊開啟新建的動畫控制器文件,就可以開啟動畫的編輯介面:

使用模型
點選模型列或把模型拖入即可預覽要播放動畫的模型。

如果模型帶有Appearance組件,並且有合適的骨架和外觀,預覽視窗就會顯示這個模型。您可以透過滾輪放大或縮小攝影機、使用滑鼠中鍵拖曳鏡頭、或按住滑鼠右鍵旋轉攝影機——就像在場景編輯器裡一樣。
如果要使用FreeFire預設人物或寵物外觀,可以在工程目錄Library/FFUMA下尋找合適的外觀,選擇器中也會顯示這些外觀。
新增動畫片段
從project拖曳動畫到軌道上,就可以加入一段動畫片段。如果不知道工程有哪些動畫,使用新增動畫功能可以瀏覽所有動畫。不過,您總是需要自行保證動畫與模型的匹配。通常來說,不適配的動畫不會播放,不過有時候動畫會表現得很奇怪:例如模型的某些部位被異常地拉長或壓縮。

動畫片段設定
在Project中只能查看動畫片段訊息,但是動畫拖入軌道之後,就可以在inspector面板進行在當前軌道的參數編輯。
-
片段:這個片段使用的是什麼動畫,可以手動更改動畫片段。
-
播放速度:動畫播放的速度,1為預設速度。
-
循環模式:拉長動畫片段*後,在延長部分的循環方式
- 維持:維持在最後一格的動作姿勢
- 循環:在延長部分循環播放動畫片段
- 永遠循環:在動畫片段之後持續循環該片段,並且會使之後的片段都失效
- 無:不做處理,硬切回預設姿態
-
向後外推:目前片段結束後、下一個片段開始前如何處理
- 無:不做處理,硬切回預設姿態
- 維持:維持在最後一格的動作姿勢
- 循環:在兩個片段之間的部分循環播放動畫片段
- 向後外推設定為維持或循環,可以在片段尾部直觀地看到:
-
混合淡入長度:切換到這個動畫片段時,過渡動畫的時間
-
在混合淡入時長這段時間裡,動畫系統會自動減少上一個動畫的權重,並增加這個動畫片段的權重,直到淡入時間結束。
- 淡入時間結束時完全地播放這個動畫片段
- 如果將這個參數設為0,那麼切換將會立刻發生,這看起來也許比較奇怪,但是有時需要立刻做出反應動作時也會採取硬切的方式,例如開槍和閃避。
-
當軌道中存在A動畫向B動畫過渡時,B動畫的混合淡入時長會根據軌道上兩個片段的重合長度自動設定:
-
即使在軌道上沒有動畫片段的直接銜接,在實際使用動畫控制器時,也會存在「切換到這個動畫片段」的情況。例如從「坐」狀態切換到「跑」狀態,跑狀態只使用一個動畫片段的話,也會根據這個參數從坐平滑地過渡到跑。有關狀態的說明請參考下文。
-
-
開始時間:該動畫片段在軌道上開始播放的時間
-
結束時間:等於開始時間加上播放長度,不可編輯,隨開始時間和播放長度變化而自動決定
-
播放長度:片段播放的長度,當大於資源長度時,循環模式參數生效,短於資源長度時,動畫會從後截斷
-
資源長度:實際動畫資源的長度,不可編輯,由動畫資源自行決定。
*拉長和壓縮動畫片段
您可以透過拖曳的方式改變動畫片段的長度,當拖曳後的u200bu200b長度小於片段的長度時,動畫會被截斷;當拖曳後的u200bu200b長度大於動畫片段時,在預設的動畫播放完畢之後,會多出一段片段時長,這部分的處理方式會根據片段Inspector中的循環模式(Wrap mode)而不同。
動畫片段融合
先前介紹混合淡入時長時已經介紹過,當A動畫片段過渡到B動畫片段時,會在B動畫片段的混合淡入時長內進行過渡。
現在我們有兩段動畫,1是雙手舉起東西,2是單手:
1:
2:
如果將二者簡單拼接,看起來是在雙手動作結束後立刻開始單手動作:
如果使用融合,那麼看起來在雙手動作完全結束之前就開始了單手動作:
可以看到,在動作1尚未結束的時候,動作2就已經開始,且權重逐漸向動作2分配,在融合結束的時候完全播放動作2。
透過動畫融合,可以讓動作過渡更自然。
如果您在狀態的第一個片段前設定了淡入時間,那麼從其他狀態切換到這個狀態時,會執行自動融合。
動畫預覽
在預覽動畫效果時,可以擅用面板操作和資訊。
面板可以進行以下操作:
- 跳到最前面、跳到最後
- 下一幀、上一幀
- 暫停、播放
同時,右側是從動畫片段開始的幀數和時間,一般來說,動畫是按照固定30幀/秒的速度播放的。
新增關鍵幀
在軌道任意一點點擊關鍵幀,可以添加關鍵幀。
選中這個關鍵影格也可以刪除它。
關鍵影格是人為地標記了動畫中的關鍵節點,您還可以進而為其添加事件,從而服務於腳本。
事件
在關鍵影格的inspector面板選擇新增動畫事件,可以在目前動畫的指定影格數廣播自訂事件:
身體部位動畫
當需要動畫僅在一部分身體上播放時,例如上下半身播放不同的動作,您需要使用身體部位動畫。
首先,您需要建立一個骨骼配置檔案:
<img src=“https://dl.dir.freefiremobile.com/common/OB46/CSH/OfficialWeb/NewAC/image-20250825173052697.png” alt=“image-20250825173052697” style" alt=“image-20250825173052697” style" alt=“image-20250825173052697” style=“zoom”
骨骼配置可以指定一個骨骼的部分骨骼節點,我們稱之為身體部位。
在選擇一個指定骨骼之後,可以看到骨骼中的所有節點。
透過建立身體部位,您可以指定特定的一組骨骼節點來播放動畫,從而達成只播放特定身體部位的動畫的需求。例如我們將上下半身的骨骼區分開:
Override模式,表示在某個骨骼節點同時有多個動畫時,優先權*最高的Override會覆蓋其他的動畫。與之對應的Additive會嘗試融合優先順序較低的動畫。
不過融合模式對動畫資源、調整要求較高,稍有問題就會出現不良的表現。建議優先使用Override模式。
*優先:在骨骼部位、軌道和狀態中,均為越靠下的優先順序越高,在上圖中,Top骨骼部位優先順序大於Bottom骨骼部位。
將配置好的骨骼配置檔拖入編輯面板中,可以在選擇軌道下拉框中發現剛剛配置的骨骼部位:
每個軌道對應一個骨骼部位,Base Track預設選取所有骨骼部位。
接下來我們真正用兩個不同的動作看一下表現。
我們取兩段動畫,分別是:
下蹲走路:
持槍走路:
可以看出持槍走路的步幅大一些,我們現在取下蹲走路的上半身動作和持槍走路的下半身動作:
持槍走路的動畫時間較短,讓我們拉長持槍走路的動畫使二者對齊,並將循環模式設置為“循環”
可以看到動畫變為了:
同時使用了下蹲行走的上半身動作和持槍行走的下半身動作。
如果在使用骨骼部位動畫時,有些骨頭沒有被分配任何動畫,那麼它們將使用IDLE動畫。
狀態
以上所有這些軌道、動畫片段的組合是一個狀態,可以從面板的左側看到目前動畫控制器的狀態清單:
在實際使用動畫控制器時,是針對狀態進行操作的,播放一個狀態意味著從0幀開始播放它的所有軌道。
所以在進行動畫控制器編輯時,可以規劃好目標有多少種狀態,並為每個狀態編輯適當的動畫片段組合,例如一個小動物的狀態有:Idle、移動、吃東西、警覺、逃跑。
IDLE狀態是必須存在的,它是動畫控制器的預設狀態,且IDLE狀態必須為循環播放。
圖元腳本
透過腳本,您可以讓某個掛載了動畫控制器的實體播放或停止指定狀態、或動態地修改身體部位動畫權重。
如何使用
將一個適合的模型拖曳到場景中:
為其新增Animation Controller Attachable元件:
然後將製作好的動畫控制器加入:
現在這個模型會預設播放IDLE狀態,使用腳本,在適當的實機切換播放的狀態:
玩家開火時,改變miniKelly的播放狀態