GuíasTutorial6 min de lectura
Rigging y animación de un personaje 3D en Godot 4 con el plugin de AFK AI, AnimationPlayer y AnimationTree
Selecciona un modelo en el panel FileSystem y pulsa Rig. En un minuto aproximadamente tendrás a su lado un GLB con rig y animaciones, con los ciclos de caminar y de reposo ya en bucle.
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 reproduce animaciones muy bien, pero no permite hacer el rig de un modelo. Por eso, preparar un personaje suele exigir varios pasos fuera del editor: exportarlo, hacer el rig en Blender o Mixamo (este último solo para humanoides), buscar animaciones, exportar un GLB y volver a configurar los bucles después de importarlo.
El plugin de AFK AI se encarga de todo el proceso desde un panel del editor de Godot. Selecciona tu modelo en el panel FileSystem y pulsa Rig. En un minuto aproximadamente tendrás hero_rigged.glb junto a hero.glb, con un esqueleto adaptado a su cuerpo, los pesos de skinning y sus animaciones en un AnimationPlayer. Las animaciones de reposo, caminar y correr ya vienen configuradas en bucle.
Qué necesitas
- Godot
- 4.2 o posterior, tanto la versión estándar como la .NET.
- Tu modelo
- Un archivo
.glb,.gltfo.fbxde hasta 50 MB dentro de tu proyecto. Si usas.gltf, debe incluirlo todo en un solo archivo; si tiene un.binal lado, expórtalo como.glb. - Una cuenta de afk.ai
- Puedes crearla gratis con Google. Cada rig consume uno de los rigs disponibles en tu cuenta este mes, igual que en afk.ai/rig.
- Conexión a internet
- El rigging se ejecuta en los servidores de afk.ai. Solo se envía el archivo del modelo que selecciones.
Instalar el plugin
- Descarga el plugin desde la página del plugin para Godot.
- Copia su carpeta
addons/afk_aidentro de la carpetaaddonsde tu proyecto. Si no existe, créala. - Abre Project > Project Settings > Plugins y marca Enable junto a AFK AI.
A la derecha, junto al Inspector, aparece el panel AFK AI.
Hacer el rig de un modelo
- Inicia sesión. Pulsa Sign in en el panel AFK AI. Se abre afk.ai en tu navegador; inicia sesión ahí con Google. El panel muestra tu correo y los rigs que te quedan este mes. Si el navegador no consigue volver a Godot, te enseña un código de inicio de sesión: pégalo en I have a sign-in code y pulsa Use.
- Selecciona el modelo. Haz clic en su archivo dentro del panel FileSystem.
- Elige las opciones. En Body type, selecciona Human para personas y otros personajes bípedos, o el tipo de animal o criatura que corresponda. En Animations, elige All animations para incluir todas las animaciones o Rig only si solo quieres el esqueleto. Deja Facing en Auto.
- Pulsa Rig. El panel va mostrando el progreso: subida, espera, rigging y descarga. Mientras tanto puedes seguir trabajando.
Cuando termina, hero_rigged.glb queda guardado junto a hero.glb, importado y seleccionado. El original no se toca. Si vuelves a hacer el rig del mismo modelo, obtienes hero_rigged_2.glb, así que nunca se sobrescribe nada.
Qué incluye el GLB con rig
Para usarlo, arrastra hero_rigged.glb a una escena: entra como un único nodo con todo lo demás dentro.
- Skeleton3D
- Un esqueleto adaptado al tipo de cuerpo, con los pesos de skinning ya asignados a tu malla. El esqueleto de un modelo humanoide tiene 66 huesos, incluidos los de todos los dedos, con nombres como pelvis, spine_01, hand_r y foot_l.
- AnimationPlayer
- Todas las animaciones, cada una con su nombre. Para un humanoide, hasta 593: Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, Dance_Groove y cientos más. Con una cuenta gratuita tienes las animaciones gratuitas; un plan añade las demás.
- Bucles
- Las animaciones de reposo, caminar, correr, volar y nadar ya se reproducen en bucle. El plugin configura estos bucles en los ajustes de importación del archivo antes de que Godot lo importe.
- Orientación
- El personaje mira hacia +Z, como cualquier modelo glTF.
Reproducir animaciones con un AnimationPlayer
Para crear un personaje controlable básico, añade un CharacterBody3D con un CollisionShape3D de tipo cápsula. Arrastra el modelo con rig dentro del CharacterBody3D y cámbiale el nombre a Hero. Asigna este script al 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)Al ejecutarlo, podrás mover al personaje al trote con las flechas del teclado. Cuando las sueltes, vuelve suavemente a la animación de reposo. Si llamas a play con la animación que ya se está reproduciendo, esta continúa sin reiniciarse, así que puedes llamar a play en cada frame.
Combinar animaciones con un AnimationTree
Un AnimationTree permite combinar animaciones según la velocidad y gestionar acciones puntuales, como un ataque. Solo tienes que configurarlo una vez en el editor:
- Añade un nodo AnimationTree al personaje. En el Inspector, asigna
Hero/AnimationPlayera Anim Player y crea un AnimationNodeStateMachine nuevo en Tree Root. - En el panel AnimationTree de la parte inferior, haz clic derecho y añade un BlendSpace1D. Llámalo
Locomotion, ábrelo y añade tres puntos: Idle_A en 0, Walk en 1,5 y Jog en 4. Ajusta su Max Space a 4. - Vuelve a hacer clic derecho y añade la animación Sword_Attack. Conecta Start con Locomotion, Locomotion con Sword_Attack y Sword_Attack de vuelta a Locomotion. En esta última transición, pon Switch Mode en At End y Advance Mode en Auto.
- En Project > Project Settings > Input Map, añade una acción llamada
attacky asígnale una tecla.
Después, en el mismo script, elimina las dos líneas de anim.play y controla el árbol con este código:
@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")
Mientras el AnimationTree está activo, es él quien reproduce las animaciones, así que no llames también al play del AnimationPlayer.
Poner una espada en la mano y cambiar un bucle
Para colocar algo en la mano del personaje, selecciona su Skeleton3D y añade un BoneAttachment3D como nodo hijo. Pon hand_r en Bone Name y añade la espada como hijo del BoneAttachment3D. Así seguirá a la mano en todas las animaciones.
Para cambiar qué animaciones se repiten en bucle, haz doble clic en hero_rigged.glb en el panel FileSystem para abrir Advanced Import Settings. Selecciona la animación bajo el AnimationPlayer, a la izquierda, cambia Loop Mode y pulsa Reimport.
Animales, criaturas y props
Elige el tipo de cuerpo en el panel antes de pulsar Rig: Fox para perros, gatos y lobos; Horse para cualquier animal con pezuñas; Kaiju para dinosaurios; Object para props; y Bird, Dragon, Spider, Insect, Snake, Fish, Kangaroo, Frog, Turtle o Ghost según corresponda. Cada modelo recibe un esqueleto adaptado a su tipo de cuerpo y animaciones pensadas para él: galopar, aletear, rugir, nadar o reptar. Se reproducen igual, con el mismo AnimationPlayer y el mismo AnimationTree. Todos los modelos con rig del mismo tipo de cuerpo comparten los nombres de huesos y de animaciones, así que el AnimationTree de un lobo sirve para cualquier otro lobo. En la guía de animales encontrarás las animaciones de cada tipo.
- Dragón
- Cuadrúpedo
- Con pezuñas
- Dinosaurio
- Araña
- Pez
Qué cuenta como un rig
Cada tarea de rig que llega a AFK AI consume uno de tus rigs del mes, igual que en afk.ai/rig y en el resto de plugins de AFK AI. Al pulsar Cancel, dejas de esperar el resultado, pero la tarea continúa y sigue contando. Si el rig falla, no se descuenta. Cuando te quedas sin rigs, el panel te lo avisa y muestra See plans, que abre los planes de afk.ai.
Preguntas frecuentes
¿Godot incluye un auto-rigger?
No. Godot importa esqueletos y animaciones ya creados, y permite adaptar las animaciones de un esqueleto humanoide a los huesos de otro (retargeting), pero no hace el rig de una malla. De esa parte se encarga el plugin de AFK AI, que entrega a Godot un GLB normal y corriente.
¿Funciona en Godot 3?
No. Necesita Godot 4.2 o posterior. Si usas Godot 3, haz el rig del modelo en afk.ai/rig e importa el GLB que descargues.
¿Puedo usarlo en un proyecto en C#?
Sí. El plugin está escrito en GDScript, que la versión .NET de Godot también ejecuta, y el GLB con rig es el mismo en ambos casos. En C#, puedes reproducir una animación con GetNode<AnimationPlayer>("Hero/AnimationPlayer").Play("Jog", 0.2);.
¿Por qué un GLB y no un FBX?
GLB es el formato que mejor importa Godot: el esqueleto, los pesos y todas las animaciones llegan tal cual, en cualquier versión de Godot 4. Tu archivo original puede ser un FBX; lo que recibes de vuelta es un GLB.
¿El plugin acaba dentro de mi juego exportado?
Lo que usa tu juego es el GLB con rig. El plugin solo actúa dentro del editor; para dejar sus archivos fuera de la exportación, excluye addons/afk_ai/* en la pestaña Resources del preset de exportación.
¿Puedo hacer el rig de varios modelos a la vez?
El plugin procesa un modelo a la vez y tarda alrededor de un minuto por modelo. Para hacer el rig de una carpeta entera desde un script, usa la API de rigging: genera el mismo GLB.
¿Puedo usar los personajes con rig en un juego comercial?
Sí. Los esqueletos y las animaciones son CC0 (dominio público), y tu modelo sigue siendo tuyo.
¿También hay un plugin de AFK AI para Blender, Unity o Unreal?
Sí. Consulta las guías de Blender, Unity y Unreal Engine y el resumen de todos los plugins de AFK AI, que incluye 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.
Más guías
Tutorial
Rigging automático de un personaje en Blender: el add-on gratis de AFK AI
Selecciona tu modelo, pulsa Rig y, en más o menos un minuto, tendrás a su lado una copia con rig y sus animaciones, en Blender 4.2 o posterior.
Tutorial
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.
Tutorial
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.