PanduanTutorial8 menit baca

Rigging otomatis model 3D apa pun di Unity: Siap Humanoid, lengkap dengan klip animasinya

Pilih model di jendela Project lalu klik Rig. Semenit kemudian FBX yang sudah di-rig ada di sampingnya, diatur sebagai Humanoid, dengan setiap animasi sebagai klip.

Window › AFK AI

AFK AI

Signed in as you@example.comSign out

Model

Hero.fbx

Body typehuman

All animationsRig only

FacingAuto

Adding the animations...

Stop waiting
Project › Assets/Characters
  • Hero.fbx
  • Hero_rigged.fbxHumanoid
  • └Idle_ALoop Time ✓
  • └WalkLoop Time ✓
  • └Jump_Startonce
  • └Sword_Attackonce
  • └…
  • └Hero_riggedAvatarAvatar
Ilustrasi berdasarkan plugin, bukan screenshot: jendela AFK AI saat memasang rig pada Hero.fbx, lalu jendela Project sesudahnya, dengan Hero_rigged.fbx diatur sebagai Humanoid dan klip yang berulang ditandai.

Cara biasa untuk membuat karakter bergerak di Unity adalah lewat Mixamo. Kamu mengekspor FBX, meng-upload-nya, menaruh penanda di dagu, pergelangan tangan, siku, dan lutut, men-download animasi satu per satu, lalu mengatur setiap file ke Humanoid dan mencentang Loop Time di setiap klip. Dan itu hanya berlaku untuk humanoid.

Package AFK AI mengerjakannya dari sebuah jendela di dalam editor Unity. Pilih model di jendela Project lalu klik Rig. Sekitar satu menit kemudian Hero_rigged.fbx ada di samping Hero.fbx, sudah diatur sebagai Humanoid, dengan setiap animasi sebagai klip dan animasi jalan serta idle sudah diatur loop.

Mixamo atau AFK AI di Unity

Mixamo gratis dan punya koleksi animasi humanoid yang besar. AFK AI menghemat bolak-balik itu, bisa memasang rig pada hewan dan prop juga, dan memberi hingga 593 animasi untuk humanoid dalam satu file. Akun gratis mendapat animasi yang gratis, dan paket menambahkan sisanya.

MixamoAFK AI di Unity
TempatSitus web: upload, rig, downloadJendela di editor Unity
Yang kamu lakukanMenaruh penanda di dagu, pergelangan tangan, siku, lutut, dan selangkanganMemilih tipe tubuh, mengklik Rig
TubuhHanya humanoidHumanoid dan 14 tipe tubuh lainnya
AnimasiDi-download satu per satuSemua animasi untuk tipe tubuh itu, dalam satu FBX
Setup UnityManual: Humanoid, lalu Loop Time di setiap klipSudah beres: Humanoid, satu klip per animasi, loop aktif
MasukAkun AdobeAkun afk.ai, dengan Google

Instal package

  1. Download package dari halaman plugin Unity: satu file .tgz. Simpan di luar proyek kamu, di tempat yang tidak akan dipindah, karena Unity membaca package dari file itu.
  2. Di Unity, buka Window > Package Manager, klik + di kiri atas, lalu pilih Add package from tarball....
  3. Pilih file .tgz yang sudah kamu download. Jangan di-unzip.
  4. Buka Window > AFK AI. Dock jendelanya di mana saja.

Package ini berjalan di Unity 2021.3 dan yang lebih baru, termasuk Unity 6, dengan pipeline Built-in, URP, maupun HDRP: plugin hanya menyentuh proses impor model. Semua kodenya hanya untuk editor, jadi tidak ada bagiannya yang masuk ke game kamu.

Masuk

  1. Di jendela AFK AI, klik Sign in. Browser kamu membuka halaman masuk afk.ai; masuk dengan Google.
  2. Browser menampilkan "You're signed in". Tutup tab itu dan kembali ke Unity: jendela menampilkan email kamu dan sisa jatah rig kamu bulan ini.

Kalau browser tidak bisa kembali ke Unity (beberapa software keamanan memblokirnya), afk.ai akan menampilkan kode masuk. Buka I have a sign-in code di jendela AFK AI, tempel kodenya, lalu klik Use code.

Data masuk kamu disimpan di pengaturan Unity sendiri untuk pengguna kamu di komputer ini, tidak pernah di proyek, jadi tidak ikut terbagi saat kamu membagikan atau meng-commit proyek.

Pasang rig pada model

  1. Di jendela Project, pilih modelnya: file .fbx, .glb, atau .gltf maksimal 50 MB. Model yang sudah kamu taruh di scene juga bisa: plugin mengirim file asal model itu. Unity hanya menampilkan file .glb sebagai model kalau importer glTF terinstal, tetapi plugin tetap bisa mengirimnya.
  2. Di jendela AFK AI, atur Body type: human untuk manusia dan apa pun yang berjalan dengan dua kaki, atau sesuai jenis hewan atau makhluknya.
  3. Biarkan All animations aktif, atau pilih Rig only untuk kerangkanya saja. Biarkan Facing di Auto.
  4. Klik Rig. Jendela menampilkan progresnya: upload, menunggu, rigging, menambahkan animasi, download. Kamu bisa tetap bekerja, dan menutup jendela tidak menghentikan prosesnya.

Setelah selesai, Hero_rigged.fbx disimpan di samping Hero.fbx, terpilih dan disorot di jendela Project. File aslinya tidak disentuh.

Yang didapat Unity

  • Humanoid: manusia masuk sebagai rig Humanoid dengan Avatar-nya sendiri (Hero_riggedAvatar), jadi bisa berbagi animasi dengan semua karakter Humanoid lain, dua arah. Unity memetakan bone ke slot Humanoid-nya sendiri, termasuk jari.
  • Generic: semua tipe tubuh lain, dari rubah sampai naga, masuk sebagai rig Generic.
  • Klip: setiap animasi menjadi klip sendiri, dengan nama yang sama seperti di afk.ai: Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, dan seterusnya.
  • Loop: klip yang namanya menunjukkan gerakan berulang (idle, walk, run, fly, swim, dan sejenisnya) sudah mengaktifkan Loop Time. Klip sekali jalan seperti Jump_Start, Sword_Attack, atau Death_A diputar sekali.
  • Root motion: nama yang berakhiran _RM (Roll_RM, Dodge_left_RM) menggerakkan karakter maju dengan sendirinya; sisanya diputar di tempat.

Kalau Unity tidak bisa mencocokkan kerangka dengan bone Humanoid-nya, plugin mengatur model sebagai Generic dan memberi tahu alasannya. Animasinya tetap bisa diputar; hanya saja tidak bisa dipakai bersama karakter Humanoid lain.

Karakter anime dalam T-pose dengan sendi-sendi yang ditempatkan afk.ai ditampilkan sebagai titik, sampai ke jari
anime-girl.glb · skeleton
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 ... (sama di sisi kanan)    └ thigh_l      └ calf_l        └ foot_l          └ ball_l    └ thigh_r ... (sama di sisi kanan)
Kerangka humanoid yang didapat setiap rig afk.ai: 66 tulang, dengan tiga sendi di setiap jari dan ibu jari, dinamai seperti mannequin Unreal Engine.

Setup Animator

Sebuah blend tree yang berpindah dari idle ke jalan, jog, lalu sprint seiring karakter makin cepat, plus serangan pedang lewat satu tombol:

  1. Seret Hero_rigged.fbx ke scene. Model itu sudah punya Animator dengan Avatar-nya. Tambahkan Character Controller, lalu matikan Apply Root Motion di Animator (skrip yang menggerakkannya).
  2. Di jendela Project, pilih Create > Animator Controller (di Unity 6, Create > Animation > Animator Controller), beri nama Hero, lalu seret ke kolom Controller di Animator.
  3. Buka controller itu (Window > Animation > Animator). Di Parameters, tambahkan Float bernama Speed dan Trigger bernama Attack.
  4. Klik kanan di graph lalu pilih Create State > From New Blend Tree. Klik dua kali blend tree itu, atur parameternya ke Speed, lalu tambahkan empat motion: Idle_A, Walk, Jog, dan Sprint dari Hero_rigged.fbx (klik panahnya di jendela Project untuk melihat klip-klipnya). Matikan Automate Thresholds dan atur threshold-nya ke kecepatan gerak karakter kamu, misalnya 0, 1.5, 3.5, dan 6.
  5. Kembali ke Base Layer, seret klip Sword_Attack ke sana. Buat transition dari blend tree ke klip itu dengan condition Attack dan Has Exit Time mati, supaya langsung mulai, lalu satu transition kembali ke blend tree dengan Has Exit Time aktif.
  6. Tambahkan skrip ini ke karakter:
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);
    }
}

Tekan Play: karakter idle, berjalan, jog, dan sprint dengan stick atau tombol panah, dan mengayunkan pedang saat kamu mengklik.

EntryLocomotionBlend Tree · Idle_A, Walk, Jog, Sprint↓ Attack↑ Has Exit TimeSword_Attack
Ilustrasi: Animator Controller. Blend tree Locomotion bergerak dari Idle_A ke Sprint berdasarkan Speed; trigger Attack memutar Sword_Attack, yang kembali lagi setelah selesai.

Berbagi animasi dengan karakter lain

Karena manusia yang sudah di-rig berupa Humanoid, Unity yang mengurus retargeting-nya. Taruh klip Humanoid apa pun padanya, dari Asset Store atau koleksi kamu sendiri, dan klip itu langsung jalan. Sebaliknya, klip-klipnya bisa diputar di karakter Humanoid mana pun yang sudah kamu punya: seret klip Sprint dari Hero_rigged.fbx ke Animator Controller karakter lain, dan karakter itu ikut berlari.

Hewan dan makhluk berupa Generic, jadi klipnya diputar di kerangkanya sendiri. Meski begitu, setiap model yang di-rig AFK AI dengan tipe tubuh yang sama mendapat nama bone dan animasi yang sama, jadi Animator Controller satu rubah bisa menggerakkan rubah lain yang kamu pasangi rig.

Hewan, makhluk, dan prop

Pilih tipe tubuh di jendela sebelum mengklik Rig: fox untuk anjing, kucing, dan serigala, horse untuk hewan berkuku apa pun, bird, dragon, kaiju untuk dinosaurus, spider, insect, snake, fish, kangaroo, frog, turtle, ghost, atau object untuk prop yang memantul, berputar, dan bergoyang. Masing-masing mendapat kerangka yang dibuat untuk tubuhnya dan animasi yang dibuat untuk kerangka itu, dan masuk sebagai rig Generic dengan klip dan loop yang diatur dengan cara yang sama. Panduan hewan mencantumkan isi masing-masing tipe.

  • Naga
  • Berkaki empat
  • Berkuku
  • Dinosaurus
  • Laba-laba
  • Ikan
Enam tipe tubuh lainnya, di-rig di afk.ai/rig dan memutar animasinya sendiri.

Apa yang dihitung sebagai rig

Setiap klik Rig yang diterima AFK AI memakai satu jatah rig bulan ini, sama seperti memasang rig di afk.ai/rig atau di plugin AFK AI lainnya. Rig yang gagal tidak dihitung. Stop waiting menghentikan penantian di Unity, tetapi proses rig tetap berjalan dan tetap dihitung. Kalau koneksi terputus, Try again melanjutkan rig yang sama, dan rig itu tidak pernah dihitung dua kali. Kalau jatah kamu habis, jendela menampilkan See plans, yang membuka paket afk.ai.

Kalau ada masalah

Browser tidak bisa membuka halamannya setelah masuk
Pakai I have a sign-in code.
Couldn't reach AFK AI
Cek koneksi kamu, lalu klik Try again. Rig yang sama akan dilanjutkan.
Model terlalu besar
AFK AI menerima model maksimal 50 MB. Ekspor versi yang lebih ringan, dengan poligon lebih sedikit atau tekstur lebih kecil.
"keeps its data in separate files"
File .gltf dengan .bin di sampingnya. Ekspor sebagai .glb saja.
Ada klip yang berulang padahal seharusnya tidak
Pilih Hero_rigged.fbx, buka tab Animation di Inspector, pilih klipnya, ubah Loop Time, lalu klik Apply.
Tidak terjadi apa-apa saat klik Rig
Pilih dulu file .fbx, .glb, atau .gltf di jendela Project. Jendela akan memberi tahu apa yang kurang.

Pertanyaan

Apakah aku masih butuh Mixamo?

Tidak. Plugin memasang rig pada model dan memasukkan animasinya dalam satu langkah, sudah diatur sebagai Humanoid. Kamu tetap bisa memakai animasi Mixamo padanya: download untuk karakter Humanoid mana pun, atur ke Humanoid, dan animasinya akan jalan di karakter kamu.

Apakah package AFK AI ikut masuk ke build game?

Tidak. Semua kodenya ada di assembly khusus editor. Yang tersisa di proyek kamu adalah FBX yang sudah di-rig, aset model biasa.

Apakah bisa dipakai di Unity 6?

Bisa. Package ini berjalan di Unity 2021.3 dan semua versi sesudahnya, termasuk Unity 6.

Bisakah aku memasang rig pada model .glb atau .gltf di Unity?

Bisa. Plugin mengirim file apa adanya, bahkan saat Unity tidak punya importer glTF untuk menampilkannya sebagai model. Hasilnya kembali sebagai FBX, yang bisa diimpor Unity tanpa tambahan apa pun. File .gltf harus memuat semua isinya; kalau tidak, ekspor sebagai .glb.

Apakah rig-nya bisa dipakai untuk avatar VRChat?

Bisa. Manusia yang sudah di-rig berupa Humanoid, lengkap dengan semua jari, dan itulah yang dibutuhkan VRChat. Panduan VRChat membahas sisa setup-nya.

Bagaimana kalau karakternya menghadap ke arah yang salah?

Pasang rig lagi dengan Facing diatur ke sudut putaran model (90°, 180°, atau 270°). Untuk sebagian besar model, Auto sudah bisa mendeteksinya sendiri.

Bisakah aku memasang rig pada satu folder model lewat skrip?

Plugin memasang rig pada satu model setiap kali. Untuk batch dan pipeline build, pakai API rigging, dari command line atau kode kamu sendiri.

Apakah ada plugin untuk Unreal, Godot, atau Blender juga?

Ada: Unreal Engine, Godot, dan Blender punya panduan sendiri, dan gambaran lengkap semua plugin AFK AI membahas kesembilan aplikasinya.

Rig dan animasikan model Anda

AI me-rig model Anda di browser, lalu ratusan animasi bisa diputar di model itu. Unduh satu GLB untuk engine apa pun.

Rig model

Panduan lainnya