GuideTutorial8 min di lettura

Rigging automatico di un personaggio in Unreal Engine 5: Da static mesh a skeletal mesh animata

Fai clic destro su una mesh, scegli Rig with AFK AI e un minuto dopo nella stessa cartella trovi una skeletal mesh con skeleton, physics asset e animazioni.

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
  • …
Disegnato sul modello del plugin, non è uno screenshot: Rig with AFK AI nel menu del clic destro su una mesh, e la skeletal mesh, lo skeleton, il physics asset e le animazioni che aggiunge accanto all’originale.

Unreal Engine sa animare un personaggio in modo splendido, ma non ne crea il rig per te. Una static mesh uscita da un’app di scultura o da un pack del marketplace non ha scheletro né pesi di skinning, quindi di solito si fa un giro lungo: la esporti, crei il rig in Blender o Mixamo, la reimporti come skeletal mesh e poi cerchi animazioni che le vadano bene.

Il plugin AFK AI ti risparmia il giro. Fai clic destro sulla mesh nel Content Browser e scegli Rig with AFK AI. Dopo circa un minuto, nella stessa cartella c’è una skeletal mesh chiamata Hero_rigged con il suo skeleton, il suo physics asset e le sue animazioni, pronta per un Animation Blueprint. Non c’è C++ da compilare, quindi funziona anche nei progetti solo Blueprint.

Cosa ti serve

Unreal Engine
5.1 o successivo, su Windows, Mac o Linux. I progetti solo Blueprint vanno benissimo.
La tua mesh
Una static o skeletal mesh importata da un file .fbx, .glb o .gltf, fino a 50 MB. AFK AI riceve quel file originale.
Un account afk.ai
Gratuito, con Google. Ogni rig consuma uno dei rig mensili del tuo account, come su afk.ai/rig.
Internet
Il rigging avviene sui server di afk.ai.

Installa il plugin

  1. Scarica il plugin dalla pagina del plugin per Unreal Engine e decomprimilo. Ottieni una cartella chiamata AFKAI.
  2. Mettila nella cartella Plugins del progetto, accanto al file .uproject: MyGame/Plugins/AFKAI/AFKAI.uplugin. Crea la cartella Plugins se non c’è.
  3. Apri il progetto, o riavvialo. Il plugin attiva due plugin inclusi in Unreal, Python Editor Script Plugin ed Editor Scripting Utilities. Se Unreal chiede di riavviare, accetta.

Nella barra dei menu dell’editor compare un menu AFK AI. Per averlo invece in tutti i progetti, metti la cartella in Engine/Plugins/Marketplace/AFKAI nella tua installazione di Unreal, poi attivalo progetto per progetto da Edit > Plugins.

Accedi e crea il rig

  1. Scegli AFK AI > Sign in.... Il browser apre afk.ai; accedi con Google, poi torna in Unreal. Ora il menu AFK AI mostra la tua email e quanti rig ti restano questo mese.
  2. Nel Content Browser, fai clic destro sulla mesh e scegli Rig with AFK AI. (Oppure selezionala e scegli AFK AI > Rig the selected mesh....)
  3. Una piccola finestra chiede il Body type (Human, oppure l’animale o la creatura che è), le Animations (All animations, o Rig only per il solo scheletro) e il Facing (lascialo su Auto). Il titolo ricorda che consuma uno dei tuoi rig. Fai clic su OK.
  4. Continua pure a lavorare. Il menu AFK AI mostra l’avanzamento, e così l’Output Log, nelle righe che iniziano con «AFK AI».

Se il browser non riesce a tornare a Unreal (per un firewall, o perché Unreal è su un altro computer), la pagina di afk.ai mostra un codice di accesso. Scegli AFK AI > I have a sign-in code..., incollalo e fai clic su OK.

Cosa ottieni

  • Skeletal Mesh: Hero_rigged, nella stessa cartella dell’originale, già selezionata. La mesh originale resta intatta.
  • Skeleton: fatto per il tipo di corpo. Un umano riceve 66 ossa con tre articolazioni per ogni dito, con i nomi delle ossa del mannequin di Unreal: pelvis, spine_01, clavicle_l, upperarm_l, thigh_l e così via.
  • Physics Asset: creato all’importazione, per ragdoll e collisioni.
  • Animazioni: una Animation Sequence per animazione. Per un umanoide, fino a 593: idle, camminate, corse leggere, scatti, salti, schivate, mosse con spada, scudo, arco e pistola, balli, colpi subiti e morti. Un account gratuito riceve quelle gratuite, e un piano aggiunge le altre.
  • L’FBX: Hero_rigged.fbx, salvato accanto al file sorgente originale, o nella cartella Saved/AFK AI del progetto se lì non si può scrivere. Se rifai il rig ottieni Hero_rigged_2: niente viene sovrascritto.

Come per ogni importazione, i nuovi asset non vengono salvati su disco finché non li salvi tu: File > Save All.

Il personaggio anime in T-pose con i joint posizionati da afk.ai mostrati come punti, fino alle dita
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 ... (uguale a destra)    └ thigh_l      └ calf_l        └ foot_l          └ ball_l    └ thigh_r ... (uguale a destra)
Lo scheletro umanoide che riceve ogni rig di afk.ai: 66 ossa, con tre joint in ogni dito e nel pollice, con gli stessi nomi del manichino di Unreal Engine.

Guardalo muoversi, senza codice

Trascina Hero_rigged nel livello. Nel suo pannello Details, in Animation, imposta Animation Mode su Use Animation Asset, scegli un’animazione in Anim to Play (per esempio Walk) e lascia attivo Looping. Premi Play, o guardalo semplicemente nel viewport.

Per controllare in fretta ogni animazione, fai doppio clic su una qualsiasi delle Animation Sequence: si apre l’editor di animazione e la riproduce sul personaggio.

Un Animation Blueprint per il personaggio giocante

Il setup classico: idle da fermo, camminata, poi corsa leggera man mano che il personaggio accelera.

  1. Fai clic destro su Hero_rigged e scegli Create > Anim Blueprint. Chiamalo ABP_Hero.
  2. Nel suo Event Graph, aggiungi una variabile float chiamata Speed. Da Event Blueprint Update Animation, chiama Try Get Pawn Owner, verificalo con Is Valid, poi Get Velocity, poi Vector Length XY, e assegna il risultato a Speed.
  3. Nell’AnimGraph, fai clic destro, scegli Add New State Machine, chiamala Locomotion e collegala a Output Pose.
  4. Al suo interno, crea tre stati, Idle, Walk e Jog, e trascina in ciascuno le animazioni Idle_A, Walk e Jog dall’Asset Browser, collegate alla sua Output Animation Pose.
  5. Traccia le transizioni in entrambe le direzioni tra gli stati, con regole su Speed in centimetri al secondo: da Idle a Walk quando Speed > 10, da Walk a Jog quando Speed > 300, e all’indietro quando scende sotto.
  6. Nel Character Blueprint, seleziona il componente Mesh, imposta Skeletal Mesh Asset su Hero_rigged e Anim Class su ABP_Hero. Abbassalo fino al fondo della capsula e giralo verso la freccia blu, come il mannequin del template.

Preferisci partire dal C++? La stessa idea, ridotta all’osso: riprodurre un’animazione in loop all’avvio del gioco.

// 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
Schema della state machine Locomotion. Ogni stato riproduce un’animazione, e Speed, in centimetri al secondo, passa dall’uno all’altro.

Root motion, con un po’ di Python

Alcune animazioni fanno avanzare il personaggio da sole: il loro nome finisce in _RM, come Roll_RM, Dodge_left_RM o Sword_Dash_RM. Le altre si riproducono sul posto. Unreal richiede di attivare il root motion animazione per animazione, e il plugin ha già attivato il Python di Unreal, quindi bastano poche righe per farlo su tutte in un colpo. Incolla questo nella riga di comando dell’Output Log, passata da Cmd a 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())

Poi, nei Class Defaults di ABP_Hero, imposta Root Motion Mode su Root Motion from Everything se le riproduci nella state machine, oppure riproducile come montage.

Retargeting da e verso il mannequin di UE5

Le ossa dello scheletro prendono i nomi da quelle del mannequin, quindi il retargeter di Unreal le abbina con poco o nessun aiuto. Funziona in entrambe le direzioni: le animazioni del template Third Person sul tuo personaggio, o le animazioni di afk.ai su Manny e Quinn.

In Unreal 5.4 e successivi:

  1. Fai clic destro su un’animazione, per esempio una del template, e scegli Retarget Animations (Retarget Animation Assets nelle versioni più recenti).
  2. Imposta Target Preview Mesh su Hero_rigged. La sorgente è la mesh con cui è arrivata l’animazione.
  3. Lascia attivo Auto Generate Retargeter: Unreal crea da solo gli IK Rig e l’IK Retargeter.
  4. Spunta le animazioni che vuoi, fai clic su Export Animations, scegli una cartella e fai clic su Export.

Inverti sorgente e destinazione per mettere le animazioni di Hero_rigged sul mannequin. Dalla 5.1 alla 5.3, crea un IK Rig per ogni scheletro e un IK Retargeter tra i due, poi usa Export Selected Animations del retargeter. In entrambi i casi, guarda qualche risultato prima di farci affidamento, soprattutto le mani.

Creature e oggetti di scena

Lo stesso clic destro crea il rig di un drago, un cavallo, un dinosauro, un ragno o uno squalo: scegli il suo tipo di corpo nella finestra delle opzioni. Ognuno riceve uno scheletro fatto per il suo corpo e animazioni fatte per quello scheletro, come battere le ali, galoppare, ruggire o nuotare, quindi la fauna di un gioco open world non ha bisogno di un rigger. Gli oggetti di scena usano il tipo Object: rimbalzi, rotazioni, oscillazioni e schiacciamenti per oggetti raccoglibili e porte. La guida agli animali elenca ogni tipo di corpo e le sue animazioni.

  • Drago
  • Quadrupede
  • Ungulato
  • Dinosauro
  • Ragno
  • Pesce
Sei degli altri tipi di corpo, riggati su afk.ai/rig, ognuno con le sue animazioni.

Cosa conta come rig

Ogni rig che arriva ad AFK AI consuma uno dei rig di questo mese, come su afk.ai/rig e negli altri plugin AFK AI. Stop waiting interrompe solo l’attesa di Unreal: il rig prosegue e viene comunque conteggiato. Un rig non riuscito non viene conteggiato, e il messaggio spiega perché. Il menu AFK AI mostra quanti rig restano; quando sono finiti, See plans apre i piani di afk.ai.

Quando qualcosa va storto

Nessun menu AFK AI
In Edit > Plugins, controlla che AFK AI e Python Editor Script Plugin siano attivi, poi riavvia. Se c’è un altro problema, l’Output Log dice «AFK AI couldn't start» con il motivo.
«has no source file recorded»
O «was imported from a .obj file»: AFK AI ha bisogno del .fbx, .glb o .gltf originale. Esporta il modello in uno di questi formati, importalo e crea il rig di quello.
«Couldn't find Hero's source file»
Il file è stato spostato dopo l’importazione. Fai clic destro sulla mesh, scegli Reimport With New File, seleziona il file dove si trova ora e rifai il rig.
«Unreal didn't import it as a skeletal mesh»
Il rig è riuscito, e l’FBX è salvato dove indica il messaggio. Trascinalo nel Content Browser e importalo come Skeletal Mesh con le sue animazioni. Può succedere con il nuovo importer di Unreal 5.5 e successivi.
«Couldn't make a secure connection to AFK AI»
C’è di mezzo un proxy, un antivirus o il firewall aziendale. Prova un’altra rete.
Il rig non è riuscito
Leggi il messaggio. Di solito basta un altro tipo di corpo, oppure il modello in piedi e rivolto in avanti.

Domande frequenti

Unreal Engine 5 può fare da solo il rigging automatico di un personaggio?

Non di una static mesh. Unreal può fare il retargeting delle animazioni tra scheletri già esistenti e ha strumenti per costruire e modificare scheletri a mano, ma niente che crei il rig di una mesh al posto tuo. Il plugin AFK AI si occupa di questa parte: trasforma la static mesh in una skeletal mesh con pesi di skinning e animazioni, e da lì prosegue Unreal.

Mi servono C++ o Visual Studio?

No. Il plugin è in Python, eseguito direttamente da Unreal, senza niente da compilare, quindi funziona nei progetti solo Blueprint. Il C++ qui sopra serve solo ai progetti che già lo usano.

In quali versioni di Unreal Engine funziona?

Unreal Engine 5.1 e successivi, su Windows, Mac e Linux.

Posso creare il rig di un modello importato da un .obj?

Non direttamente: il plugin invia il file sorgente originale della mesh, e accetta .fbx, .glb o .gltf. Esporta il modello in uno di questi formati dalla tua app 3D, importalo e creane il rig.

Funziona con le animazioni del mannequin di UE5?

Sì. Le ossa prendono i nomi da quelle del mannequin, quindi il retargeter le abbina con poca o nessuna configurazione, in entrambe le direzioni. Vedi «Retargeting da e verso il mannequin di UE5» più sopra.

Posso usare il personaggio con rig in un gioco che vendo?

Sì. Scheletri e animazioni sono CC0, e il tuo modello resta tuo.

Dov’è il file con rig, se lo voglio in un’altra app?

Hero_rigged.fbx viene salvato accanto al file sorgente originale, o nella cartella Saved/AFK AI del progetto. Si apre in Blender, Maya e qualsiasi app che legga FBX, animazioni comprese.

Esiste un plugin anche per Unity o Blender?

Sì. Vedi le guide per Unity e Blender, e la panoramica di tutti i plugin AFK AI per tutte e nove le app.

Rigga e anima il tuo modello

Un'AI lo rigga nel tuo browser, poi lo vedi muoversi con centinaia di animazioni. Scarica un unico GLB per qualsiasi engine.

Rigga un modello

Altre guide