教學教學閱讀約 8 分鐘
在 Unreal Engine 5 中自動綁定角色骨架: 從靜態網格到有動畫的骨架網格
對網格按右鍵,選擇 Rig with AFK AI,一分鐘後同一個資料夾中就會出現帶有骨架、物理資產和動畫的骨架網格。
Hero · Static Mesh
AFK AI
Rig with AFK AI
Edit… · Duplicate · Rename …
- HeroStatic Mesh
- Hero_riggedSkeletal Mesh
- Hero_rigged_SkeletonSkeleton
- Hero_rigged_PhysicsAssetPhysics Asset
- …_Idle_AAnimation Sequence
- …_WalkAnimation Sequence
- …_JogAnimation Sequence
- …
Unreal Engine 能把角色動畫呈現得非常漂亮,卻不會幫你綁定骨架。從雕刻軟體或市集素材包拿到的靜態網格沒有骨架,也沒有蒙皮權重,所以一般得繞一大圈:匯出模型、在 Blender 或 Mixamo 中綁定骨架、以骨架網格重新匯入,再去找合用的動畫。
AFK AI 外掛程式讓你省下這一圈。在 Content Browser 中對網格按右鍵,選擇 Rig with AFK AI。大約一分鐘後,同一個資料夾中就會出現名為 Hero_rigged 的骨架網格,帶有骨架、物理資產和動畫,可以直接用在 Animation Blueprint 中。不需要編譯任何 C++,所以只用 Blueprint 的專案也能使用。
準備事項
- Unreal Engine
- 5.1 以上版本,支援 Windows、Mac 或 Linux。只用 Blueprint 的專案也沒問題。
- 你的網格
- 從
.fbx、.glb或.gltf檔案匯入的靜態網格或骨架網格,最大 50 MB。AFK AI 會取得那個原始檔案。 - afk.ai 帳號
- 免費,以 Google 登入。每次綁定都會用掉帳號當月的一次綁定次數,和在 afk.ai/rig 上一樣。
- 網路
- 骨架綁定在 afk.ai 的伺服器上進行。
安裝外掛程式
- 從 Unreal Engine 外掛程式頁面下載外掛程式並解壓縮。你會得到一個名為
AFKAI的資料夾。 - 把它放進專案的
Plugins資料夾,也就是.uproject檔案旁邊:MyGame/Plugins/AFKAI/AFKAI.uplugin。如果沒有Plugins資料夾,就自己建立一個。 - 開啟專案,或重新啟動專案。外掛程式會開啟 Unreal 內建的兩個外掛程式:Python Editor Script Plugin 和 Editor Scripting Utilities。如果 Unreal 要求重新啟動,選擇同意。
編輯器的選單列中會出現 AFK AI 選單。如果想讓每個專案都能使用,可以改把資料夾放進 Unreal 安裝位置中的 Engine/Plugins/Marketplace/AFKAI,然後在每個專案的 Edit > Plugins 中開啟它。
登入並綁定骨架
- 選擇 AFK AI > Sign in...。瀏覽器會開啟 afk.ai,用 Google 帳號登入後回到 Unreal。AFK AI 選單現在會顯示你的電子郵件,以及本月剩餘的綁定次數。
- 在 Content Browser 中對網格按右鍵,選擇 Rig with AFK AI。(或是選取網格後,選擇 AFK AI > Rig the selected mesh...。)
- 一個小視窗會詢問 Body type(Human,或對應的動物或生物)、Animations(All animations,或只要骨架的 Rig only)和 Facing(保持 Auto)。視窗標題會註明這會用掉一次綁定次數。按下 OK。
- 繼續工作即可。AFK AI 選單會顯示進度,Output Log 中以「AFK AI」開頭的訊息也會顯示。
如果瀏覽器無法回到 Unreal(例如被防火牆擋住,或 Unreal 在另一台電腦上),afk.ai 頁面會顯示登入代碼。選擇 AFK AI > I have a sign-in code...,貼上代碼,然後按下 OK。
你會拿到什麼
- Skeletal Mesh:
Hero_rigged,和原始網格在同一個資料夾中,並已幫你選取。原始網格不會被改動。 - Skeleton:依模型類型打造。人形角色有 66 根骨骼,每根手指都有三個關節,命名方式和 Unreal 自己的 Mannequin 骨骼相同:pelvis、spine_01、clavicle_l、upperarm_l、thigh_l 等等。
- Physics Asset:匯入時產生,用於布偶物理(ragdoll)和碰撞。
- 動畫:每個動畫一個 Animation Sequence。人形角色最多有 593 種:待機、走路、慢跑、衝刺、跳躍、閃避、劍、盾、弓和手槍的動作、舞蹈、受擊和死亡。免費帳號可以使用免費動畫,付費方案則能解鎖其餘全部。
- FBX:
Hero_rigged.fbx,儲存在原始來源檔案旁邊;如果那裡無法寫入,則存在專案的Saved/AFK AI資料夾。再綁定一次會得到Hero_rigged_2:不會覆蓋任何東西。
和任何匯入一樣,新資源要等你儲存後才會寫入磁碟:File > Save All。

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 ... (右側相同)不寫程式也能看它動起來
把 Hero_rigged 拖進關卡。在它的 Details 面板中,於 Animation 底下把 Animation Mode 設為 Use Animation Asset,在 Anim to Play 中選一個動畫(例如 Walk),並保持 Looping 開啟。按下 Play,或直接在視埠中觀看。
想快速檢查每個動畫,就按兩下任何一個 Animation Sequence:動畫編輯器會開啟,並在角色身上播放。
玩家角色的 Animation Blueprint
經典設定:靜止時待機,角色加速時依序切換成走路和慢跑。
- 對
Hero_rigged按右鍵,選擇 Create > Anim Blueprint。命名為ABP_Hero。 - 在它的 Event Graph 中加入一個名為
Speed的 float 變數。從 Event Blueprint Update Animation 呼叫 Try Get Pawn Owner,用 Is Valid 檢查,接著是 Get Velocity,再接 Vector Length XY,最後把Speed設為這個值。 - 在 AnimGraph 中按右鍵,選擇 Add New State Machine,命名為
Locomotion,並連接到 Output Pose。 - 在裡面建立三個狀態:Idle、Walk 和 Jog,再從 Asset Browser 把 Idle_A、Walk 和 Jog 動畫分別拖進去,連接到各自的 Output Animation Pose。
- 在狀態之間畫出雙向的轉換,規則依據
Speed(單位為公分/秒):Speed > 10 時從 Idle 轉到 Walk,Speed > 300 時從 Walk 轉到 Jog,速度降到門檻以下時再反向轉回。 - 在你的 Character Blueprint 中選取 Mesh 元件,把 Skeletal Mesh Asset 設為
Hero_rigged,Anim Class 設為ABP_Hero。把它往下移到膠囊體底部,並轉向面對藍色箭頭,就像範本中的 Mannequin 那樣。
想從 C++ 開始?同樣的概念,最精簡的版本:遊戲開始時播放一個循環動畫。
// HeroCharacter.h
UPROPERTY(EditAnywhere, Category = "Animation")
TObjectPtr<UAnimSequence> IdleAnimation;
// HeroCharacter.cpp
#include "Animation/AnimSequence.h"
void AHeroCharacter::BeginPlay()
{
Super::BeginPlay();
if (IdleAnimation)
{
GetMesh()->PlayAnimation(IdleAnimation, /*bLooping=*/ true);
}
}用一點 Python 處理 Root Motion
有些動畫會自己讓角色往前移動:它們的名稱以 _RM 結尾,例如 Roll_RM、Dodge_left_RM 或 Sword_Dash_RM。其餘則在原地播放。Unreal 需要逐一為每個動畫開啟 root motion,而外掛程式已經開啟了 Unreal 的 Python,所以幾行程式碼就能一次處理全部。把這段貼到 Output Log 的命令列中,並把它從 Cmd 切換為 Python:
import unreal
folder = "/Game/Characters" # the folder Hero_rigged is in
for path in unreal.EditorAssetLibrary.list_assets(folder, recursive=False):
anim = unreal.EditorAssetLibrary.load_asset(path)
if isinstance(anim, unreal.AnimSequence) and anim.get_name().endswith("_RM"):
anim.set_editor_property("enable_root_motion", True)
unreal.EditorAssetLibrary.save_loaded_asset(anim)
unreal.log("Root motion on: " + anim.get_name())接著,如果你要在狀態機中播放這些動畫,就在 ABP_Hero 的 Class Defaults 中把 Root Motion Mode 設為 Root Motion from Everything;或是改用 montage 播放。
與 UE5 Mannequin 互相重定向
骨架的骨骼是依照 Mannequin 的骨骼命名的,所以 Unreal 的重定向工具幾乎不用調整就能對應。而且這是雙向的:可以把 Third Person 範本的動畫套到你的角色上,也可以把 afk.ai 的動畫套到 Manny 和 Quinn 身上。
在 Unreal 5.4 以上版本中:
- 對一個動畫(例如範本中的動畫)按右鍵,選擇 Retarget Animations(最新版本中是 Retarget Animation Assets)。
- 把 Target Preview Mesh 設為
Hero_rigged。來源是動畫原本搭配的網格。 - 保持 Auto Generate Retargeter 開啟:Unreal 會自己建立 IK Rig 和 IK Retargeter。
- 勾選你要的動畫,按下 Export Animations,選擇資料夾後按下 Export。
把來源和目標對調,就能把 Hero_rigged 的動畫套到 Mannequin 上。在 5.1~5.3 中,要為每個骨架各建立一個 IK Rig,並在兩者之間建立 IK Retargeter,然後使用重定向工具的 Export Selected Animations。無論哪種方式,正式使用前都先播放幾個結果檢查看看,尤其是手部。
生物和道具
同樣按右鍵,就能幫龍、馬、恐龍、蜘蛛或鯊魚綁定骨架:只要在選項視窗中選擇模型類型。每一種都有依身體打造的骨架,以及專為該骨架製作的動畫,例如拍翅、奔馳、咆哮或游泳,所以開放世界遊戲裡的野生動物不必再找人綁定骨架。道具則選 Object 類型:彈跳、旋轉、搖晃和擠壓,適合拾取物和門。動物教學列出了每種模型類型和它的動畫。
- 龍
- 四足動物
- 有蹄動物
- 恐龍
- 蜘蛛
- 魚
怎樣算一次綁定
每次送達 AFK AI 的綁定都會用掉本月的一次綁定次數,和在 afk.ai/rig 及其他 AFK AI 外掛程式中一樣。Stop waiting 只會讓 Unreal 停止等待:綁定仍會繼續進行,也照樣計次。失敗的綁定不計次,訊息也會說明原因。AFK AI 選單會顯示剩餘的綁定次數;次數用完時,See plans 會開啟 afk.ai 的方案。
出問題時
- 沒有 AFK AI 選單
- 在 Edit > Plugins 中確認 AFK AI 和 Python Editor Script Plugin 都已開啟,然後重新啟動。如果是其他問題,Output Log 會顯示「AFK AI couldn't start」和原因。
- 「has no source file recorded」
- 或 「was imported from a .obj file」:AFK AI 需要原始的
.fbx、.glb或.gltf。把模型匯出成其中一種格式,匯入後再綁定。 - 「Couldn't find Hero's source file」
- 檔案在匯入後被移動了。對網格按右鍵,選擇 Reimport With New File,選取檔案現在的位置,然後重新綁定。
- 「Unreal didn't import it as a skeletal mesh」
- 綁定其實成功了,FBX 也已儲存在訊息所說的位置。把它拖進 Content Browser,以 Skeletal Mesh 連同動畫一起匯入。Unreal 5.5 以後的新版匯入工具可能會發生這種情況。
- 「Couldn't make a secure connection to AFK AI」
- 有代理伺服器、防毒軟體或公司防火牆擋住了連線。換個網路試試。
- 綁定失敗
- 閱讀訊息。通常換一個模型類型,或讓模型直立並面向前方,就能解決。
常見問題
Unreal Engine 5 能自己幫角色自動綁定骨架嗎?
靜態網格不行。Unreal 可以在既有的骨架之間重定向動畫,也有手動建立和編輯骨架的工具,但沒有能自動幫網格綁定骨架的功能。AFK AI 外掛程式負責這一段:把靜態網格變成帶有蒙皮權重和動畫的骨架網格,接下來就交給 Unreal。
需要 C++ 或 Visual Studio 嗎?
不需要。外掛程式是 Unreal 自己執行的 Python,沒有任何東西需要編譯,所以只用 Blueprint 的專案也能使用。上面的 C++ 只是給已經在用 C++ 的專案參考。
支援哪些 Unreal Engine 版本?
Unreal Engine 5.1 以上版本,支援 Windows、Mac 和 Linux。
可以綁定從 .obj 匯入的模型嗎?
不能直接綁定:外掛程式會傳送網格的原始來源檔案,而它只接受 .fbx、.glb 或 .gltf。從你的 3D 軟體把模型匯出成其中一種格式,匯入後再綁定。
能搭配 UE5 Mannequin 的動畫使用嗎?
可以。骨骼是依照 Mannequin 的骨骼命名的,所以重定向工具幾乎不需要設定就能雙向對應。請參閱上方的「與 UE5 Mannequin 互相重定向」。
綁定好的角色可以用在要販售的遊戲中嗎?
可以。骨架和動畫都是 CC0,你的模型仍然屬於你。
如果想在其他軟體中使用,綁定好的檔案在哪裡?
Hero_rigged.fbx 會儲存在原始來源檔案旁邊,或專案的 Saved/AFK AI 資料夾中。它可以在 Blender、Maya 和任何能讀取 FBX 的軟體中開啟,動畫也一併包含在內。
Unity 或 Blender 也有外掛程式嗎?
有。請參閱 Unity 和 Blender 的教學,以及涵蓋全部九款軟體的 AFK AI 外掛程式總覽。
幫你的模型綁骨、製作動畫
AI 在你的瀏覽器中為它綁骨,然後數百個動畫就能在它身上播放。下載一個 GLB,任何引擎都能用。
更多教學
教學
在 Blender 中自動綁定角色骨架:免費的 AFK AI 附加元件
選取模型、按下 Rig,大約一分鐘後,旁邊就會出現一份已綁定骨架並帶有動畫的副本。適用 Blender 4.2 以上版本。
教學
在 Unity 中幫任何 3D 模型自動綁定骨架:直接設為 Humanoid,附帶動畫片段
在 Project 視窗中選取模型並按下 Rig。一分鐘後,旁邊就會出現一個已綁定骨架的 FBX,設為 Humanoid,每個動畫都是一個片段。
比較
九款 3D 軟體與遊戲引擎的自動骨架綁定外掛程式:Blender、Maya、Unity、Unreal 等
九款軟體,各有一個 AFK AI 外掛程式。選取模型、按下 Rig,大約一分鐘後,模型就會帶著骨架和動畫回到你的場景或專案中。