Creando emotes

Consejos y directrices 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.

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 animación

1 metro (en cualquier dirección)

Altura máxima de 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 abajo.

Recursos

Esta documentación explica la configuración del 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 pickerarrow-up-right provisto por SparkleStudiosarrow-up-right ❤️.

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. El archivo del rig proporcionado probablemente ya tenga eso configurado, pero dado que el valor por defecto de Blender es 24 fps, es mejor verificarlo antes de comenzar (una frecuencia de fotogramas incorrecta afectará la velocidad de la animación). Esa opción se encuentra en Output Properties (el icono de impresora) bajo Format, como se muestra a continuación:

Asegúrate de que la tasa de fotogramas esté configurada a 30 fps antes de comenzar.

Asegúrate de que la tasa de fotogramas esté configurada a 30 fps antes de comenzar.

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.

Cambiar a Pose Mode.

Cambiar a Pose Mode.

Interfaz para animaciones

En el archivo del rig, además de las dos ventanas del viewport (vista frontal y lateral), hay tres más en la parte inferior: un Graph Editor, un Dope Sheet, y un 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 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 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í es donde se encuentran la timeline 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 comenzar 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

💡 ¡Consejo!

Dado que Blender es altamente personalizable, este también es un buen momento para configurar el diseño que mejor te convenga, 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 existe una acción, la Starting_Pose. Considerando que todas las acciones del avatar comienzan desde la pose idle, te recomendamos encarecidamente comenzar 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

💡 ¡Consejo!

Si quieres hacer una animación en bucle, no es necesario comenzar la animación desde la Starting Pose. ¡Siéntete libre de usar la pose que tenga más sentido para tu animación!

Referencia de suelo y área de animación

Para evitar la penetración en el 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 se puede usar para la animación. Para 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 de 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, mientras el cuerpo del avatar no esté fuera de la caja y la root esté dentro del área provista en el archivo, debería estar listo.

Avatar centrado.

Avatar centrado.

Distancia máxima derecha.

Distancia máxima derecha.

Distancia máxima izquierda.

Distancia máxima 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

💡 ¡Atención!

Ten cuidado con estos límites porque cruzarlos podría causar problemas en la 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 prefieras. ¡No es necesario crear uno desde cero!

En la sección de Browse Action , 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 otro nombre.

Blender 4.4 introdujo Slotted Actions, el icono a la derecha de la sección de Browse Action de versiones anteriores. No es necesario tocar eso si estás creando un emote sin prop, así que puedes dejarlo tal 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**_.

En Blender, puedes tener múltiples pistas de animación en el mismo archivo. Es posible navegar por ellas haciendo clic en el menú desplegable Browse Action. Todas las animaciones con una F (Fake User) se guardarán. 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.

 Navegando 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 en Display Mode en el outliner.

circle-info

💡 ¡Consejo!

No edites siempre la misma pista de animación. Antes de hacer cambios importantes, simplemente duplica la animación. De esa manera tienes una versión de respaldo en caso de arrepentirte de borrar o cambiar algo. ¡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

Anulaciones de Emotes

Las anulaciones de emotes 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 debe estar, cuánto se ha rotado o escalado, dejando ese canal abierto. La consecuencia es que si reproduces un emote en el mundo y luego activas el tuyo mientras el anterior todavía se está reproduciendo, la información de ubicación, rotación y escala 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 en otras ocasiones dejando el emote completamente desordenado. A continuación hay un ejemplo de una anulación de emote.



Para evitar eso, selecciona todas las capas con huesos en ellas (que se pueden encontrar en Object Data Properties > Skeleton > Layers). Entonces, en Pose Mode, deja el cursor de la timeline 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 las anulaciones de emotes.

Las especificaciones de animación

La duración de la animación

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

circle-exclamation


¡Haz visibles los canales antes de keyframearlos!

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 las animaciones se duplicaron 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 (inicio de acción, bucle de acción y fin de acción) no son compatibles en este momento.

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 deben exportarse. Más detalles sobre cómo exportar se pueden encontrar abajo.

Muestreo

Dado que las constraints no pueden exportarse, la única forma de exportar el clip de animación es horneándolo, lo que significa que las posiciones, rotación y escala de todos los deforming bones serán keyframeadas en cada fotograma de la animación. Si el clip es demasiado largo, por ejemplo hasta 300 fotogramas, tendrá 300 keyframes después de la exportación y cuantos más keyframes tenga, más pesado será el archivo.

El muestreo es una buena manera 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á en 2, 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 comenzará a perder fluidez ya que se pierden algunos keyframes importantes (se distribuyen a lo largo de la animación de manera 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 será suficiente. Esos valores pueden optimizar la animación sin comprometer la calidad.

circle-info

💡 ¡Consejo!

Si el número de fotogramas de la animación puede dividirse por la tasa de muestreo, ¡es algo 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 excede eso después de exportar, intenta verificar si el mesh no se exportó por accidente o si la animación no excede los 10 segundos. Si todavía supera los 3 MB, prueba a experimentar con la Sampling Rate, 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.

Exportación

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 estás seguro por dónde empezar o necesitas alguna referencia o inspiración, aquí hay algunos clips de animación para ayudarte. ¡Pueden ser un 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