RehberlerNasıl yapılır8 dk okuma

Unreal Engine 5'te bir karakteri otomatik rigle: Static mesh'ten animasyonlu skeletal mesh'e

Bir mesh'e sağ tıkla, Rig with AFK AI'ı seç; bir dakika sonra iskeleti, physics asset'i ve animasyonlarıyla bir skeletal mesh aynı klasörde olsun.

Content Browser › Hero

Hero · Static Mesh

AFK AI

Rig with AFK AI

Edit… · Duplicate · Rename …

Content Browser › /Game/Characters
  • HeroStatic Mesh
  • Hero_riggedSkeletal Mesh
  • Hero_rigged_SkeletonSkeleton
  • Hero_rigged_PhysicsAssetPhysics Asset
  • …_Idle_AAnimation Sequence
  • …_WalkAnimation Sequence
  • …_JogAnimation Sequence
  • …
Ekran görüntüsü değil, eklentiye bakılarak çizildi: bir mesh'in sağ tık menüsünde Rig with AFK AI ve eklentinin orijinalin yanına eklediği skeletal mesh, iskelet, physics asset ve animasyonlar.

Unreal Engine bir karakteri harika canlandırabilir, ama onu senin için riglemez. Bir sculpt uygulamasından ya da bir marketplace paketinden gelen static mesh'in ne iskeleti ne de kemik ağırlıkları vardır; bu yüzden olağan yol bir dolambaçtır: dışa aktar, Blender'da ya da Mixamo'da rigle, skeletal mesh olarak geri içe aktar, sonra uyan animasyonlar bul.

AFK AI eklentisi bu dolambacı ortadan kaldırır. Content Browser'da mesh'e sağ tıkla ve Rig with AFK AI seçeneğini seç. Yaklaşık bir dakika sonra aynı klasörde Hero_rigged adlı bir skeletal mesh durur: iskeleti, physics asset'i ve animasyonlarıyla, bir Animation Blueprint'e hazır. Derlenecek C++ olmadığı için yalnızca Blueprint kullanan projelerde de çalışır.

Neye ihtiyacın var

Unreal Engine
Windows, Mac ya da Linux üzerinde 5.1 veya sonrası. Yalnızca Blueprint kullanan projeler de olur.
Mesh'in
Bir .fbx, .glb ya da .gltf dosyasından içe aktarılmış, en fazla 50 MB'lık bir static ya da skeletal mesh. AFK AI o orijinal dosyayı alır.
Bir afk.ai hesabı
Ücretsiz, Google ile. Her rigleme, afk.ai/rig üzerinde olduğu gibi hesabının o ayki rigleme haklarından birini kullanır.
İnternet
Rigleme afk.ai'nin sunucularında yapılır.

Eklentiyi kur

  1. Eklentiyi Unreal Engine eklentisi sayfasından indir ve zip'i aç. AFKAI adlı bir klasör elde edersin.
  2. Bu klasörü projenin Plugins klasörüne, .uproject dosyasının yanına koy: MyGame/Plugins/AFKAI/AFKAI.uplugin. Plugins klasörü yoksa oluştur.
  3. Projeyi aç ya da yeniden başlat. Eklenti, Unreal ile birlikte gelen iki eklentiyi açar: Python Editor Script Plugin ve Editor Scripting Utilities. Unreal yeniden başlatmak isterse onayla.

Editörün menü çubuğunda bir AFK AI menüsü belirir. Bunun yerine her projede olmasını istersen klasörü Unreal kurulumundaki Engine/Plugins/Marketplace/AFKAI içine koy, sonra her projede Edit > Plugins üzerinden aç.

Giriş yap ve rigle

  1. AFK AI > Sign in... komutunu seç. Tarayıcında afk.ai açılır; Google ile giriş yap, sonra Unreal'a dön. AFK AI menüsü artık e-posta adresini ve bu ay kaç rigleme hakkın kaldığını gösterir.
  2. Content Browser'da mesh'e sağ tıkla ve Rig with AFK AI seçeneğini seç. (Ya da mesh'i seçip AFK AI > Rig the selected mesh... komutunu seç.)
  3. Küçük bir pencere Body type (Human ya da hangi hayvan veya yaratıksa o), Animations (All animations ya da yalnızca iskelet için Rig only) ve Facing (Auto olarak bırak) ayarlarını sorar. Başlığı, bir rigleme hakkı kullanacağını söyler. OK düğmesine tıkla.
  4. Çalışmaya devam et. İlerlemeyi AFK AI menüsü ve Output Log'daki “AFK AI” ile başlayan satırlar gösterir.

Tarayıcı Unreal'a geri dönemezse (bir güvenlik duvarı varsa ya da Unreal başka bir bilgisayardaysa) afk.ai sayfası bir giriş kodu gösterir. AFK AI > I have a sign-in code... komutunu seç, kodu yapıştır ve OK düğmesine tıkla.

Ne alırsın

  • Skeletal Mesh: Hero_rigged, orijinalle aynı klasörde, senin için seçili halde. Orijinal mesh'e dokunulmaz.
  • Skeleton: gövde tipine göre yapılmıştır. Bir insan, her parmakta üç eklemle 66 kemik alır; kemikler Unreal'ın kendi mannequin kemiklerine göre adlandırılır: pelvis, spine_01, clavicle_l, upperarm_l, thigh_l ve diğerleri.
  • Physics Asset: içe aktarma sırasında, ragdoll ve çarpışma için oluşturulur.
  • Animasyonlar: her animasyon için bir Animation Sequence. Bir insansı için en fazla 593 animasyon: bekleme, yürüme, hafif koşu, depar, zıplama, kaçınma, kılıç, kalkan, yay ve tabanca hareketleri, danslar, darbe alma ve ölüm animasyonları. Ücretsiz hesap ücretsiz animasyonları alır, bir plan ise geri kalanını ekler.
  • FBX: Hero_rigged.fbx, orijinal kaynak dosyanın yanına ya da oraya yazılamıyorsa projenin Saved/AFK AI klasörüne kaydedilir. Yeniden riglersen Hero_rigged_2 elde edersin: hiçbir şeyin üzerine yazılmaz.

Her içe aktarmada olduğu gibi yeni asset'ler sen kaydedene kadar diske yazılmaz: File > Save All.

T-pozdaki anime karakter; afk.ai'nin yerleştirdiği eklemler, parmaklara kadar noktalarla gösterilmiş
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 ... (sağda da aynı)    └ thigh_l      └ calf_l        └ foot_l          └ ball_l    └ thigh_r ... (sağda da aynı)
Her afk.ai riginin aldığı insansı iskelet: 66 kemik, her parmakta ve başparmakta üç eklem; adları Unreal Engine'in mannequin'indeki gibi.

Kod yazmadan hareket ettiğini gör

Hero_rigged'i level'a sürükle. Details panelinde, Animation altında Animation Mode ayarını Use Animation Asset yap, Anim to Play içinden bir animasyon seç (örneğin Walk) ve Looping açık kalsın. Play'e bas ya da doğrudan viewport'ta izle.

Tüm animasyonları hızlıca kontrol etmek için Animation Sequence'lerden herhangi birine çift tıkla: animasyon editörü açılır ve animasyonu karakterin üzerinde oynatır.

Oyuncu karakteri için bir Animation Blueprint

Klasik kurulum: dururken bekleme, karakter hızlandıkça önce yürüme, sonra hafif koşu.

  1. Hero_rigged'e sağ tıkla ve Create > Anim Blueprint seçeneğini seç. Adını ABP_Hero koy.
  2. Event Graph içinde Speed adlı bir float değişkeni ekle. Event Blueprint Update Animation düğümünden Try Get Pawn Owner'ı çağır, Is Valid ile kontrol et, ardından Get Velocity, sonra Vector Length XY düğümünü bağla ve Speed değerini buna eşitle.
  3. AnimGraph içinde sağ tıkla ve Add New State Machine seçeneğini seç, adını Locomotion koy ve onu Output Pose'a bağla.
  4. İçinde üç state oluştur: Idle, Walk ve Jog. Asset Browser'dan Idle_A, Walk ve Jog animasyonlarını her birine sürükleyip Output Animation Pose'a bağla.
  5. Aralarında iki yönlü geçişler çiz; kurallar saniyede santimetre cinsinden Speed üzerinden olsun: Speed > 10 olduğunda Idle'dan Walk'a, Speed > 300 olduğunda Walk'tan Jog'a, değer bunların altına düştüğünde de geri.
  6. Character Blueprint'inde Mesh bileşenini seç, Skeletal Mesh Asset ayarını Hero_rigged, Anim Class ayarını ABP_Hero yap. Template'teki mannequin gibi onu kapsülün altına indir ve mavi oka bakacak şekilde döndür.

C++'tan başlamayı mı tercih edersin? Aynı fikir, en sade haliyle: oyun başladığında döngülü tek bir animasyon oynat.

// 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);
    }
}
EntryIdle_A↓ Speed > 10↑ Speed < 10Walk↓ Speed > 300↑ Speed < 300Jog
Çizim: Locomotion state machine'i. Her durum tek bir animasyon oynatır; saniyede santimetre cinsinden Speed, durumlar arasında geçişi sağlar.

Biraz Python ile root motion

Bazı animasyonlar karakteri kendileri ileri taşır: adları _RM ile biter, örneğin Roll_RM, Dodge_left_RM ya da Sword_Dash_RM. Geri kalanlar yerinde oynar. Unreal'da root motion'ın her animasyon için ayrı ayrı açılması gerekir; eklenti Unreal'ın Python'unu zaten açtığı için birkaç satır hepsini tek seferde halleder. Bunu, Cmd'den Python'a geçirdiğin Output Log komut satırına yapıştır:

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())

Ardından, animasyonları state machine içinde oynatıyorsan ABP_Hero'nun Class Defaults ayarlarında Root Motion Mode değerini Root Motion from Everything yap; ya da onları montage olarak oynat.

UE5 mannequin'ine ve mannequin'inden animasyon aktarımı

İskeletin kemikleri mannequin'inkilere göre adlandırıldığı için Unreal'ın retargeter'ı onları çok az yardımla ya da hiç yardım almadan eşleştirir. Bu iki yönlü çalışır: Third Person template'inin animasyonlarını senin karakterinde ya da afk.ai'nin animasyonlarını Manny ve Quinn'de kullanabilirsin.

Unreal 5.4 ve sonrasında:

  1. Bir animasyona, örneğin template'inkilerden birine, sağ tıkla ve Retarget Animations seçeneğini seç (en yeni sürümlerde Retarget Animation Assets).
  2. Target Preview Mesh ayarını Hero_rigged yap. Kaynak, animasyonun birlikte geldiği mesh'tir.
  3. Auto Generate Retargeter açık kalsın: IK Rig'leri ve IK Retargeter'ı Unreal kendisi oluşturur.
  4. İstediğin animasyonları işaretle, Export Animations düğmesine tıkla, bir klasör seç ve Export düğmesine tıkla.

Hero_rigged'in animasyonlarını mannequin'e aktarmak için kaynakla hedefi yer değiştir. 5.1–5.3 sürümlerinde her iskelet için bir IK Rig ve aralarında bir IK Retargeter oluştur, sonra retargeter'ın Export Selected Animations seçeneğini kullan. Her iki durumda da sonuçlara güvenmeden önce birkaçını oynatıp kontrol et, özellikle elleri.

Yaratıklar ve objeler

Aynı sağ tık bir ejderhayı, atı, dinozoru, örümceği ya da köpekbalığını da rigler: seçenekler penceresinde gövde tipini seçmen yeterli. Her biri kendi gövdesine göre yapılmış bir iskelet ve o iskelete göre yapılmış kanat çırpma, dörtnala koşma, kükreme ya da yüzme gibi animasyonlar alır; böylece açık dünya oyununun vahşi yaşamı için bir rigging uzmanına gerek kalmaz. Objeler Object tipini alır: toplanabilir eşyalar ve kapılar için zıplama, dönme, sallanma ve ezilme animasyonları. Hayvan rehberi tüm gövde tiplerini ve animasyonlarını listeler.

  • Ejderha
  • Dört ayaklı
  • Toynaklı
  • Dinozor
  • Örümcek
  • Balık
Diğer vücut tiplerinden altısı, afk.ai/rig'de riglenmiş ve kendi animasyonlarını oynatıyor.

Ne rigleme sayılır

AFK AI'a ulaşan her rigleme, afk.ai/rig üzerinde ve diğer AFK AI eklentilerinde olduğu gibi bu ayın rigleme haklarından birini kullanır. Stop waiting yalnızca Unreal'ın beklemesini durdurur: rigleme devam eder ve yine sayılır. Başarısız bir rigleme sayılmaz ve mesaj nedenini söyler. AFK AI menüsü kaç rigleme hakkın kaldığını gösterir; hiç kalmadığında See plans, afk.ai planlarını açar.

Bir şeyler ters giderse

AFK AI menüsü yok
Edit > Plugins içinde AFK AI ve Python Editor Script Plugin eklentilerinin açık olduğunu kontrol et, sonra yeniden başlat. Başka bir sorun varsa Output Log nedeniyle birlikte “AFK AI couldn't start” der.
“has no source file recorded”
Ya da “was imported from a .obj file”: AFK AI'ın orijinal .fbx, .glb ya da .gltf dosyasına ihtiyacı var. Modeli bunlardan biri olarak dışa aktar, içe aktar ve onu rigle.
“Couldn't find Hero's source file”
Dosya içe aktarıldıktan sonra taşınmış. Mesh'e sağ tıkla, Reimport With New File seçeneğini seç, dosyayı şu anki yerinden göster ve yeniden rigle.
“Unreal didn't import it as a skeletal mesh”
Rigleme başarılı oldu ve FBX, mesajın söylediği yere kaydedildi. Onu Content Browser'a sürükle ve animasyonlarıyla birlikte Skeletal Mesh olarak içe aktar. Bu, Unreal 5.5 ve sonrasındaki yeni içe aktarıcıyla olabilir.
“Couldn't make a secure connection to AFK AI”
Araya bir proxy, antivirüs ya da şirket güvenlik duvarı giriyor. Başka bir ağ dene.
Rigleme başarısız oldu
Mesajı oku. Genellikle başka bir gövde tipi seçmek ya da modeli dik ve öne bakar halde göndermek sorunu çözer.

Sorular

Unreal Engine 5 bir karakteri kendi başına otomatik rigleyebilir mi?

Bir static mesh'i rigleyemez. Unreal, zaten var olan iskeletler arasında animasyon aktarabilir ve iskeletleri elle kurup düzenlemek için araçları var, ama bir mesh'i senin için rigleyen bir şey yok. AFK AI eklentisi bu kısmı yapar: static mesh'i kemik ağırlıkları ve animasyonlarıyla bir skeletal mesh'e dönüştürür, gerisini Unreal halleder.

C++ ya da Visual Studio gerekiyor mu?

Hayır. Eklenti, Unreal'ın kendisinin çalıştırdığı Python'dur ve derlenecek bir şey yoktur; bu yüzden yalnızca Blueprint kullanan projelerde de çalışır. Yukarıdaki C++ yalnızca zaten C++ kullanan projeler içindir.

Hangi Unreal Engine sürümlerinde çalışır?

Windows, Mac ve Linux üzerinde Unreal Engine 5.1 ve sonrasında.

.obj'den içe aktardığım bir modeli rigleyebilir miyim?

Doğrudan rigleyemezsin: eklenti mesh'in orijinal kaynak dosyasını gönderir ve .fbx, .glb ya da .gltf kabul eder. Modeli 3D uygulamandan bunlardan birine dışa aktar, onu içe aktar ve rigle.

UE5 mannequin'inin animasyonlarıyla çalışır mı?

Evet. Kemikler mannequin'inkilere göre adlandırıldığı için retargeter onları çok az ayarla ya da hiç ayar yapmadan, iki yönde de eşleştirir. Yukarıdaki “UE5 mannequin'ine ve mannequin'inden animasyon aktarımı” bölümüne bak.

Rigli karakteri sattığım bir oyunda kullanabilir miyim?

Evet. İskeletler ve animasyonlar CC0 lisanslıdır, modelin ise sana ait kalır.

Başka bir uygulamada kullanmak istersem rigli dosya nerede?

Hero_rigged.fbx, orijinal kaynak dosyanın yanına ya da projenin Saved/AFK AI klasörüne kaydedilir. Blender'da, Maya'da ve FBX okuyan her uygulamada animasyonlarıyla birlikte açılır.

Unity ya da Blender için de eklenti var mı?

Evet. Unity ve Blender rehberlerine, dokuz uygulamanın hepsi için de tüm AFK AI eklentilerine genel bakışa göz at.

Modelini rigle ve canlandır

Bir yapay zekâ onu tarayıcında rigler, sonra üzerinde yüzlerce animasyon oynar. Her oyun motoru için tek bir GLB indir.

Model rigle

Diğer rehberler