GuíasTutorial8 min de lectura

Rigging automático en Unity para cualquier modelo 3D, configurado como Humanoid y con clips de animación

Selecciona un modelo en la ventana Project y pulsa Rig. Un minuto después tendrás a su lado un FBX con rig, configurado como Humanoid y con un clip por animación.

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
Esquema basado en el plugin, no una captura de pantalla: la ventana AFK AI mientras hace el rig de Hero.fbx y la ventana Project al terminar, con Hero_rigged.fbx configurado como Humanoid y los clips con la reproducción en bucle activada.

Para animar un personaje en Unity, lo habitual es pasar por Mixamo: exportas un FBX, lo subes, colocas los marcadores en la barbilla, las muñecas, los codos y las rodillas, descargas las animaciones una a una y configuras cada archivo como Humanoid. Después toca activar Loop Time en cada clip. Y todo eso solo sirve para humanoides.

Con el paquete AFK AI puedes hacerlo desde una ventana del editor de Unity. Selecciona el modelo en la ventana Project y pulsa Rig. En aproximadamente un minuto tendrás Hero_rigged.fbx junto a Hero.fbx, ya configurado como Humanoid, con un clip por animación y las animaciones de caminar y reposo en bucle.

Mixamo o AFK AI en Unity

Mixamo es gratis y tiene una amplia biblioteca de animaciones para humanoides. AFK AI te ahorra ir de una aplicación a otra, hace el rig también de animales y props e incluye hasta 593 animaciones para un humanoide en un solo archivo. La cuenta gratis incluye una parte de las animaciones; un plan añade las demás.

MixamoAFK AI en Unity
Dónde se usaEn una web: subes el modelo, haces el rig y lo descargasEn una ventana del editor de Unity
Qué tienes que hacerColocar marcadores en la barbilla, las muñecas, los codos, las rodillas y la entrepiernaElegir el tipo de cuerpo y pulsar Rig
Tipos de cuerpoSolo humanoidesHumanoides y otros 14 tipos de cuerpo
AnimacionesSe descargan de una en unaTodas las del tipo de cuerpo, en un solo FBX
Configuración en UnityManual: Humanoid y después Loop Time en cada clipYa está hecha: Humanoid, un clip por animación y bucles activados
Inicio de sesiónUna cuenta de AdobeUna cuenta de afk.ai, con Google

Instalar el paquete

  1. Descarga el paquete desde la página del plugin para Unity. Es un único archivo .tgz. Guárdalo fuera del proyecto, en una ubicación permanente: Unity lee el paquete desde ese archivo.
  2. En Unity, abre Window > Package Manager, pulsa + en la esquina superior izquierda y elige Add package from tarball....
  3. Selecciona el archivo .tgz que has descargado, sin descomprimirlo.
  4. Abre Window > AFK AI y acopla la ventana donde prefieras.

Funciona en Unity 2021.3 y versiones posteriores, incluido Unity 6, tanto con Built-in como con URP y HDRP: el plugin solo interviene en la importación del modelo. Todo su código se ejecuta exclusivamente en el editor, así que no se incluye en el juego.

Iniciar sesión

  1. En la ventana de AFK AI, pulsa Sign in. Se abrirá la página de inicio de sesión de afk.ai en el navegador. Inicia sesión con Google.
  2. Cuando aparezca el mensaje "You're signed in", cierra la pestaña y vuelve a Unity. La ventana mostrará tu correo y cuántos rigs te quedan este mes.

Si el navegador no consigue comunicarse con Unity —algunos programas de seguridad lo bloquean—, afk.ai te mostrará un código de inicio de sesión. Abre I have a sign-in code en la ventana de AFK AI, pega el código y pulsa Use code.

La sesión se guarda en los ajustes de Unity de tu usuario en este equipo, nunca en el proyecto. Así no viaja con el proyecto cuando lo compartes o haces un commit.

Hacer el rig de un modelo

  1. Selecciona el modelo en la ventana Project: un archivo .fbx, .glb o .gltf de hasta 50 MB. También puedes seleccionar un modelo que hayas colocado en la escena; el plugin enviará su archivo de origen. Para que Unity muestre los archivos .glb como modelos necesitas un importador glTF, pero el plugin puede enviarlos aunque no lo tengas.
  2. En la ventana de AFK AI, elige el tipo de cuerpo en Body type: "human" para personas y cualquier personaje bípedo, o la opción que corresponda al animal o criatura.
  3. Deja activado All animations o elige Rig only si solo quieres el esqueleto. Deja Facing en Auto.
  4. Pulsa Rig. La ventana irá mostrando el progreso: subida, espera, rigging, incorporación de animaciones y descarga. Puedes seguir trabajando; el proceso continúa aunque cierres la ventana.

Al terminar, Hero_rigged.fbx se guarda junto a Hero.fbx y queda seleccionado y resaltado en la ventana Project. El archivo original no se modifica.

Qué recibe Unity

  • Humanoid: los personajes humanos se importan con un rig Humanoid y su propio Avatar (Hero_riggedAvatar). Pueden usar las animaciones de cualquier otro personaje Humanoid y compartir las suyas con él. Unity asigna automáticamente los huesos a los campos de Humanoid, incluidos los de los dedos.
  • Generic: los demás tipos de cuerpo, desde un zorro hasta un dragón, se importan con un rig Generic.
  • Clips: cada animación tiene su propio clip y conserva el nombre de afk.ai: Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, etc.
  • Bucles: los clips cuyo nombre indica que son cíclicos, como los de reposo, caminar, correr, volar o nadar, tienen Loop Time activado. Las acciones puntuales, como Jump_Start, Sword_Attack o Death_A, se reproducen una sola vez.
  • Root motion: los clips cuyo nombre termina en _RM (Roll_RM, Dodge_left_RM) desplazan al personaje por sí solos; los demás se reproducen sin desplazamiento.

Si Unity no consigue asignar los huesos del esqueleto a los campos de Humanoid, el plugin configura el modelo como Generic e indica el motivo. Las animaciones siguen funcionando, aunque no se pueden compartir con otros personajes Humanoid.

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.

Configurar un Animator

Vamos a crear un blend tree que pase de reposo a caminar, trotar y correr (Idle_A, Walk, Jog, Sprint) a medida que aumenta la velocidad del personaje, más un ataque con espada que se active al pulsar un botón:

  1. Arrastra Hero_rigged.fbx a la escena. Ya tiene un Animator con su Avatar. Añade un Character Controller y desactiva Apply Root Motion en el Animator, porque el movimiento lo controlará el script.
  2. En la ventana Project, elige Create > Animator Controller (en Unity 6, Create > Animation > Animator Controller), llámalo Hero y arrástralo al campo Controller del Animator.
  3. Ábrelo (Window > Animation > Animator). En Parameters, añade un Float llamado Speed y un Trigger llamado Attack.
  4. Haz clic derecho en el grafo y elige Create State > From New Blend Tree. Ábrelo con doble clic, selecciona Speed como parámetro y añade cuatro animaciones de Hero_rigged.fbx: Idle_A, Walk, Jog y Sprint. Para ver los clips, pulsa la flecha junto al archivo en la ventana Project. Desactiva Automate Thresholds y ajusta los umbrales según las velocidades a las que se mueve tu personaje; por ejemplo: 0; 1,5; 3,5 y 6.
  5. Vuelve a Base Layer y arrastra el clip Sword_Attack al grafo. Crea una transición del blend tree al ataque con la condición Attack y Has Exit Time desactivado, para que empiece al instante. Crea otra transición de vuelta al blend tree con Has Exit Time activado.
  6. Añade este script al personaje:
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);
    }
}

Pulsa Play: el personaje pasa de reposo a caminar, trotar y correr con el stick o las flechas del teclado, y ataca con la espada al hacer clic.

EntryLocomotionBlend Tree · Idle_A, Walk, Jog, Sprint↓ Attack↑ Has Exit TimeSword_Attack
Esquema del Animator Controller. El blend tree Locomotion pasa de Idle_A a Sprint según Speed; el trigger Attack reproduce Sword_Attack y, cuando termina, vuelve a Locomotion.

Compartir animaciones con otros personajes

Como los humanos con rig se configuran como Humanoid, Unity se encarga de que las animaciones se adapten a sus propios huesos (retargeting). Arrastra cualquier clip Humanoid al personaje, ya sea de la Asset Store o de tu biblioteca, y funcionará. También puedes usar sus clips en cualquier personaje Humanoid que ya tengas: arrastra el clip Sprint de Hero_rigged.fbx al Animator Controller de otro personaje y este empezará a correr.

Los animales y las criaturas usan Generic, así que sus clips se reproducen sobre su propio esqueleto. Aun así, todos los modelos a los que AFK AI hace el rig con el mismo tipo de cuerpo comparten nombres de huesos y animaciones. Por eso, el Animator Controller de un zorro sirve para cualquier otro zorro al que hagas el rig.

Animales, criaturas y props

Antes de pulsar Rig, elige el tipo de cuerpo en la ventana: "fox" (zorro) para perros, gatos y lobos; "horse" (caballo) para animales con pezuñas; "bird" (ave); "dragon" (dragón); "kaiju" para dinosaurios; "spider" (araña); "insect" (insecto); "snake" (serpiente); "fish" (pez); "kangaroo" (canguro); "frog" (rana); "turtle" (tortuga); "ghost" (fantasma) u "object" para props que rebotan, giran y se tambalean. Cada modelo recibe un esqueleto adaptado a su tipo de cuerpo y animaciones creadas para ese esqueleto, y se importa con un rig Generic y con los clips y los bucles ya configurados. La guía de animales detalla qué incluye cada uno.

  • 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é se descuenta de tu cuota de rigs

Cada vez que pulsas Rig y AFK AI acepta la tarea, se descuenta un rig de tu cuota de este mes, igual que al hacer el rig en afk.ai/rig o en cualquier otro plugin de AFK AI. Los rigs que fallan no cuentan. Con Stop waiting dejas de esperar en Unity, pero el rig sigue procesándose y cuenta para la cuota. Si se pierde la conexión, Try again retoma el mismo rig: nunca se descuenta dos veces. Cuando agotas la cuota, la ventana muestra See plans, que abre los planes de afk.ai.

Si algo falla

El navegador no consigue cargar la página después de iniciar sesión
Usa I have a sign-in code.
Aparece "Couldn't reach AFK AI"
Comprueba tu conexión y pulsa Try again. Se retomará el mismo rig.
El modelo es demasiado grande
AFK AI admite modelos de hasta 50 MB. Exporta una versión más ligera, con menos polígonos o texturas más pequeñas.
Aparece "keeps its data in separate files"
Es un .gltf que tiene los datos en un .bin aparte. Expórtalo como .glb.
Un clip se reproduce en bucle y no debería
Selecciona Hero_rigged.fbx, abre la pestaña Animation del Inspector, elige el clip, cambia Loop Time y pulsa Apply.
No ocurre nada al pulsar Rig
Primero selecciona un .fbx, .glb o .gltf en la ventana Project. La ventana indica qué falta.

Preguntas frecuentes

¿Sigo necesitando Mixamo?

No. El plugin hace el rig del modelo e incorpora sus animaciones en un solo paso, con la configuración Humanoid lista. También puedes usar animaciones de Mixamo: descárgalas para cualquier personaje Humanoid, configúralas como Humanoid y funcionarán en el tuyo.

¿El paquete AFK AI se incluye en la build del juego?

No. Todo su código está en un assembly exclusivo del editor. Lo que queda en el proyecto es el FBX con rig, un asset de modelo como cualquier otro.

¿Funciona en Unity 6?

Sí. Funciona en Unity 2021.3 y en todas las versiones posteriores, incluido Unity 6.

¿Puedo hacer el rig de un modelo .glb o .gltf en Unity?

Sí. El plugin envía el archivo tal cual, aunque Unity no tenga un importador glTF para mostrarlo como modelo. Recibirás un FBX, que Unity importa sin complementos. Los archivos .gltf deben llevar todos los datos incrustados; si no es así, exporta un .glb.

¿Sirve el rig para un avatar de VRChat?

Sí. Los humanos con rig se configuran como Humanoid e incluyen todos los dedos, que es lo que necesita VRChat. La guía de VRChat explica el resto de la configuración.

¿Qué hago si el personaje mira hacia el lado equivocado?

Vuelve a hacer el rig y configura Facing con el ángulo de giro del modelo (90°, 180° o 270°). Auto detecta la orientación en la mayoría de los modelos.

¿Puedo hacer el rig de toda una carpeta de modelos con un script?

El plugin procesa un modelo cada vez. Para trabajar por lotes o integrarlo en pipelines de build, usa la API de rigging desde la línea de comandos o desde tu propio código.

¿También hay plugins para Unreal, Godot o Blender?

Sí. Unreal Engine, Godot y Blender tienen sus propias guías. La guía general de los plugins de AFK AI cubre 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