Hướng dẫnCách làm8 phút đọc
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.
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
Cách quen thuộc để cho nhân vật chuyển động trong Unity là đi qua Mixamo. Bạn xuất FBX, tải lên, đặt điểm đánh dấu ở cằm, cổ tay, khuỷu tay và đầu gối, tải từng animation về một, rồi đặt từng file thành Humanoid và tick Loop Time cho từng clip. Mà cách này chỉ dùng được cho nhân vật dạng người.
Package AFK AI làm việc đó từ một cửa sổ ngay trong Unity editor. Chọn model trong cửa sổ Project và bấm Rig. Khoảng một phút sau, Hero_rigged.fbx nằm cạnh Hero.fbx, đã thiết lập sẵn kiểu Humanoid, mỗi animation là một clip, các clip đi và đứng chờ đã được đặt lặp.
Mixamo hay AFK AI trong Unity
Mixamo miễn phí và có thư viện animation dạng người rất lớn. AFK AI giúp bạn khỏi chạy tới chạy lui, rig được cả động vật lẫn đạo cụ, và mang về tới 593 animation cho nhân vật dạng người trong một file. 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.
| Mixamo | AFK AI trong Unity | |
|---|---|---|
| Ở đâu | Một trang web: tải lên, rig, tải về | Một cửa sổ trong Unity editor |
| Bạn làm gì | Đặt điểm đánh dấu ở cằm, cổ tay, khuỷu tay, đầu gối và háng | Chọn kiểu cơ thể, bấm Rig |
| Kiểu cơ thể | Chỉ dạng người | Dạng người và 14 kiểu cơ thể khác |
| Animation | Tải về từng cái một | Mọi animation của kiểu cơ thể, trong một file FBX |
| Thiết lập trong Unity | Làm tay: Humanoid, rồi Loop Time cho từng clip | Xong sẵn: Humanoid, mỗi animation một clip, đã bật lặp |
| Đăng nhập | Tài khoản Adobe | Tài khoản afk.ai, bằng Google |
Cài package
- Tải package từ trang plugin Unity: một file
.tgz. Để nó ở một chỗ cố định bên ngoài dự án, vì Unity đọc package từ chính file đó. - Trong Unity, mở Window > Package Manager, bấm + ở góc trên bên trái và chọn Add package from tarball....
- Chọn file
.tgzvừa tải về. Đừng giải nén. - Mở Window > AFK AI. Dock cửa sổ ở đâu bạn thích.
Package chạy trên Unity 2021.3 trở lên, kể cả Unity 6, với cả pipeline Built-in, URP lẫn HDRP: plugin chỉ đụng tới khâu nhập model. Toàn bộ code của nó chỉ chạy trong editor, nên không có gì lọt vào game của bạn.
Đăng nhập
- Trong cửa sổ AFK AI, bấm Sign in. Trình duyệt mở trang đăng nhập của afk.ai; đăng nhập bằng Google.
- Trình duyệt báo "You're signed in". Đóng tab và quay lại Unity: cửa sổ hiện email của bạn và số lượt rig còn lại trong tháng.
Nếu trình duyệt không quay lại được Unity (một số phần mềm bảo mật chặn việc này), afk.ai sẽ hiện mã đăng nhập. Mở I have a sign-in code trong cửa sổ AFK AI, dán mã và bấm Use code.
Thông tin đăng nhập được lưu trong thiết lập riêng của Unity cho tài khoản người dùng của bạn trên máy này, không bao giờ nằm trong dự án, nên không bị chia sẻ theo khi bạn chia sẻ hay commit dự án.
Rig một model
- Trong cửa sổ Project, chọn model: một file
.fbx,.glbhoặc.gltftối đa 50 MB. Model đã đặt vào scene cũng được: plugin gửi file gốc của nó. Unity chỉ hiện file.glbthành model khi đã cài glTF importer, nhưng plugin vẫn gửi được dù có hay không. - Trong cửa sổ AFK AI, đặt Body type: human cho người và mọi thứ đi bằng hai chân, hoặc loài động vật hay sinh vật tương ứng.
- Để nguyên All animations, hoặc chọn Rig only nếu chỉ cần bộ xương. Để Facing ở Auto.
- Bấm Rig. Cửa sổ hiện tiến độ: tải lên, chờ, rig, thêm animation, tải về. Bạn vẫn làm việc tiếp được, và đóng cửa sổ cũng không làm nó dừng.
Khi xong, Hero_rigged.fbx được lưu cạnh Hero.fbx, được chọn và tô sáng trong cửa sổ Project. File gốc không bị đụng tới.
Unity nhận được gì
- Humanoid: nhân vật người được nhập thành rig Humanoid với Avatar riêng (
Hero_riggedAvatar), nên dùng chung animation được với mọi nhân vật Humanoid khác, theo cả hai chiều. Unity tự ghép xương vào các vị trí Humanoid, kể cả ngón tay. - Generic: mọi kiểu cơ thể khác, từ cáo đến rồng, được nhập thành rig Generic.
- Clip: mỗi animation là một clip riêng, đặt tên như trên afk.ai: Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, v.v.
- Lặp: các clip có tên cho thấy chúng lặp lại (idle, walk, run, fly, swim và tương tự) được bật Loop Time. Các clip chạy một lần như Jump_Start, Sword_Attack hay Death_A chỉ phát một lần.
- Root motion: các clip có tên kết thúc bằng _RM (Roll_RM, Dodge_left_RM) tự đẩy nhân vật đi tới; số còn lại phát tại chỗ.
Nếu Unity không ghép được bộ xương vào các xương Humanoid, plugin sẽ thiết lập model thành Generic và cho biết lý do. Animation vẫn phát bình thường; chỉ là không dùng chung được với các nhân vật Humanoid khác.

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)Thiết lập Animator
Một blend tree chuyển từ đứng chờ sang đi, chạy bộ rồi chạy nước rút khi nhân vật tăng tốc, cộng thêm một chiêu kiếm gắn vào một nút bấm:
- Kéo
Hero_rigged.fbxvào scene. Nó đã có sẵn Animator kèm Avatar. Thêm Character Controller cho nó, và tắt Apply Root Motion trên Animator (script sẽ lo việc di chuyển). - Trong cửa sổ Project, chọn Create > Animator Controller (trong Unity 6 là Create > Animation > Animator Controller), đặt tên
Hero, rồi kéo nó vào ô Controller của Animator. - Mở nó (Window > Animation > Animator). Trong Parameters, thêm một Float tên
Speedvà một Trigger tênAttack. - Bấm chuột phải vào graph, chọn Create State > From New Blend Tree. Bấm đúp vào nó, đặt tham số là
Speed, rồi thêm bốn motion: Idle_A, Walk, Jog và Sprint từHero_rigged.fbx(bấm vào mũi tên của file trong cửa sổ Project để thấy các clip). Tắt Automate Thresholds và đặt ngưỡng bằng các tốc độ nhân vật di chuyển, ví dụ 0, 1.5, 3.5 và 6. - Quay lại Base Layer, kéo clip Sword_Attack vào. Tạo một transition từ blend tree sang clip đó với điều kiện
Attackvà tắt Has Exit Time để nó bắt đầu ngay, rồi tạo một transition quay về blend tree với Has Exit Time bật. - Gắn script này vào nhân vật:
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);
}
}
Bấm Play: nhân vật đứng chờ, đi, chạy bộ và chạy nước rút theo cần analog hoặc phím mũi tên, và vung kiếm khi bạn bấm chuột.
Dùng chung animation với nhân vật khác
Vì nhân vật người đã rig là Humanoid, Unity sẽ retarget giúp bạn. Thả bất kỳ clip Humanoid nào lên nó, từ Asset Store hay thư viện của riêng bạn, và clip sẽ phát. Ngược lại, các clip của nó cũng phát được trên mọi nhân vật Humanoid bạn đang có: kéo clip Sprint của Hero_rigged.fbx vào Animator Controller của nhân vật khác và nhân vật đó sẽ chạy.
Động vật và sinh vật là Generic, nên clip của chúng phát trên bộ xương của chính chúng. Tuy vậy, mọi model được AFK AI rig cùng một kiểu cơ thể đều có cùng tên xương và tên animation, nên Animator Controller của một con cáo điều khiển được mọi con cáo khác mà bạn rig.
Động vật, sinh vật và đạo cụ
Chọn kiểu cơ thể trong cửa sổ trước khi bấm Rig: fox cho chó, mèo và sói, horse cho mọi loài có móng guốc, bird, dragon, kaiju cho khủng long, spider, insect, snake, fish, kangaroo, frog, turtle, ghost, hoặc object cho đạo cụ nảy, xoay và rung lắc. 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 đó, được nhập thành rig Generic với các clip và vòng lặp thiết lập sẵn như trên. Hướng dẫn về động vật liệt kê những gì đi kèm mỗi 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 bấm Rig được AFK AI nhận là dùng một lượt rig của tháng này, giống như rig trên afk.ai/rig hay trong bất kỳ plugin AFK AI nào khác. Lần rig thất bại thì không bị tính. Stop waiting chỉ dừng việc chờ trong Unity, còn việc rig vẫn tiếp tục và vẫn bị tính. Nếu mất kết nối, Try again sẽ tiếp tục đúng lượt rig đó, và không bao giờ bị tính hai lần. Khi hết lượt, cửa sổ hiện See plans, mở ra các gói của afk.ai.
Khi có trục trặc
- Trình duyệt không quay lại được sau khi đăng nhập
- Dùng I have a sign-in code.
- Không kết nối được với AFK AI
- Kiểm tra kết nối mạng, rồi bấm Try again. Nó sẽ tiếp tục đúng lượt rig đó.
- Model quá lớn
- AFK AI nhận model tối đa 50 MB. Xuất một bản nhẹ hơn, ít polygon hơn hoặc texture nhỏ hơn.
- "keeps its data in separate files"
- File
.gltfcó file.binđi kèm bên cạnh. Hãy xuất.glbthay thế. - Một clip bị lặp khi không nên lặp
- Chọn
Hero_rigged.fbx, mở tab Animation trong Inspector, chọn clip, đổi Loop Time rồi bấm Apply. - Bấm Rig mà không có gì xảy ra
- Chọn trước một file
.fbx,.glbhoặc.gltftrong cửa sổ Project. Cửa sổ sẽ cho biết còn thiếu gì.
Câu hỏi thường gặp
Tôi có còn cần Mixamo không?
Không. Plugin rig model và mang animation về trong một bước, thiết lập sẵn kiểu Humanoid. Bạn vẫn dùng được animation của Mixamo cho nó: tải chúng về cho một nhân vật Humanoid bất kỳ, đặt thành Humanoid, và chúng sẽ phát trên nhân vật của bạn.
Package AFK AI có lọt vào bản build game không?
Không. Toàn bộ code của nó nằm trong một assembly chỉ dành cho editor. Thứ ở lại trong dự án là file FBX đã rig, một asset model bình thường.
Package có chạy trên Unity 6 không?
Có. Nó chạy trên Unity 2021.3 và mọi phiên bản sau đó, kể cả Unity 6.
Tôi có rig được model .glb hay .gltf trong Unity không?
Được. Plugin gửi nguyên file như nó vốn có, kể cả khi Unity không có glTF importer để hiện nó thành model. Thứ trả về là một file FBX, Unity nhập được mà không cần cài thêm gì. File .gltf phải nhúng sẵn mọi thứ; nếu không, hãy xuất .glb.
Bộ rig có dùng được cho avatar VRChat không?
Được. Nhân vật người đã rig là Humanoid, có đủ từng ngón tay, đúng thứ VRChat cần. Hướng dẫn VRChat trình bày phần thiết lập còn lại.
Nếu nhân vật quay mặt sai hướng thì sao?
Rig lại với Facing đặt đúng góc mà model đang bị xoay (90°, 180° hoặc 270°). Với phần lớn model, Auto tự xác định được.
Tôi có rig model bằng script, cho cả một thư mục được không?
Plugin rig từng model một. Với việc rig hàng loạt và build pipeline, hãy dùng API rig, từ dòng lệnh hoặc từ code của bạn.
Có plugin cho Unreal, Godot hay Blender không?
Có: Unreal Engine, Godot và Blender đều có hướng dẫn riêng, và tổng quan về mọi plugin AFK AI bao quát 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 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.
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.