GuíasTutorial8 min de lectura

Rigging automático de un personaje en Unreal Engine 5: De static mesh a skeletal mesh animado

Haz clic derecho en una malla, elige Rig with AFK AI y, un minuto después, tendrás en la misma carpeta un skeletal mesh con su esqueleto, su physics asset y sus animaciones.

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
  • …
Esquema basado en el plugin, no una captura de pantalla: Rig with AFK AI en el menú contextual de una malla y el skeletal mesh, el esqueleto, el physics asset y las animaciones que añade junto al original.

Unreal Engine anima personajes de maravilla, pero no les hace el rig. Un static mesh salido de un programa de escultura o de un pack del marketplace no tiene esqueleto ni pesos de skinning, así que lo habitual es dar un rodeo: exportarlo, hacerle el rig en Blender o Mixamo, volver a importarlo como skeletal mesh y después buscar animaciones que le encajen.

El plugin de AFK AI te ahorra el rodeo. Haz clic derecho en la malla en el Content Browser y elige Rig with AFK AI. En más o menos un minuto, tendrás en la misma carpeta un skeletal mesh llamado Hero_rigged con su esqueleto, su physics asset y sus animaciones, listo para un Animation Blueprint. No hay C++ que compilar, así que también funciona en proyectos solo con Blueprints.

Qué necesitas

Unreal Engine
5.1 o posterior, en Windows, Mac o Linux. Sirven también los proyectos solo con Blueprints.
Tu malla
Un static mesh o skeletal mesh importado de un archivo .fbx, .glb o .gltf de hasta 50 MB. AFK AI recibe ese archivo original.
Una cuenta de afk.ai
Gratis, con Google. Cada rig consume uno de los rigs del mes de tu cuenta, igual que en afk.ai/rig.
Internet
El rigging se hace en los servidores de afk.ai.

Instalar el plugin

  1. Descarga el plugin desde la página del plugin para Unreal Engine y descomprímelo. Obtendrás una carpeta llamada AFKAI.
  2. Ponla en la carpeta Plugins de tu proyecto, junto al archivo .uproject: MyGame/Plugins/AFKAI/AFKAI.uplugin. Si no existe la carpeta Plugins, créala.
  3. Abre el proyecto o reinícialo. El plugin activa dos plugins que vienen con Unreal, Python Editor Script Plugin y Editor Scripting Utilities. Si Unreal pide reiniciar, acepta.

En la barra de menús del editor aparece un menú AFK AI. Si prefieres tenerlo en todos los proyectos, pon la carpeta en Engine/Plugins/Marketplace/AFKAI dentro de tu instalación de Unreal y actívalo en cada proyecto en Edit > Plugins.

Iniciar sesión y hacer el rig

  1. Elige AFK AI > Sign in.... Se abre afk.ai en el navegador; inicia sesión con Google y vuelve a Unreal. El menú AFK AI muestra ahora tu correo y cuántos rigs te quedan este mes.
  2. En el Content Browser, haz clic derecho en la malla y elige Rig with AFK AI. (O selecciónala y elige AFK AI > Rig the selected mesh....)
  3. Una ventana pequeña te pide el Body type (Human, o el animal o la criatura que sea), las Animations (All animations, o Rig only si solo quieres el esqueleto) y el Facing (déjalo en Auto). Su título indica que consume uno de tus rigs. Pulsa OK.
  4. Sigue trabajando. El menú AFK AI muestra el progreso, y el Output Log también, en las líneas que empiezan por "AFK AI".

Si el navegador no consigue volver a Unreal (por un firewall o porque Unreal está en otro equipo), la página de afk.ai muestra un código de inicio de sesión. Elige AFK AI > I have a sign-in code..., pégalo y pulsa OK.

Qué recibes

  • Skeletal Mesh: Hero_rigged, en la misma carpeta que el original y ya seleccionado. La malla original no se toca.
  • Skeleton: creado para el tipo de cuerpo. Un humano recibe 66 huesos, con tres articulaciones en cada dedo, que se llaman como los huesos del propio mannequin de Unreal: pelvis, spine_01, clavicle_l, upperarm_l, thigh_l, etc.
  • Physics Asset: se crea al importar, para ragdolls y colisiones.
  • Animaciones: una Animation Sequence por animación. Para un humanoide, hasta 593: reposo, caminar, trotar, esprintar, saltos, esquivas, movimientos con espada, escudo, arco y pistola, bailes, golpes recibidos y muertes. Una cuenta gratis recibe las gratuitas y un plan añade las demás.
  • El FBX: Hero_rigged.fbx, guardado junto al archivo de origen del original o, si ahí no se puede escribir, en la carpeta Saved/AFK AI de tu proyecto. Si vuelves a hacer el rig, recibes Hero_rigged_2: nunca se sobrescribe nada.

Como en cualquier importación, los assets nuevos no se guardan en disco hasta que los guardas tú: File > Save All.

El personaje de anime en pose en T, con las articulaciones colocadas por afk.ai señaladas con puntos, incluidas las de los dedos
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 ... (igual en el lado derecho)    └ thigh_l      └ calf_l        └ foot_l          └ ball_l    └ thigh_r ... (igual en el lado derecho)
El esqueleto que comparten todos los rigs humanoides de afk.ai: 66 huesos, con tres articulaciones en cada dedo, incluido el pulgar, y los mismos nombres que los huesos del maniquí de Unreal Engine.

Verlo en movimiento, sin código

Arrastra Hero_rigged al nivel. En su panel Details, dentro de Animation, pon Animation Mode en Use Animation Asset, elige una animación en Anim to Play (Walk, por ejemplo) y deja Looping activado. Pulsa Play o míralo directamente en el viewport.

Para revisar rápido todas las animaciones, haz doble clic en cualquiera de las Animation Sequences: se abre el editor de animación y la reproduce sobre el personaje.

Un Animation Blueprint para un personaje jugable

La configuración clásica: reposo cuando está quieto, caminar y después trotar a medida que el personaje gana velocidad.

  1. Haz clic derecho en Hero_rigged y elige Create > Anim Blueprint. Llámalo ABP_Hero.
  2. En su Event Graph, añade una variable float llamada Speed. Desde Event Blueprint Update Animation, llama a Try Get Pawn Owner, compruébalo con Is Valid, después Get Velocity y luego Vector Length XY, y asigna ese valor a Speed.
  3. En el AnimGraph, haz clic derecho, elige Add New State Machine, llámala Locomotion y conéctala a Output Pose.
  4. Dentro, crea tres estados, Idle, Walk y Jog, y arrastra a cada uno desde el Asset Browser las animaciones Idle_A, Walk y Jog, conectadas a su Output Animation Pose.
  5. Dibuja transiciones en ambos sentidos entre ellos, con reglas sobre Speed en centímetros por segundo: de Idle a Walk cuando Speed > 10, de Walk a Jog cuando Speed > 300, y de vuelta cuando baje de esos valores.
  6. En tu Character Blueprint, selecciona el componente Mesh, pon Hero_rigged en Skeletal Mesh Asset y ABP_Hero en Anim Class. Bájalo hasta la base de la cápsula y gíralo para que mire hacia la flecha azul, como el mannequin de la plantilla.

¿Prefieres empezar desde C++? La misma idea en su versión mínima: reproducir una animación en bucle al empezar la partida.

// 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
Esquema de la máquina de estados Locomotion. Cada estado reproduce una animación y Speed, en centímetros por segundo, determina el paso de un estado a otro.

Root motion con un poco de Python

Algunas animaciones desplazan al personaje por sí solas: sus nombres terminan en _RM, como Roll_RM, Dodge_left_RM o Sword_Dash_RM. Las demás se reproducen sin desplazamiento. Unreal necesita que actives el root motion en cada animación, y el plugin ya ha activado el Python de Unreal, así que unas pocas líneas lo hacen en todas a la vez. Pega esto en la línea de comandos del Output Log, cambiada de 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())

Después, en los Class Defaults de ABP_Hero, pon Root Motion Mode en Root Motion from Everything si las reproduces en la máquina de estados, o reprodúcelas como montages.

Retargeting con el mannequin de UE5

Los huesos del esqueleto se llaman como los del mannequin, así que el retargeter de Unreal los empareja con poca ayuda o ninguna. Funciona en los dos sentidos: las animaciones de la plantilla Third Person en tu personaje, o las animaciones de afk.ai en Manny y Quinn.

En Unreal 5.4 y posteriores:

  1. Haz clic derecho en una animación, por ejemplo una de la plantilla, y elige Retarget Animations (Retarget Animation Assets en las versiones más recientes).
  2. Pon Hero_rigged en Target Preview Mesh. El origen es la malla con la que venía la animación.
  3. Deja activado Auto Generate Retargeter: Unreal crea por su cuenta los IK Rigs y el IK Retargeter.
  4. Marca las animaciones que quieras, pulsa Export Animations, elige una carpeta y pulsa Export.

Intercambia el origen y el destino para pasar las animaciones de Hero_rigged al mannequin. De la 5.1 a la 5.3, crea un IK Rig para cada esqueleto y un IK Retargeter entre ellos, y después usa Export Selected Animations en el retargeter. En ambos casos, reproduce algunos resultados antes de fiarte de ellos, sobre todo las manos.

Criaturas y props

El mismo clic derecho hace el rig de un dragón, un caballo, un dinosaurio, una araña o un tiburón: elige su tipo de cuerpo en la ventana de opciones. Cada uno recibe un esqueleto creado para su cuerpo y animaciones creadas para ese esqueleto, como aletear, galopar, rugir o nadar, así que la fauna de un juego de mundo abierto no necesita un rigger. Los props usan el tipo Object: rebotes, giros, tambaleos y aplastamientos para objetos recogibles y puertas. La guía de animales recoge todos los tipos de cuerpo y sus animaciones.

  • Dragón
  • Cuadrúpedo
  • Con pezuñas
  • Dinosaurio
  • Araña
  • Pez
Otros seis tipos de cuerpo, con el rig hecho en afk.ai/rig, reproduciendo sus propias animaciones.

Qué cuenta como rig

Cada rig que llega a AFK AI consume uno de los rigs de este mes, igual que en afk.ai/rig y en los demás plugins de AFK AI. Stop waiting solo hace que Unreal deje de esperar: el rig sigue adelante y cuenta igualmente. Los rigs que fallan no cuentan, y el mensaje explica por qué. El menú AFK AI muestra cuántos rigs te quedan; cuando no queda ninguno, See plans abre los planes de afk.ai.

Si algo falla

No aparece el menú AFK AI
En Edit > Plugins, comprueba que AFK AI y Python Editor Script Plugin están activados y reinicia. Si el problema es otro, el Output Log muestra "AFK AI couldn't start" con el motivo.
"has no source file recorded"
O "was imported from a .obj file": AFK AI necesita el .fbx, .glb o .gltf original. Exporta el modelo en uno de esos formatos, impórtalo y haz el rig de ese.
"Couldn't find Hero's source file"
El archivo se movió después de importarlo. Haz clic derecho en la malla, elige Reimport With New File, selecciona el archivo donde está ahora y vuelve a hacer el rig.
"Unreal didn't import it as a skeletal mesh"
El rig ha funcionado y el FBX está guardado donde indica el mensaje. Arrástralo al Content Browser e impórtalo como Skeletal Mesh con sus animaciones. Puede pasar con el importador nuevo de Unreal 5.5 y posteriores.
"Couldn't make a secure connection to AFK AI"
Un proxy, un antivirus o el firewall de la empresa se interpone. Prueba con otra red.
El rig ha fallado
Lee el mensaje. Normalmente se arregla con otro tipo de cuerpo, o con el modelo de pie y mirando al frente.

Preguntas frecuentes

¿Unreal Engine 5 puede hacer el rig de un personaje por sí solo?

De un static mesh, no. Unreal puede hacer retargeting de animaciones entre esqueletos que ya existen, y tiene herramientas para crear y editar esqueletos a mano, pero nada que haga el rig de una malla por ti. El plugin de AFK AI se encarga de esa parte: convierte el static mesh en un skeletal mesh con pesos de skinning y animaciones, y Unreal se ocupa del resto.

¿Necesito C++ o Visual Studio?

No. El plugin es Python que ejecuta el propio Unreal, sin nada que compilar, así que funciona en proyectos solo con Blueprints. El C++ de arriba es solo para proyectos que ya lo usan.

¿En qué versiones de Unreal Engine funciona?

En Unreal Engine 5.1 y posteriores, en Windows, Mac y Linux.

¿Puedo hacer el rig de un modelo que importé desde un .obj?

No directamente: el plugin envía el archivo de origen de la malla, y admite .fbx, .glb o .gltf. Exporta el modelo en uno de esos formatos desde tu programa 3D, impórtalo y haz el rig.

¿Funciona con las animaciones del mannequin de UE5?

Sí. Los huesos se llaman como los del mannequin, así que el retargeter los empareja con poca configuración o ninguna, en ambos sentidos. Consulta "Retargeting con el mannequin de UE5" más arriba.

¿Puedo usar el personaje con rig en un juego que vendo?

Sí. Los esqueletos y las animaciones son CC0, y tu modelo sigue siendo tuyo.

¿Dónde está el archivo con rig, si lo quiero en otro programa?

Hero_rigged.fbx se guarda junto al archivo de origen original o en la carpeta Saved/AFK AI de tu proyecto. Se abre en Blender, en Maya y en cualquier programa que lea FBX, con las animaciones incluidas.

¿También hay plugin para Unity o Blender?

Sí. Consulta las guías de Unity y Blender, y la guía general de los plugins de AFK AI para las nueve apps.

Haz el rig de tu modelo y anímalo

Una IA hace el rig en tu navegador y después puedes ver cientos de animaciones en tu modelo. Descarga un solo GLB para cualquier motor de videojuegos.

Hacer el rig de un modelo

Más guías