Crear emotes

Consejos y pautas para crear emotes de Decentraland.

Esta documentación cubrirá las especificaciones de archivo, los fundamentos de la animación en Blender, la manera correcta de exportar un Emote y cómo importarlo en el Builder.

Tabla de Especificaciones de Animación

Frecuencia de Fotogramas
30 fps

Longitud Máxima

10 segundos (300 fotogramas)

Animaciones por Archivo

1

Formato de Exportación

.glb

Tasa de Muestreo

2 o 3 (si es necesario)

Tamaño Máximo de Archivo

1 MB

Distancia Máxima de la Animación

1 metro (en cualquier dirección)

Altura Máxima de la Animación

1 metro

Tamaño Máximo de Textura

1024 píxeles

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 para Rig 1.0, sus controles y características.

Decentraland Blender Rigarrow-up-right

circle-info

Si estás usando Maya puedes descargar este Maya Rigarrow-up-right y selectorarrow-up-right proporcionado por SparkleStudiosarrow-up-right ❤️.

Antes de Empezar

Frecuencia de Fotogramas

Antes de comenzar, es importante verificar la frecuencia de fotogramas. Las animaciones de Decentraland deben tener una frecuencia de 30 fps. El archivo del rig proporcionado probablemente ya tenga eso configurado, pero dado que el valor por defecto de Blender es 24 fps, es mejor comprobarlo antes de empezar (una frecuencia incorrecta afectará la velocidad de la animación). Esa opción se encuentra en Output Properties (el icono de la impresora) bajo Format, como se muestra a continuación:

Asegúrate de que la framerate esté configurada a 30 fps antes de empezar.

Asegúrate de que la framerate esté configurada a 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 pueden hacerse 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.

Cambiando a Pose Mode.

Cambiando 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, un Dope Sheet, y una Timeline.

  • Graph Editor: En este editor es posible editar las curvas de animación de cada propiedad de transform del control seleccionado. Esas curvas muestran cómo se calcula la interpolación y pueden editarse 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á canales relacionados con el control seleccionado. Esto puede activarse y desactivarse simplemente haciendo clic en el icono de la flecha.

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

  • Timeline: Aquí se encuentran la línea de tiempo y los controles de reproducción. Aquí, el 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 superior está en el Graph Editor, la del medio en el Dope Sheet, y la inferior es la Timeline. La flecha roja superior muestra la Only Show Selected herramienta y la inferior muestra la Auto Keying.

circle-info

💡 Hint!

Dado que 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.

Comenzando

Pose Inicial

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, realmente recomendamos empezar tu animación desde esa pose y también usarla nuevamente en el último fotograma. Esto hará una mejor transición de Idle a Emote y una animación más fluida.

circle-info

💡 Hint!

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!**

Referencia del Suelo y Área de Animación

Para evitar la penetración del suelo durante la animación, se ha añadido un plano al archivo como referencia del suelo. Junto con la referencia del área de animación, también ayuda a identificar el área que puede usarse para la animación. Como referencia, el círculo más pequeño en el plano tiene un radio de 2 metros y el más grande, 4 metros.

Referencia de suelo y área de animación.

Referencia de suelo y área de animación.

El centro de gravedad del avatar es el CTRL_Avatar_UpperBody. El límite para moverlo es 1 metro (izquierda, derecha, adelante, atrás), así que intenta mantenerlo dentro del círculo más pequeño durante la animación. Los brazos y las piernas pueden exceder el círculo pequeño hasta el más grande. En cuanto a la altura, siempre que el cuerpo del avatar no esté fuera de la caja y la root esté dentro del área proporcionada en el archivo, debería estar listo.

Avatar centrado.

Avatar centrado.

Distancia máxima a la derecha.

Distancia máxima a la derecha.

Distancia máxima a la izquierda.

Distancia máxima a la izquierda.

Distancia máxima hacia arriba.

Distancia máxima hacia arriba.

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

Spotlight

Spotlight

Thalia Dance

Thalia Dance

circle-info

💡 Attention!

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

Creando 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 consideres. ¡No es necesario crear uno desde cero!

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

Belnder 4.4 introdujo Slotted Actions, el icono a la derecha de la sección Browse Action de versiones anteriores. No es necesario 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 en _**New**_.

Explorar y Eliminar Animaciones

En Blender, puedes tener múltiples pistas de animación en el mismo archivo. Es posible explorarlas haciendo clic en el menú desplegable Browse Action. Toda animación con una F (Fake User) se guardará. Para eliminar una animación, presiona 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 tienen una F se guardarán, y las que tienen 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 bajo Display Mode en el outliner.

circle-info

💡 Hint!

No edites siempre la misma pista de animación. Antes de hacer cambios importantes, simplemente duplica la animación. De ese modo tendrás una versión de respaldo en caso de que te arrepientas de eliminar 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 comenzar 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 nombres:

  • Snowfall

  • Rainbow_Dance

  • Throw_Money

  • Talk_To_Hand

Emote Overrides

Los emote overrides ocurren cuando los deform bones no tienen un keyframe establecido en uno de los parámetros. Sin un keyframe, ese hueso 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 el mundo y luego activas el tuyo mientras el anterior aún se está reproduciendo, la información de ubicación, rotación y escala será sobrescrita por el emote anterior, lo que causará 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 veces dejando el emote completamente estropeado. A continuación hay un ejemplo de un emote override.



Para evitar eso, selecciona todas las capas con huesos en ellas (que se pueden encontrar en Object Data Properties > Skeleton > Layers). Luego, en Pose Mode, deja el cursor de la línea de tiempo en el primer fotograma 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 del armature para hacer visibles todos los canales. Con todos los huesos seleccionados, presiona I para establecer un keyframe. Haz lo mismo para el último fotograma.

¡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 huesos verdes en el Viewport.

 Establecer keyframes en todos los huesos en el primer y último fotograma previene los emote overrides.

Las Especificaciones de la Animación

La Duración de la Animación

La longitud máxima de una animación es 10 segundos o 300 fotogramas. Recuerda keyframear las propiedades de cada control en el primer y último fotograma.

circle-exclamation


¡Haz visibles los canales antes de keyframear!

Número de Animaciones

Si es un emote estándar (sin prop), el archivo exportado solo puede tener una animación. Para 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 eliminar todas antes de exportar. Mantén 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 ahora mismo.

Formato

Las animaciones deben exportarse como .GLB. El archivo solo puede contener el esqueleto deformante y la animación. Mesh, controls y cualquier otro objeto no deberían ser exportados. Más detalles sobre cómo exportar se pueden encontrar a continuación.

Muestreo

Dado que las constraints no pueden exportarse, la única forma de exportar el clip de animación es horneándolo (baking), lo que significa que las posiciones, rotación y escala de todos los deform bones serán keyframeadas en cada fotograma de la animación. Si el clip es muy largo, por ejemplo hasta 300 fotogramas, tendrá 300 keyframes después de exportar y cuantos más keyframes tenga, más pesado será 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 fotogramas. Una tasa de muestreo de 3 horneará un keyframe cada tres fotogramas, y así sucesivamente. Cuanto mayor sea la tasa de muestreo, más ligero será el archivo.

La desventaja, sin embargo, es que la animación empezará a perder fluidez ya que se pierden algunos keyframes importantes (se distribuyen por la animación de forma desigual). También es importante notar que el muestreo NO está dividiendo el número de fotogramas de la animación por la tasa de muestreo.

Usualmente, una tasa de muestreo de 2 o 3 hará el truco. Esos números pueden optimizar la animación sin comprometer la calidad.

circle-info

💡 Hint!

Si el número de fotogramas de la animación se puede dividir por la tasa de muestreo, ¡eso es bueno! Significa que el fotograma final será horneado, preservando la transición del final al inicio de la animación.

Tamaño de Archivo

El tamaño máximo de archivo es 3 MB. Si el archivo supera eso después de exportar, intenta comprobar si el mesh no se exportó por accidente o si la animación no supera los 10 segundos. Si aún excede 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 modelos 3D adicionales, las texturas en esos modelos no pueden exceder un tamaño de 1024 píxeles.

Exportando

Dado que solo queremos que se exporten el armature y la animación, apaga la visibilidad del mesh y de cualquier objeto que no sea el armature antes de exportar, como se muestra a continuación:



¡Apaga la visibilidad del mesh antes de exportar!

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



Para los ajustes 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 de muestras deseado.





¡Eso es todo para exportar la animación!

Referencias

Si aún no sabes por dónde empezar o necesitas alguna referencia o inspiración, aquí hay algunos clips de animación que te pueden ayudar. ¡Estos pueden ser buen material de estudio!

Idle.glbarrow-up-right

Jump.glbarrow-up-right

Walk.glbarrow-up-right

Run.glbarrow-up-right

Pose_Jump.glbarrow-up-right

Pose_Spin.glbarrow-up-right

Spotlight.glbarrow-up-right

Fashionista.glbarrow-up-right

Chic.glbarrow-up-right

Flag_Emote.glbarrow-up-right

Flag_Emote.blendarrow-up-right

Última actualización