教學教學閱讀約 8 分鐘
在 Unity 中幫任何 3D 模型自動綁定骨架: 直接設為 Humanoid,附帶動畫片段
在 Project 視窗中選取模型並按下 Rig。一分鐘後,旁邊就會出現一個已綁定骨架的 FBX,設為 Humanoid,每個動畫都是一個片段。
AFK AI
Signed in as you@example.comSign out
Model
Hero.fbx
Body typehuman
All animationsRig only
FacingAuto
Adding the animations...
- Hero.fbx
- Hero_rigged.fbxHumanoid
- └Idle_ALoop Time ✓
- └WalkLoop Time ✓
- └Jump_Startonce
- └Sword_Attackonce
- └…
- └Hero_riggedAvatarAvatar
在 Unity 中讓角色動起來,一般都得經過 Mixamo。你要匯出 FBX、上傳、在下巴、手腕、手肘和膝蓋上放標記,一個一個下載動畫,再把每個檔案設為 Humanoid,替每個片段勾選 Loop Time。而且這套流程只適用於人形角色。
AFK AI 套件讓你在 Unity 編輯器內的一個視窗就能完成這些事。在 Project 視窗中選取模型,按下 Rig。大約一分鐘後,Hero_rigged.fbx 就會出現在 Hero.fbx 旁邊,已經設為 Humanoid,每個動畫都是一個片段,走路和待機動畫也已設為循環播放。
在 Unity 中用 Mixamo 還是 AFK AI
Mixamo 免費,而且有大量人形角色動畫。AFK AI 則省去來回上傳下載的麻煩,也能綁定動物和道具,人形角色更能在一個檔案中拿到最多 593 種動畫。免費帳號可以使用免費動畫,付費方案則能解鎖其餘全部。
| Mixamo | Unity 中的 AFK AI | |
|---|---|---|
| 在哪裡使用 | 網站:上傳、綁定、下載 | Unity 編輯器中的一個視窗 |
| 你要做的事 | 在下巴、手腕、手肘、膝蓋和胯部放標記 | 選擇模型類型,按下 Rig |
| 支援的身體 | 只支援人形 | 人形和其他 14 種模型類型 |
| 動畫 | 一次下載一個 | 該模型類型的全部動畫,放在一個 FBX 中 |
| Unity 設定 | 手動:設為 Humanoid,再替每個片段開啟 Loop Time | 已完成:Humanoid、每個動畫一個片段、循環已開啟 |
| 登入 | Adobe 帳號 | afk.ai 帳號,以 Google 登入 |
安裝套件
- 從 Unity 外掛程式頁面下載套件:一個
.tgz檔案。把它放在專案以外、可以長期存放的地方,因為 Unity 會從這個檔案讀取套件。 - 在 Unity 中開啟 Window > Package Manager,按下左上角的 +,選擇 Add package from tarball...。
- 選取你下載的
.tgz檔案。不要解壓縮。 - 開啟 Window > AFK AI。把視窗停駐在你喜歡的位置。
適用 Unity 2021.3 以上版本,包含 Unity 6,Built-in、URP 和 HDRP 管線都能用:外掛程式只處理模型匯入。它的程式碼全部只在編輯器中執行,所以不會有任何部分進入你的遊戲。
登入
- 在 AFK AI 視窗中按下 Sign in。瀏覽器會開啟 afk.ai 的登入頁面,用 Google 帳號登入。
- 瀏覽器顯示「You're signed in」後,關閉分頁並回到 Unity:視窗會顯示你的電子郵件,以及本月剩餘的綁定次數。
如果瀏覽器無法回到 Unity(有些資安軟體會阻擋),afk.ai 會改為顯示登入代碼。在 AFK AI 視窗中開啟 I have a sign-in code,貼上代碼,然後按下 Use code。
你的登入資訊存放在 Unity 為這台電腦上你的使用者帳戶保存的設定中,絕不會存進專案,所以分享或提交(commit)專案時,不會連帶分享你的帳號。
綁定模型骨架
- 在 Project 視窗中選取模型:最大 50 MB 的
.fbx、.glb或.gltf檔案。已經放進場景中的模型也可以:外掛程式會傳送它的來源檔案。Unity 只有在安裝了 glTF 匯入工具時,才會把.glb檔案顯示為模型,但外掛程式無論如何都能傳送。 - 在 AFK AI 視窗中設定 Body type:人物和任何用兩隻腳走路的角色選 Human,否則選對應的動物或生物。
- 保持 All animations 開啟,或選 Rig only 只要骨架。Facing 保持 Auto。
- 按下 Rig。視窗會顯示進度:上傳、等待、綁定骨架、加入動畫、下載。這段期間你可以繼續工作,關閉視窗也不會中斷。
完成後,Hero_rigged.fbx 會儲存在 Hero.fbx 旁邊,並在 Project 視窗中選取並反白顯示。原始檔案不會被改動。
Unity 會拿到什麼
- Humanoid:人物會以 Humanoid rig 匯入,並有自己的 Avatar(
Hero_riggedAvatar),所以能和其他所有 Humanoid 角色雙向共用動畫。Unity 會自動把骨骼對應到 Humanoid 的各個槽位,連手指也一樣。 - Generic:其他所有模型類型,從狐狸到龍,都以 Generic rig 匯入。
- 片段:每個動畫都是獨立的片段,名稱和 afk.ai 上的一樣:Idle_A、Walk、Jog、Sprint、Jump_Start、Sword_Attack 等等。
- 循環:名稱代表會重複的片段(idle、walk、run、fly、swim 之類)已開啟 Loop Time。像 Jump_Start、Sword_Attack 或 Death_A 這種一次性的動作只播放一次。
- Root motion:名稱以 _RM 結尾的動畫(Roll_RM、Dodge_left_RM)會自己讓角色往前移動;其餘則在原地播放。
如果 Unity 無法把骨架對應到 Humanoid 骨骼,外掛程式會改把模型設為 Generic,並說明原因。動畫仍然可以播放,只是無法和其他 Humanoid 角色共用。

root └ pelvis └ spine_01 └ spine_02 └ spine_03 └ neck_01 └ head └ clavicle_l └ upperarm_l └ lowerarm_l └ hand_l └ thumb_01_l thumb_02_l thumb_03_l └ index_01_l index_02_l index_03_l └ middle_01_l middle_02_l middle_03_l └ ring_01_l ring_02_l ring_03_l └ pinky_01_l pinky_02_l pinky_03_l └ clavicle_r ... (右側相同) └ thigh_l └ calf_l └ foot_l └ ball_l └ thigh_r ... (右側相同)設定 Animator
做一個隨角色加速,從待機、走路、慢跑切換到衝刺的 blend tree,再加上按一個鍵就揮劍攻擊:
- 把
Hero_rigged.fbx拖進場景。它已經有一個帶著 Avatar 的 Animator。幫它加上 Character Controller,並關閉 Animator 的 Apply Root Motion(改由腳本負責移動)。 - 在 Project 視窗中選擇 Create > Animator Controller(Unity 6 中是 Create > Animation > Animator Controller),命名為
Hero,再拖到 Animator 的 Controller 欄位上。 - 開啟它(Window > Animation > Animator)。在 Parameters 中加入一個名為
Speed的 Float,以及一個名為Attack的 Trigger。 - 在圖上按右鍵,選擇 Create State > From New Blend Tree。按兩下開啟它,把參數設為
Speed,並加入四個 motion:Hero_rigged.fbx中的 Idle_A、Walk、Jog 和 Sprint(在 Project 視窗中按一下它的箭頭就能看到片段)。關閉 Automate Thresholds,把門檻值設為角色移動的速度,例如 0、1.5、3.5 和 6。 - 回到 Base Layer,把 Sword_Attack 片段拖進來。從 blend tree 建立一個到它的轉換,條件設為
Attack並關閉 Has Exit Time,讓它立刻開始;再建立一個回到 blend tree 的轉換,並開啟 Has Exit Time。 - 把這個腳本加到角色上:
using UnityEngine;
// Moves the character and tells its Animator how fast it's going.
[RequireComponent(typeof(Animator), typeof(CharacterController))]
public class HeroAnimation : MonoBehaviour
{
static readonly int Speed = Animator.StringToHash("Speed");
static readonly int Attack = Animator.StringToHash("Attack");
[SerializeField] float runSpeed = 6f;
Animator animator;
CharacterController controller;
void Awake()
{
animator = GetComponent<Animator>();
controller = GetComponent<CharacterController>();
}
void Update()
{
// The Input Manager's axes. With only the Input System package, read your Move action here instead.
var input = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
var move = Vector3.ClampMagnitude(input, 1f) * runSpeed;
controller.SimpleMove(move);
if (move.sqrMagnitude > 0.01f) transform.rotation = Quaternion.LookRotation(move);
animator.SetFloat(Speed, move.magnitude, 0.1f, Time.deltaTime); // eased, so the blend doesn't snap
if (Input.GetButtonDown("Fire1")) animator.SetTrigger(Attack);
}
}
按下 Play:用搖桿或方向鍵,角色就會待機、走路、慢跑和衝刺,按一下滑鼠就會揮劍。
和其他角色共用動畫
因為綁定好的人物是 Humanoid,Unity 會幫你處理重定向。把任何 Humanoid 片段(來自 Asset Store 或你自己的動畫庫)套到它身上,就能直接播放。反過來,它的片段也能在你現有的任何 Humanoid 角色上播放:把 Hero_rigged.fbx 的 Sprint 片段拖進另一個角色的 Animator Controller,那個角色就會跑起來。
動物和生物是 Generic,所以它們的片段只能在自己的骨架上播放。不過,AFK AI 綁定為同一種模型類型的模型,都有相同的骨骼和動畫名稱,所以一隻狐狸的 Animator Controller 能驅動你綁定的任何其他狐狸。
動物、生物和道具
按下 Rig 之前,先在視窗中選擇模型類型:狗、貓和狼選 Fox,有蹄類動物選 Horse,還有 Bird、Dragon、恐龍用的 Kaiju、Spider、Insect、Snake、Fish、Kangaroo、Frog、Turtle、Ghost,會彈跳、旋轉和搖晃的道具則選 Object。每一種都有依身體打造的骨架和專為該骨架製作的動畫,並以 Generic rig 匯入,片段和循環也同樣設定好了。動物教學列出了每種類型附帶的內容。
- 龍
- 四足動物
- 有蹄動物
- 恐龍
- 蜘蛛
- 魚
怎樣算一次綁定
每次 AFK AI 接受的 Rig 點擊,都會用掉本月的一次綁定次數,和在 afk.ai/rig 或其他任何 AFK AI 外掛程式中綁定一樣。失敗的綁定不計次。Stop waiting 會讓 Unity 停止等待,但綁定仍會繼續進行,也照樣計次。如果連線中斷,Try again 會接續同一次綁定,絕不會重複計次。次數用完時,視窗會顯示 See plans,點下去會開啟 afk.ai 的方案。
出問題時
- 登入後瀏覽器無法連回頁面
- 使用 I have a sign-in code。
- 無法連線到 AFK AI
- 檢查網路連線,然後按下 Try again。它會接續同一次綁定。
- 模型太大
- AFK AI 接受最大 50 MB 的模型。匯出一個較輕量的版本,減少多邊形或縮小貼圖。
- 「keeps its data in separate files」
- 表示
.gltf旁邊還有.bin檔。改為匯出.glb。 - 片段不該循環卻循環了
- 選取
Hero_rigged.fbx,在 Inspector 中開啟 Animation 分頁,選擇該片段,修改 Loop Time,然後按下 Apply。 - 按下 Rig 沒有反應
- 先在 Project 視窗中選取一個
.fbx、.glb或.gltf。視窗會說明缺少什麼。
常見問題
還需要 Mixamo 嗎?
不需要。外掛程式一步就能綁定骨架並加入動畫,而且已設為 Humanoid。你仍然可以在它身上使用 Mixamo 的動畫:為任何 Humanoid 角色下載動畫,設為 Humanoid,就能在你的角色上播放。
AFK AI 套件會進入我的遊戲建置版本嗎?
不會。它的程式碼全部放在只供編輯器使用的組件(assembly)中。留在專案裡的是綁定好的 FBX,也就是一般的模型資源。
支援 Unity 6 嗎?
支援。適用 Unity 2021.3 及之後的所有版本,包含 Unity 6。
可以在 Unity 中綁定 .glb 或 .gltf 模型嗎?
可以。即使 Unity 沒有能把它顯示為模型的 glTF 匯入工具,外掛程式也會照原樣傳送檔案。傳回來的是 FBX,Unity 不需要額外安裝任何東西就能匯入。.gltf 必須內嵌所有資料,否則請改為匯出 .glb。
綁好的骨架能用在 VRChat Avatar 上嗎?
可以。綁定好的人物是 Humanoid,而且每根手指都有骨骼,這正是 VRChat 需要的。其餘設定請參閱 VRChat 教學。
角色面向錯誤的方向怎麼辦?
把 Facing 設為它轉動的角度(90°、180° 或 270°),重新綁定。大部分模型用 Auto 就能正確判斷。
可以用腳本綁定整個資料夾的模型嗎?
外掛程式一次只能綁定一個模型。如果要批次處理或整合到建置流程,請使用骨架綁定 API,從命令列或你自己的程式碼呼叫。
Unreal、Godot 或 Blender 也有外掛程式嗎?
有:Unreal Engine、Godot 和 Blender 都有各自的教學,AFK AI 外掛程式總覽則涵蓋全部九款軟體。
幫你的模型綁骨、製作動畫
AI 在你的瀏覽器中為它綁骨,然後數百個動畫就能在它身上播放。下載一個 GLB,任何引擎都能用。
更多教學
教學
在 Blender 中自動綁定角色骨架:免費的 AFK AI 附加元件
選取模型、按下 Rig,大約一分鐘後,旁邊就會出現一份已綁定骨架並帶有動畫的副本。適用 Blender 4.2 以上版本。
教學
在 Unreal Engine 5 中自動綁定角色骨架:從靜態網格到有動畫的骨架網格
對網格按右鍵,選擇 Rig with AFK AI,一分鐘後同一個資料夾中就會出現帶有骨架、物理資產和動畫的骨架網格。
比較
九款 3D 軟體與遊戲引擎的自動骨架綁定外掛程式:Blender、Maya、Unity、Unreal 等
九款軟體,各有一個 AFK AI 外掛程式。選取模型、按下 Rig,大約一分鐘後,模型就會帶著骨架和動畫回到你的場景或專案中。