For the complete documentation index, see llms.txt. This page is also available as Markdown.

Creando Emotes

Consejos y guías para crear Emotes de Decentraland.

Esta documentación cubrirá las especificaciones de los archivos, los conceptos básicos de la animación en Blender, la forma correcta de exportar un Emote y cómo importarlo en el Builder.

💡 Consejo: Instala el plugin de Decentraland Tools para Blender. Incluye varias funciones útiles para ayudarte a editar y exportar modelos 3D, wearables y emotes.

Tabla de especificaciones de animación

Frecuencia de fotogramas
30 fps

Duración máxima

10 segundos (300 frames)

Animaciones por archivo

1

Formato de exportación

.glb

Tasa de muestreo

1 por defecto (2 o 3 si es necesario)

Tamaño máximo del archivo

1 MB

Distancia máxima de la animación

1 metro (delante/detrás, izquierda/derecha)

Altura máxima de la animación

4 metros

Puedes encontrar una explicación más detallada de las especificaciones de animación a continuación.

Recursos

Esta documentación explica la configuración de Rig 1.0, sus controles y sus funciones.

Decentraland Blender Rig

Si estás usando Maya, puedes descargar este Maya Rig y selector proporcionado por SparkleStudios ❤️.

Antes de empezar

Frecuencia de fotogramas

Antes de empezar, es importante comprobar la frecuencia de fotogramas. Las animaciones de Decentraland deben tener una frecuencia de 30 fps. Es probable que el archivo del rig proporcionado ya tenga eso configurado, pero como el valor predeterminado de Blender es 24 fps, es mejor verificarlo antes de empezar (una frecuencia de fotogramas incorrecta afectará la velocidad de la animación). Esa opción se puede encontrar en Output Properties (el icono de la impresora) en Format, como se muestra abajo:

Asegúrate de que la frecuencia de fotogramas esté configurada en 30 fps antes de empezar.

Asegúrate de que la frecuencia de fotogramas esté configurada en 30 fps antes de empezar.

Pose Mode

En Blender, un rig puede verse en tres modos diferentes: Object Mode, Edit Mode y Pose Mode. Las animaciones solo se pueden hacer en Pose Mode (en ese modo, los controles tienen colores). Con el rig seleccionado, encontrarás esa opción en un menú desplegable, en la parte superior derecha.

Cambio a Pose Mode.

Cambio a Pose Mode.

Interfaz para animaciones

En el archivo del rig, además de las dos ventanas para el viewport (vista frontal y lateral), hay tres más en la parte inferior: un Graph Editor, Dope Sheety un Timeline.

  • Graph Editor: En este editor, es posible editar las curvas de animación de cada propiedad de transform de los controles seleccionados. Esas curvas muestran cómo se está calculando la interpolación y se pueden editar para lograr el efecto deseado en la animación. Tanto aquí como en el dope sheet, la Only Show Selected herramienta está activada, lo que significa que solo incluirá los canales relacionados con el control seleccionado. Esto se puede activar y desactivar simplemente haciendo clic en el icono de flecha.

  • Dope Sheet: Aquí puedes editar los keyframes. También es donde puedes crear nuevas animaciones o recorrer las múltiples que se hayan creado. Ten en cuenta que, para tener acceso a la animación, debe seleccionarse el Action Editor . Esta opción está justo al lado del Dope Sheet icono, en un menú desplegable.

  • Timeline: Aquí es donde se encuentran la Timeline y los controles de reproducción. Aquí, Auto Keying está activado, lo que significa que cada vez que se manipula un control se crea automáticamente un keyframe. Siempre puedes desactivar esa función haciendo clic en el punto junto a los controles de reproducción.

¡Con este espacio de trabajo, tienes todo lo necesario para empezar a animar!

Estas son las ventanas inferiores. La de arriba está en el Graph Editor, la del medio en el Dope Sheet, y la de abajo es la Timeline. La flecha roja de arriba muestra la Only Show Selected herramienta y la de abajo muestra la Auto Keying.

💡 ¡Consejo!

Como Blender es altamente personalizable, este también es un buen momento para configurar el diseño que mejor se adapte a ti, añadiendo, ajustando o eliminando ventanas. Cada animador tiene sus propias preferencias, así que siéntete libre de editar el diseño como quieras.

Empezando

Starting Pose

En el archivo del rig proporcionado, ya hay una acción, la Starting_Pose. Teniendo en cuenta que todas las acciones del avatar comienzan desde la pose idle, te recomendamos mucho empezar tu animación desde esa pose y volver a usarla en el último frame. Esto hará que la transición de Idle a Emote sea mejor y que la animación sea más fluida.

💡 ¡Consejo!

Si quieres hacer una animación en loop, no tienes que empezar la animación desde la Starting Pose. ¡Siéntete libre de usar la pose que tenga más sentido en tu animación!**

Área de animación

En el archivo del avatar proporcionado, encontrarás una colección llamada Animation_Area_Reference. Consiste en tres objetos que ayudarán visualmente a establecer los límites de la animación: Animation_Area_Reference, Ground_Reference y Root_Animation_Area.

  • Animation_Area_Reference es un cubo de 4x4, que es la bounding box. La mesh del avatar y los props deben permanecer dentro de esta área durante toda la animación. Los props pueden moverse libremente siempre que permanezcan dentro del área del cubo.

  • Ground_Reference es un plano proporcionado para ayudar a comprobar si hay penetración en el suelo durante la animación. También contiene información importante: el círculo más pequeño, que tiene un diámetro de 2 metros, define el área donde se puede mover el root del avatar. Eso significa que, mientras esté en el suelo, el avatar solo puede moverse 1 metro en cada dirección: delante, detrás, izquierda y derecha.

  • Root_Animation_Area es un cilindro que define el área donde puedes mover el root/centro de gravedad del avatar (CTRL_Avatar_UpperBody o Avatar_Hips). El cilindro tiene 4 metros de altura, lo que significa que el root puede subir hasta arriba siempre que ninguna mesh quede fuera de la bounding box. Las piernas, los brazos y otras partes del cuerpo del avatar pueden quedar fuera del cilindro, siempre que nunca queden fuera de Animation_Area_Reference.

Referencia del área de animación.

En resumen, el avatar puede moverse a la derecha, izquierda, delante y detrás mientras el root permanezca dentro del cilindro, lo que significa 1 metro en cualquiera de las cuatro direcciones.

Movimiento del avatar.

En cuanto a la altura, puede subir todo lo posible (máximo 4 metros) siempre que el avatar permanezca dentro de la bounding box. Abajo hay algunos casos de altura del avatar hechos correctamente (todo el cuerpo dentro de la bounding box) y algunos hechos incorrectamente (mesh fuera de la bounding box).

Aquí hay algunos ejemplos de emotes que están dentro de los límites del área de animación.

💡 ¡Atención!

Ten cuidado con estos límites porque sobrepasarlos podría causar problemas de jugabilidad.

Creación de una animación

El archivo blend tiene un clip de animación listo para ser editado: StartingPose_Avatar. Puedes duplicar y renombrar ese clip de animación como mejor te parezca. ¡No hace falta crear uno desde cero!

En la Browse Action sección, simplemente haz clic en Create A New Action botón para duplicar la animación actual. Para renombrar el clip, solo haz clic en el texto y escribe otra cosa.

Blender 4.4 introdujo Slotted Actions, el icono a la derecha de la Browse Action sección de versiones anteriores. No hace falta tocar eso si estás creando un emote sin prop, así que puedes dejarlo como está. Si estás animando el avatar, asegúrate de que la slotted action sea Avatar_Animation.

Crea una nueva animación duplicando la existente o haciendo clic en Unlink Action y luego New.

Exploración y eliminación de animaciones

En Blender, puedes tener varias pistas de animación en el mismo archivo. Es posible explorarlas haciendo clic en el menú desplegable Browse Action. Todas las animaciones con una F (Fake User) se guardarán. Para eliminar una animación, pulsa Shift en el teclado y haz clic en la X. Después de hacer eso, la animación mostrará un 0 junto a ella, lo que significa que se eliminará la próxima vez que cierres Blender o vuelvas a abrir el archivo.

Explorando animaciones: las que tengan una F se guardarán, y las que tengan 0 se eliminarán.

Otra forma de eliminar animaciones sin tener que recargar Blender es cambiando el Display Mode de View Layer a Blender File. Expande Actions y elimina cualquier animación no deseada haciendo clic derecho sobre ellas y seleccionando Delete.

Puedes eliminar animaciones directamente desde Blender File en Display Mode, en el outliner.

💡 ¡Consejo!

No edites siempre la misma pista de animación. Antes de hacer cambios importantes, simplemente duplica la animación. Así tendrás una versión de respaldo por si te arrepientes de borrar o cambiar algo. ¡Esta también es una buena forma de llevar un registro del progreso realizado hasta ahora!

Duplicando clips de animación.

Nomenclatura

El nombre de una animación debe empezar con una letra mayúscula y, si el nombre tiene más de una palabra, las palabras deben separarse con _. No uses espacios ni caracteres especiales. Aquí hay algunos ejemplos de nomenclatura:

  • Snowfall

  • Rainbow_Dance

  • Throw_Money

  • Talk_To_Hand

Overrides de Emote

Los overrides de emote ocurren cuando los deform bones no tienen un keyframe definido en uno de los parámetros. Sin un keyframe, ese bone no tendrá la información de dónde debería estar, cuánto se ha rotado y escalado, dejando ese canal abierto. La consecuencia es que, si reproduces un emote en world y luego activas el tuyo mientras el anterior seguía reproduciéndose, la información de location, rotation y scale será sobrescrita por el emote anterior, lo que provocará una combinación de ambos. A menos que esto se haga a propósito, afectará tu animación, a veces con un resultado divertido, pero otras con el emote completamente descompuesto. Abajo hay un ejemplo de un override de emote.

Para evitar eso, selecciona todas las layers con bones en ellas (que se pueden encontrar en Object Data Properties > Skeleton > Layers). Luego, en Pose Modedeja el cursor de la Timeline en el primer frame de tu animación y, con el mouse en Viewport Display, presiona A para seleccionar todo. En el Graph Editor, haz clic dos veces en el Eye icono junto al canal de la armature para hacer visibles todos los canales. Con todos los bones seleccionados, presiona I para establecer un keyframe. Haz lo mismo para el último frame.

¡Asegúrate de seleccionar los deform bones, esto es especialmente importante! Los deform bones se pueden encontrar en la última capa inferior y se muestran como bones verdes en el Viewport.

Establecer keyframes en todos los bones en el primer y último frame evita los overrides de emote.

Las especificaciones de animación

La duración de la animación

La duración máxima de una animación es de 10 segundos o 300 frames. Recuerda establecer keyframes de las propiedades de cada control en el primer y último frame.

¡Haz visibles los canales antes de hacer keyframe!

Número de animaciones

Si es un emote estándar (sin prop), el archivo exportado solo puede contener una animación. Para los emotes 2.0, puedes tener un clip para el avatar y un clip para el prop. Si se duplicaron animaciones durante el proceso, asegúrate de eliminarlas todas antes de exportar. Conserva solo la versión final. Los emotes en secuencia que necesitan muchas animaciones para funcionar (action start, action loop y action end) no son compatibles por ahora.

Formato

Las animaciones deben exportarse como .GLB. El archivo solo puede contener el esqueleto de deformación y la animación. Mesh, controls y cualquier otro objeto no deben exportarse. Se pueden encontrar más detalles sobre cómo exportar a continuación.

Muestreo

Como las constraints no se pueden exportar, la única forma de exportar el clip de animación es bakeándolo, lo que significa que las posiciones, la rotación y la escala de todos los deform bones tendrán keyframe en cada frame de la animación. Si el clip es demasiado largo, por ejemplo de hasta 300 frames, tendrá 300 keyframes después de exportarlo, y cuantos más keyframes tenga, más pesado se vuelve el archivo.

El muestreo es una buena forma de optimizar la animación. La tasa de muestreo definirá con qué frecuencia se horneará un keyframe en la animación. Por ejemplo, si la tasa de muestreo está configurada en 2, eso significa que se creará un keyframe cada dos frames. Una tasa de muestreo de 3 horneará un keyframe cada tres frames y así sucesivamente. Cuanto mayor sea la tasa de muestreo, más liviano será el archivo.

La desventaja, sin embargo, es que la animación empezará a ser cada vez menos fluida, ya que pierde algunos keyframes importantes (se distribuyen por la animación de manera desigual). También es importante notar que el muestreo NO consiste en dividir el número de frames de la animación por la tasa de muestreo.

Normalmente, una tasa de muestreo de 2 o 3 será suficiente. Esos números pueden optimizar la animación sin comprometer la calidad.

💡 ¡Consejo!

Si el número de frames de la animación puede dividirse por la tasa de muestreo, ¡eso es algo bueno! Significa que el frame final se horneará, preservando la transición del final al inicio de la animación.

Tamaño del archivo

El tamaño máximo del archivo es 3 MB. Si el archivo supera eso después de exportarlo, intenta comprobar si la mesh no se exportó por accidente o si la animación no supera los 10 segundos. Si sigue superando los 3 MB, prueba a experimentar con la tasa de muestreo, ya que valores más altos mejorarán la optimización.

Si el emote contiene algún modelo 3D adicional, las texturas de esos modelos no pueden superar un tamaño de 1024 píxeles.

Exportación

Como solo queremos que se exporten la armature y la animación, desactiva la visibilidad de la mesh y de cualquier objeto que no sea la armature antes de exportar, como se muestra abajo:

¡Desactiva la visibilidad del mesh antes de exportar!

Para exportar, ve a File > Export > glTF2.0 (.glb, .gltf)

Para la configuración de exportación, expande Include y, en Limit to, activa Visible Objects. Luego, expande la pestaña Data, expande Armature y habilita Export Deformation Bones Only.

Si necesitas muestrear la animación, expande la pestaña Animation, expande Sampling Animations y elige el número deseado de samples.

¡Eso es todo para exportar la animación!

Referencias

Si todavía no sabes por dónde empezar o necesitas alguna referencia o inspiración, aquí tienes algunos clips de animación para ayudarte con eso. ¡Pueden ser un buen material de estudio!

Idle.glb

Jump.glb

Walk.glb

Run.glb

Pose_Jump.glb

Pose_Spin.glb

Spotlight.glb

Fashionista.glb

Chic.glb

Flag_Emote.glb

Flag_Emote.blend

Última actualización