Repolode
Friedrich-M

Friedrich-M/UniMate

Un modelo unificado de texto a movimiento que genera animaciones para esqueletos articulados arbitrarios, desde humanoides hasta cuadrúpedos, aves, peces y rigs de tipo insecto.

Estrellas
2,006
Forks
217
Issues abiertos
6
Último commit
hace 12 días

¿Qué es?

UniMate genera movimiento 3D articulado a partir de una instrucción de texto y un asset con rig, y funciona con esqueletos de distintas topologías sin reentrenar para cada esqueleto ni optimizar en tiempo de prueba. Está basado en flow matching y se entrenó con UniML3D, un dataset de 13.769 clips de movimiento asociados a texto y distribuidos entre 7.430 esqueletos, con rigs bípedos, cuadrúpedos, aviares, marinos, insectoides, serpentinos y de objetos rígidos.

El repositorio incluye el pipeline de procesamiento de datos del dataset, código de entrenamiento configurado mediante archivos JSON y Accelerate, y scripts de inferencia que animan esqueletos del dataset o tus propios assets con rig en formato GLB, glTF o FBX. Una herramienta rig_preprocess etiqueta las articulaciones con un LLM y permite revisarlas antes de crear un asset. Hay checkpoints publicados en Hugging Face.

El mismo modelo también permite interpolar movimiento entre fotogramas clave, editarlo con instrucciones de texto conservando las articulaciones seleccionadas y regenerando el resto, y ampliar el movimiento encadenando varias instrucciones en un solo clip más largo.

Funciones clave

  • 01Genera movimiento para esqueletos arbitrarios a partir de una instrucción de texto, sin reentrenar para cada esqueleto
  • 02Admite rigs humanoides, cuadrúpedos, aviares, marinos, insectoides y de objetos rígidos
  • 03Incluye código de entrenamiento e inferencia, checkpoints publicados y el dataset UniML3D
  • 04Importa tus propios assets con rig en formato GLB, glTF o FBX mediante una herramienta de preprocesamiento que etiqueta articulaciones
  • 05Permite interpolar entre fotogramas clave, editar y ampliar el movimiento sin entrenamiento adicional

Casos de uso

  • Animar personajes o criaturas 3D personalizados a partir de instrucciones de texto para videojuegos o previsualizaciones cinematográficas
  • Generar movimiento para assets no humanoides, como cuadrúpedos, aves o peces
  • Investigar la generación de movimiento condicionada por texto en topologías de esqueletos diversas
  • Completar el movimiento entre fotogramas clave o editar partes de una animación existente

Inicio rápido

  1. 1

    Crea el entorno de conda con Python 3.10

    conda create -n unimate python=3.10 -y
  2. 2

    Activa el entorno

    conda activate unimate
  3. 3

    Fija setuptools en una versión anterior a la 81

    pip install "setuptools<81"
  4. 4

    Instala los requisitos del proyecto

    pip install -r requirements.txt --no-build-isolation

Antes de usarlo

  • Para reproducirlo por completo se necesita Truebones ZOO motion pack, un recurso comercial que debe comprarse y no se puede redistribuir.
  • El entrenamiento está configurado para usar GPU con Accelerate, incluidas las ejecuciones con varias GPU, por lo que no es un flujo de trabajo adecuado para CPU.
  • Se han publicado checkpoints de vista previa y se sustituirán por otros nuevos, por lo que los resultados pueden cambiar.

Temas

Preguntas frecuentes

¿Qué es UniMate?
Un modelo unificado de texto a movimiento que genera animaciones para esqueletos articulados arbitrarios, desde humanoides hasta cuadrúpedos, aves, peces y rigs de tipo insecto. UniMate genera movimiento 3D articulado a partir de una instrucción de texto y un asset con rig, y funciona con esqueletos de distintas topologías sin reentrenar para cada esqueleto ni optimizar en tiempo de prueba. Está basado en flow matching y se entrenó con UniML3D, un dataset de 13.769 clips de movimiento asociados a texto y distribuidos entre 7.430 esqueletos, con rigs bípedos, cuadrúpedos, aviares, marinos, insectoides, serpentinos y de objetos rígidos.
¿UniMate es gratuito? ¿Qué licencia tiene?
UniMate es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿UniMate sigue mantenido?
Mantenimiento activo. El último commit de UniMate fue el 8 oct 2026.
¿Para qué puedo usar UniMate?
Animar personajes o criaturas 3D personalizados a partir de instrucciones de texto para videojuegos o previsualizaciones cinematográficas Generar movimiento para assets no humanoides, como cuadrúpedos, aves o peces Investigar la generación de movimiento condicionada por texto en topologías de esqueletos diversas Completar el movimiento entre fotogramas clave o editar partes de una animación existente
¿Cómo se instala UniMate?
Crea el entorno de conda con Python 3.10: conda create -n unimate python=3.10 -y Activa el entorno: conda activate unimate Fija setuptools en una versión anterior a la 81: pip install "setuptools<81" Instala los requisitos del proyecto: pip install -r requirements.txt --no-build-isolation
¿Dónde consigo UniMate?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Friedrich-M/UniMate

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados