PanduanTutorial6 menit baca
Pasang rig dan animasikan karakter 3D di Godot 4: Add-on AFK AI, AnimationPlayer, dan AnimationTree
Klik model di dock FileSystem, klik Rig, dan sekitar satu menit kemudian GLB yang sudah di-rig beserta animasinya ada di sampingnya, dengan animasi jalan dan idle yang sudah berulang.
Signed in as you@example.comSign out
3 of 3 rigs left this month.
Model: hero.glb
Body typeHuman
AnimationsAll animations
FacingAuto
RigRigging...Cancel
- hero_riggedNode3D
- └Skeleton3DSkeleton3D
- └HeroMeshInstance3D
- └AnimationPlayerAnimationPlayer
- └Idle_Aloop ⟳
- └Walkloop ⟳
- └Jogloop ⟳
- └Sprintloop ⟳
- └…
Godot jago memutar animasi tetapi tidak punya cara untuk membuat rig. Jadi karakter biasanya harus bolak-balik: ekspor, pasang rig di Blender (atau Mixamo, hanya untuk humanoid), cari animasi, ekspor GLB, lalu atur ulang setiap animasi yang berulang agar loop setelah diimpor.
Add-on AFK AI menyelesaikan bolak-balik itu dari sebuah dock di editor Godot. Klik model kamu di dock FileSystem, lalu Rig. Sekitar satu menit kemudian hero_rigged.glb tersimpan di samping hero.glb, dengan kerangka yang dibuat untuk tubuhnya, skin weights, dan animasinya di AnimationPlayer. Idle, jalan, dan lari sudah diatur loop.
Yang kamu butuhkan
- Godot
- 4.2 atau yang lebih baru, build standar maupun build .NET.
- Model kamu
- File
.glb,.gltf, atau.fbxdi proyek kamu, maksimal 50 MB. File.gltfharus memuat semuanya dalam satu file; kalau ada.bindi sampingnya, ekspor sebagai.glbsaja. - Akun afk.ai
- Gratis, dengan Google. Setiap rig memakai satu jatah rig bulanan akun kamu, sama seperti di afk.ai/rig.
- Internet
- Rigging berjalan di server afk.ai. Hanya file model yang kamu pilih yang dikirim.
Instal add-on
- Download add-on dari halaman plugin Godot.
- Salin folder
addons/afk_aidi dalamnya ke folderaddonsproyek kamu. Buat folderaddonskalau proyek kamu belum punya. - Buka Project > Project Settings > Plugins lalu centang Enable di samping AFK AI.
Dock AFK AI muncul di sebelah kanan, di samping Inspector.
Pasang rig pada model
- Masuk. Klik Sign in di dock AFK AI. Browser kamu membuka afk.ai; masuk dengan Google di sana. Dock menampilkan email kamu dan sisa jatah rig kamu bulan ini. Kalau browser tidak bisa kembali ke Godot, browser akan menampilkan kode masuk: tempel di bawah I have a sign-in code lalu klik Use.
- Pilih modelnya. Di dock FileSystem, klik file model itu.
- Pilih opsinya. Body type: Human untuk manusia dan apa pun yang berjalan dengan dua kaki, atau sesuai jenis hewan atau makhluknya. Animations: All animations, atau Rig only untuk kerangkanya saja. Facing: biarkan di Auto.
- Klik Rig. Dock menampilkan apa yang sedang terjadi: upload, menunggu, rigging, download. Sementara itu kamu bisa tetap bekerja.
Setelah selesai, hero_rigged.glb disimpan di samping hero.glb, sudah diimpor dan terpilih. File aslinya tidak disentuh. Pasang rig lagi pada model yang sama dan kamu akan mendapat hero_rigged_2.glb, jadi tidak ada yang ditimpa.
Isi GLB yang sudah di-rig
Seret hero_rigged.glb ke scene untuk memakainya: file itu masuk sebagai satu node dengan semua isinya di bawahnya.
- Skeleton3D
- Kerangka yang dibuat untuk tipe tubuh itu, dengan mesh kamu sudah di-skin padanya. Manusia mendapat 66 bone, termasuk semua jari, dengan nama pelvis, spine_01, hand_r, foot_l, dan seterusnya.
- AnimationPlayer
- Setiap animasi, dengan namanya sendiri. Untuk humanoid, hingga 593: Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, Dance_Groove, dan ratusan lainnya. Akun gratis mendapat animasi yang gratis, dan paket menambahkan sisanya.
- Loop
- Idle, jalan, lari, terbang, dan berenang sudah berulang. Add-on menuliskannya ke pengaturan impor file sebelum Godot mengimpornya.
- Arah hadap
- Karakter menghadap +Z, seperti model glTF pada umumnya.
Putar animasi dengan AnimationPlayer
Karakter pemain paling sederhana: CharacterBody3D dengan CollisionShape3D (kapsul), dan model yang sudah di-rig diseret ke bawahnya lalu diganti namanya menjadi Hero. Pasang skrip ini ke CharacterBody3D:
extends CharacterBody3D
const SPEED := 4.0
var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
@onready var hero: Node3D = $Hero
@onready var anim: AnimationPlayer = $Hero/AnimationPlayer
func _physics_process(delta: float) -> void:
var input := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
var direction := Vector3(input.x, 0.0, input.y)
velocity.x = direction.x * SPEED
velocity.z = direction.z * SPEED
if not is_on_floor():
velocity.y -= gravity * delta
move_and_slide()
if direction.length() > 0.1:
# the model faces +Z: turn that toward where it's going
hero.rotation.y = lerp_angle(hero.rotation.y, atan2(direction.x, direction.z), 10.0 * delta)
anim.play("Jog", 0.2) # 0.2 s blend from whatever was playing
else:
anim.play("Idle_A", 0.2)Jalankan, dan tombol panah membuat karakter jog ke mana-mana, lalu perlahan kembali ke idle saat tombol dilepas. Memanggil play dengan animasi yang sedang diputar akan melanjutkannya, jadi aman dipanggil di setiap frame.
Padukan dengan AnimationTree
AnimationTree memadukan animasi berdasarkan kecepatan dan menangani gerakan sekali jalan seperti serangan. Atur sekali di editor:
- Tambahkan node AnimationTree ke karakter. Di Inspector, atur Anim Player ke
Hero/AnimationPlayerdan Tree Root ke AnimationNodeStateMachine baru. - Di panel AnimationTree di bagian bawah, klik kanan lalu tambahkan BlendSpace1D. Beri nama
Locomotion, buka, lalu tambahkan tiga titik: Idle_A di 0, Walk di 1.5, dan Jog di 4 (atur Max Space-nya ke 4). - Klik kanan lagi lalu tambahkan animasi Sword_Attack. Hubungkan Start ke Locomotion, Locomotion ke Sword_Attack, dan Sword_Attack kembali ke Locomotion dengan Switch Mode diatur ke At End dan Advance Mode ke Auto.
- Di Project > Project Settings > Input Map, tambahkan action bernama
attacklalu beri tombol.
Lalu, di skrip yang sama, hapus kedua baris anim.play dan kendalikan tree-nya:
@onready var tree: AnimationTree = $AnimationTree
@onready var playback: AnimationNodeStateMachinePlayback = tree.get("parameters/playback")
func _process(_delta: float) -> void:
tree.set("parameters/Locomotion/blend_position", Vector2(velocity.x, velocity.z).length())
if Input.is_action_just_pressed("attack"):
playback.travel("Sword_Attack")
Selama AnimationTree aktif, dialah yang memutar animasi, jadi jangan panggil play milik AnimationPlayer juga.
Pegang pedang, ubah loop
Untuk menaruh sesuatu di tangan karakter, pilih Skeleton3D-nya, tambahkan BoneAttachment3D di bawahnya, atur Bone Name ke hand_r, lalu taruh pedang di bawah attachment itu. Pedang akan mengikuti tangan di setiap animasi.
Untuk mengubah animasi mana yang berulang, klik dua kali hero_rigged.glb di dock FileSystem untuk membuka Advanced Import Settings. Pilih animasinya di bawah AnimationPlayer di sebelah kiri, ubah Loop Mode, lalu klik Reimport.
Hewan, makhluk, dan prop
Pilih tipe tubuh di dock 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. Masing-masing mendapat kerangka yang dibuat untuk tubuhnya dan animasi yang dibuat untuknya: berderap, mengepakkan sayap, mengaum, berenang, melata. Semuanya diputar dengan cara yang sama, dengan AnimationPlayer dan AnimationTree yang sama. Setiap model yang di-rig dengan tipe tubuh yang sama punya nama bone dan animasi yang sama, jadi AnimationTree satu serigala bisa dipakai untuk semua serigala. Panduan hewan mencantumkan animasi setiap tipe.
- Naga
- Berkaki empat
- Berkuku
- Dinosaurus
- Laba-laba
- Ikan
Apa yang dihitung sebagai rig
Setiap rig yang sampai ke AFK AI memakai satu jatah rig bulan ini, sama seperti di afk.ai/rig dan di plugin AFK AI lainnya. Cancel menghentikan penantian, bukan proses rig-nya, yang tetap dihitung. Rig yang gagal tidak dihitung. Kalau jatah rig kamu habis, dock memberi tahu dan menampilkan See plans, yang membuka paket afk.ai.
Pertanyaan
Apakah Godot punya auto-rigger bawaan?
Tidak. Godot mengimpor kerangka dan animasi yang sudah ada, dan fitur retargeting-nya memetakan satu kerangka humanoid ke kerangka lain, tetapi tidak bisa memasang rig pada mesh. Add-on AFK AI mengerjakan bagian itu, lalu menyerahkan GLB biasa ke Godot.
Apakah bisa dipakai di Godot 3?
Tidak. Add-on ini butuh Godot 4.2 atau yang lebih baru. Dengan Godot 3, pasang rig pada model di afk.ai/rig lalu impor GLB hasil download-nya.
Bisakah dipakai di proyek C#?
Bisa. Add-on ini ditulis dalam GDScript, yang juga dijalankan oleh build .NET Godot, dan GLB hasil rig-nya sama saja di keduanya. Di C#, putar animasi dengan GetNode<AnimationPlayer>("Hero/AnimationPlayer").Play("Jog", 0.2);.
Kenapa GLB dan bukan FBX?
GLB adalah format yang paling baik diimpor Godot: kerangka, skin weights, dan setiap animasi masuk apa adanya, di semua versi Godot 4. File asli kamu boleh FBX; yang kembali adalah GLB.
Apakah add-on ikut masuk ke game yang aku ekspor?
Yang dipakai game kamu adalah GLB yang sudah di-rig. Add-on-nya sendiri hanya bekerja di editor; untuk mengeluarkan file-filenya dari hasil ekspor, kecualikan addons/afk_ai/* di tab Resources pada export preset.
Bisakah aku memasang rig pada beberapa model sekaligus?
Satu per satu, sekitar satu menit masing-masing. Untuk memasang rig pada satu folder penuh lewat skrip, pakai API rigging: hasilnya GLB yang sama.
Bisakah karakter yang sudah di-rig dipakai di game komersial?
Bisa. Kerangka dan animasinya berlisensi CC0, dan model kamu tetap milik kamu.
Apakah ada plugin AFK AI untuk Blender, Unity, atau Unreal juga?
Ada. Lihat panduan untuk Blender, Unity, dan Unreal Engine, serta gambaran lengkap semua plugin AFK AI untuk 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.
Panduan lainnya
Tutorial
Rigging otomatis karakter di Blender: add-on AFK AI gratis
Pilih model kamu, klik Rig, dan sekitar satu menit kemudian salinan yang sudah di-rig beserta animasinya berdiri di sampingnya, di Blender 4.2 dan yang lebih baru.
Tutorial
Rigging otomatis karakter di Unreal Engine 5: dari static mesh menjadi skeletal mesh beranimasi
Klik kanan sebuah mesh, pilih Rig with AFK AI, dan semenit kemudian skeletal mesh beserta kerangka, physics asset, dan animasinya ada di folder yang sama.
Tutorial
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.