Hướng dẫnCách làm8 phút đọc
Rig tự động nhân vật trong Unreal Engine 5: Từ static mesh đến skeletal mesh có animation
Bấm chuột phải vào mesh, chọn Rig with AFK AI, một phút sau skeletal mesh có skeleton, physics asset và animation đã nằm trong cùng thư mục.
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 tạo chuyển động cho nhân vật rất đẹp, nhưng không tự rig nhân vật cho bạn. Một static mesh từ phần mềm điêu khắc hay từ gói trên marketplace không có bộ xương lẫn skin weight, nên cách thường làm là đi đường vòng: xuất ra, rig trong Blender hoặc Mixamo, nhập lại thành skeletal mesh, rồi đi tìm animation vừa với nó.
Plugin AFK AI bỏ qua đường vòng đó. Bấm chuột phải vào mesh trong Content Browser và chọn Rig with AFK AI. Khoảng một phút sau, một skeletal mesh tên Hero_rigged nằm trong cùng thư mục, kèm skeleton, physics asset và các animation, sẵn sàng cho Animation Blueprint. Không có C++ nào phải biên dịch, nên plugin chạy được cả trong dự án chỉ dùng Blueprint.
Bạn cần gì
- Unreal Engine
- 5.1 trở lên, trên Windows, Mac hoặc Linux. Dự án chỉ dùng Blueprint cũng được.
- Mesh của bạn
- Static mesh hoặc skeletal mesh được nhập từ file
.fbx,.glbhoặc.gltf, tối đa 50 MB. AFK AI nhận đúng file gốc đó. - Tài khoản afk.ai
- Miễn phí, đăng nhập bằng Google. Mỗi lần rig dùng một lượt rig trong tháng của tài khoản, giống như trên afk.ai/rig.
- Internet
- Việc rig chạy trên máy chủ của afk.ai.
Cài plugin
- Tải plugin từ trang plugin Unreal Engine và giải nén. Bạn sẽ có một thư mục tên
AFKAI. - Đặt nó vào thư mục
Pluginscủa dự án, cạnh file.uproject:MyGame/Plugins/AFKAI/AFKAI.uplugin. Nếu chưa có thư mụcPluginsthì tạo mới. - Mở dự án, hoặc khởi động lại. Plugin sẽ bật hai plugin có sẵn trong Unreal là Python Editor Script Plugin và Editor Scripting Utilities. Nếu Unreal hỏi có khởi động lại không, chọn có.
Menu AFK AI sẽ xuất hiện trên thanh menu của editor. Muốn có nó trong mọi dự án, hãy đặt thư mục vào Engine/Plugins/Marketplace/AFKAI trong thư mục cài Unreal, rồi bật cho từng dự án trong Edit > Plugins.
Đăng nhập và rig
- Chọn AFK AI > Sign in.... Trình duyệt mở afk.ai; đăng nhập bằng Google rồi quay lại Unreal. Menu AFK AI giờ hiện email của bạn và số lượt rig còn lại trong tháng.
- Trong Content Browser, bấm chuột phải vào mesh và chọn Rig with AFK AI. (Hoặc chọn mesh rồi vào AFK AI > Rig the selected mesh....)
- Một cửa sổ nhỏ hỏi Body type (Human, hoặc loài động vật hay sinh vật tương ứng), Animations (All animations, hoặc Rig only nếu chỉ cần bộ xương) và Facing (để nguyên Auto). Tiêu đề cửa sổ ghi rõ thao tác này dùng một lượt rig. Bấm OK.
- Cứ làm việc tiếp. Menu AFK AI hiện tiến độ, Output Log cũng vậy, ở các dòng bắt đầu bằng "AFK AI".
Nếu trình duyệt không quay lại được Unreal (do tường lửa, hoặc Unreal chạy trên máy khác), trang afk.ai sẽ hiện mã đăng nhập. Chọn AFK AI > I have a sign-in code..., dán mã rồi bấm OK.
Bạn nhận được gì
- Skeletal Mesh:
Hero_rigged, trong cùng thư mục với bản gốc, đã được chọn sẵn. Mesh gốc không bị đụng tới. - Skeleton: làm riêng cho kiểu cơ thể. Model người có 66 xương, mỗi ngón tay ba khớp, đặt tên theo xương của mannequin Unreal: pelvis, spine_01, clavicle_l, upperarm_l, thigh_l, v.v.
- Physics Asset: được tạo khi nhập, dùng cho ragdoll và va chạm.
- Animation: mỗi animation là một Animation Sequence. Với nhân vật dạng người, có tới 593: đứng chờ, đi, chạy bộ, chạy nước rút, nhảy, né, chiêu kiếm, khiên, cung và súng ngắn, nhảy múa, trúng đòn và ngã gục. Tài khoản miễn phí nhận các animation miễn phí, còn một gói mở khóa phần còn lại.
- File FBX:
Hero_rigged.fbx, lưu cạnh file nguồn gốc, hoặc trong thư mụcSaved/AFK AIcủa dự án nếu không ghi được vào chỗ kia. Rig lại thì bạn đượcHero_rigged_2: không có gì bị ghi đè.
Như mọi lần nhập khác, các asset mới chỉ được ghi xuống ổ đĩa khi bạn lưu: 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 ... (bên phải cũng vậy) └ thigh_l └ calf_l └ foot_l └ ball_l └ thigh_r ... (bên phải cũng vậy)Xem nhân vật chuyển động, không cần code
Kéo Hero_rigged vào level. Trong panel Details, mục Animation, đặt Animation Mode thành Use Animation Asset, chọn một animation ở Anim to Play (ví dụ Walk) và giữ Looping bật. Bấm Play, hoặc xem luôn trong viewport.
Để xem nhanh từng animation, bấm đúp vào bất kỳ Animation Sequence nào: animation editor mở ra và phát nó trên nhân vật.
Animation Blueprint cho nhân vật người chơi
Cách dựng kinh điển: đứng yên thì idle, rồi đi, rồi chạy bộ khi nhân vật tăng tốc.
- Bấm chuột phải vào
Hero_riggedvà chọn Create > Anim Blueprint. Đặt tên làABP_Hero. - Trong Event Graph, thêm một biến float tên
Speed. Từ Event Blueprint Update Animation, gọi Try Get Pawn Owner, kiểm tra bằng Is Valid, rồi Get Velocity, rồi Vector Length XY, và gán kết quả choSpeed. - Trong AnimGraph, bấm chuột phải, chọn Add New State Machine, đặt tên
Locomotionvà nối nó vào Output Pose. - Bên trong, tạo ba state Idle, Walk và Jog, rồi kéo các animation Idle_A, Walk và Jog từ Asset Browser vào từng state, nối với Output Animation Pose của state đó.
- Vẽ transition hai chiều giữa các state, với điều kiện theo
Speedtính bằng centimet mỗi giây: Idle sang Walk khi Speed > 10, Walk sang Jog khi Speed > 300, và chiều ngược lại khi tốc độ giảm xuống dưới mức đó. - Trong Character Blueprint, chọn component Mesh, đặt Skeletal Mesh Asset thành
Hero_riggedvà Anim Class thànhABP_Hero. Dời mesh xuống đáy capsule và xoay cho nó nhìn theo mũi tên xanh, giống mannequin của template.
Muốn bắt đầu từ C++? Vẫn ý đó, ở dạng gọn nhất: phát một animation lặp khi game bắt đầu.
// 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);
}
}Root motion, với một chút Python
Một số animation tự đẩy nhân vật đi tới: tên của chúng kết thúc bằng _RM, như Roll_RM, Dodge_left_RM hay Sword_Dash_RM. Số còn lại phát tại chỗ. Unreal yêu cầu bật root motion cho từng animation, và plugin đã bật sẵn Python của Unreal, nên vài dòng code là xử lý được tất cả một lượt. Dán đoạn này vào dòng lệnh của Output Log, sau khi chuyển từ Cmd sang 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())Sau đó, trong Class Defaults của ABP_Hero, đặt Root Motion Mode thành Root Motion from Everything nếu bạn phát chúng trong state machine, hoặc phát chúng dưới dạng montage.
Retarget qua lại với mannequin UE5
Xương của bộ xương được đặt tên theo mannequin, nên công cụ retarget của Unreal ghép chúng với nhau mà gần như không cần chỉnh gì. Việc này đi được cả hai chiều: animation của template Third Person lên nhân vật của bạn, hoặc animation của afk.ai lên Manny và Quinn.
Trong Unreal 5.4 trở lên:
- Bấm chuột phải vào một animation, chẳng hạn một animation của template, và chọn Retarget Animations (Retarget Animation Assets ở các bản mới nhất).
- Đặt Target Preview Mesh thành
Hero_rigged. Nguồn là mesh đi kèm animation đó. - Giữ Auto Generate Retargeter bật: Unreal tự tạo IK Rig và IK Retargeter.
- Đánh dấu các animation bạn muốn, bấm Export Animations, chọn thư mục và bấm Export.
Đổi chỗ nguồn và đích để đưa animation của Hero_rigged lên mannequin. Ở bản 5.1 đến 5.3, tạo một IK Rig cho mỗi bộ xương và một IK Retargeter giữa chúng, rồi dùng Export Selected Animations của retargeter. Dù làm cách nào, hãy phát thử vài kết quả trước khi dùng thật, nhất là phần bàn tay.
Sinh vật và đạo cụ
Cũng cú bấm chuột phải đó rig được rồng, ngựa, khủng long, nhện hay cá mập: chỉ cần chọn kiểu cơ thể trong cửa sổ tùy chọn. Mỗi kiểu có bộ xương làm riêng cho cơ thể đó và animation làm riêng cho bộ xương đó, như vỗ cánh, phi nước đại, gầm hay bơi, nên thế giới động vật trong game open-world không cần đến người rig. Đạo cụ dùng kiểu Object: nảy, xoay, rung lắc và co giãn cho vật phẩm nhặt được hay cánh cửa. Hướng dẫn về động vật liệt kê mọi kiểu cơ thể và animation của từng kiểu.
- Rồng
- Bốn chân
- Có móng guốc
- Khủng long
- Nhện
- Cá
Thế nào thì tính là một lượt rig
Mỗi lần rig tới được AFK AI là dùng một lượt rig của tháng này, giống như trên afk.ai/rig và trong các plugin AFK AI khác. Stop waiting chỉ khiến Unreal thôi chờ: việc rig vẫn tiếp tục và vẫn bị tính. Lần rig thất bại thì không bị tính, và thông báo sẽ nói lý do. Menu AFK AI hiện số lượt rig còn lại; khi hết lượt, See plans mở ra các gói của afk.ai.
Khi có trục trặc
- Không thấy menu AFK AI
- Trong Edit > Plugins, kiểm tra AFK AI và Python Editor Script Plugin đã bật chưa, rồi khởi động lại. Nếu còn lỗi khác, Output Log sẽ ghi "AFK AI couldn't start" kèm lý do.
- "has no source file recorded"
- Hoặc "was imported from a .obj file": AFK AI cần file gốc
.fbx,.glbhoặc.gltf. Xuất model sang một trong các định dạng đó, nhập vào, rồi rig file đó. - "Couldn't find Hero's source file"
- File đã bị di chuyển sau khi nhập. Bấm chuột phải vào mesh, chọn Reimport With New File, chọn file ở vị trí hiện tại rồi rig lại.
- "Unreal didn't import it as a skeletal mesh"
- Việc rig đã thành công, và file FBX được lưu ở chỗ thông báo ghi. Kéo nó vào Content Browser và nhập thành Skeletal Mesh kèm animation. Chuyện này có thể xảy ra với importer mới trong Unreal 5.5 trở lên.
- "Couldn't make a secure connection to AFK AI"
- Proxy, phần mềm diệt virus hoặc tường lửa công ty đang chặn. Thử mạng khác.
- Rig thất bại
- Đọc thông báo. Thường thì chọn kiểu cơ thể khác, hoặc để model đứng thẳng và quay mặt về phía trước là được.
Câu hỏi thường gặp
Unreal Engine 5 có tự rig nhân vật được không?
Với static mesh thì không. Unreal retarget được animation giữa các bộ xương đã có sẵn, và có công cụ để tự tay dựng, chỉnh bộ xương, nhưng không có gì rig mesh giúp bạn. Plugin AFK AI làm phần đó: biến static mesh thành skeletal mesh có skin weight và animation, phần còn lại để Unreal lo.
Tôi có cần C++ hay Visual Studio không?
Không. Plugin là Python do chính Unreal chạy, không có gì phải biên dịch, nên nó chạy được trong dự án chỉ dùng Blueprint. Đoạn C++ ở trên chỉ dành cho dự án vốn đã dùng C++.
Plugin chạy được trên những phiên bản Unreal Engine nào?
Unreal Engine 5.1 trở lên, trên Windows, Mac và Linux.
Tôi có rig được model nhập từ file .obj không?
Không trực tiếp được: plugin gửi file nguồn gốc của mesh, và chỉ nhận .fbx, .glb hoặc .gltf. Từ ứng dụng 3D, xuất model sang một trong các định dạng đó, nhập vào, rồi rig.
Có dùng được với animation của mannequin UE5 không?
Được. Xương được đặt tên theo mannequin, nên retargeter ghép chúng mà gần như không cần thiết lập, theo cả hai chiều. Xem mục "Retarget qua lại với mannequin UE5" ở trên.
Tôi có dùng nhân vật đã rig trong game bán thương mại được không?
Được. Bộ xương và animation là CC0, còn model vẫn là của bạn.
File đã rig nằm ở đâu, nếu tôi muốn dùng trong ứng dụng khác?
Hero_rigged.fbx được lưu cạnh file nguồn gốc, hoặc trong thư mục Saved/AFK AI của dự án. Nó mở được trong Blender, Maya và mọi ứng dụng đọc FBX, kèm cả animation.
Có plugin cho Unity hay Blender không?
Có. Xem hướng dẫn cho Unity và Blender, cùng tổng quan về mọi plugin AFK AI cho cả chín ứng dụng.
Rig và tạo hoạt ảnh cho mô hình của bạn
AI rig mô hình ngay trên trình duyệt của bạn, rồi hàng trăm hoạt ảnh phát trên đó. Tải xuống một file GLB cho mọi engine.
Hướng dẫn khác
Cách làm
Rig tự động nhân vật trong Blender: add-on AFK AI miễn phí
Chọn model, bấm Rig, khoảng một phút sau bản sao đã rig kèm animation đứng ngay cạnh nó, trong Blender 4.2 trở lên.
Cách làm
Rig tự động mọi model 3D ngay trong Unity: sẵn sàng cho Humanoid, kèm các clip animation
Chọn model trong cửa sổ Project và bấm Rig. Một phút sau, file FBX đã rig nằm ngay cạnh, thiết lập sẵn kiểu Humanoid, mỗi animation là một clip.
So sánh
Plugin rig tự động cho chín ứng dụng 3D và game engine: Blender, Maya, Unity, Unreal và nhiều hơn nữa
Mỗi ứng dụng trong chín ứng dụng có một plugin AFK AI riêng. Chọn model, bấm Rig, khoảng một phút sau model trở lại scene hoặc dự án, đã rig và có sẵn animation.