> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-es/modelado-3d-y-animaciones/animations.md).

# Animations

La animación es el arte de dar vida a las cosas. Y no hay mejor manera de hacer que tu escena sea más animada que añadiendo algunas animaciones a tus modelos 3D.

{% hint style="info" %}
**💡 Consejo**: Instala el [plugin Blender de Decentraland Tools](https://extensions.blender.org/add-ons/decentraland-tools/). Incluye varias funciones útiles para ayudarte a editar y exportar modelos 3D, wearables y emotes.
{% endhint %}

Hay varias formas de hacerlo: mediante **animación de objeto**, mediante un **rig (animación esquelética)**, o usando **shape keys (animación de morph target)**.

**La animación de objeto** es la mejor opción para modelos simples, como una pelota que rebota, un globo giratorio o una silla flotante, y no necesita armature. Es importante mencionar que la animación de objeto es diferente de la **animación de vértices**. En la animación de objeto, el modelo se animará como un todo, mientras que en la animación de vértices cada vértice del objeto puede animarse por separado.

**Las shape keys (también conocidas como morph targets o blend shapes)** son una forma de animación de vértices que **son compatibles con el motor de Decentraland**. Son especialmente útiles para expresiones faciales, sincronización labial o cualquier deformación que sea difícil de lograr solo con huesos. Las animaciones de shape keys incrustadas en un archivo glTF/GLB se reproducirán en el mundo igual que las animaciones esqueléticas o de objeto.

Si tienes un modelo más complejo, como una persona, una criatura o maquinaria, entonces necesitarás un **rig**. Un rig no es más que un esqueleto digital que moverá y deformará la malla. El proceso de vincular la malla al esqueleto se llama Skinning, donde defines qué hueso afectará a cada grupo de vértices y cuánta será esa influencia, asegurándote de que el modelo se deforme de la mejor manera posible.

Para cualquiera de los dos métodos, sin embargo, todas las animaciones de un modelo 3D deben estar incrustadas dentro de su *glTF* archivo, ya que no puedes referenciar animaciones en archivos separados.

## Creando una animación

Así es como creas animaciones usando Blender.

### Animación de objeto

* Asegúrate de tener abierta la pestaña ***Dope Sheet*** > ***Action Editor*** y haz clic en ***New*** para añadir un clip de animación.
* Renómbralo como prefieras y asegúrate de activar ***Fake User*** (el icono del escudo) para que tu animación se guarde.
* Establece un keyframe en el primer frame seleccionando el objeto y pulsando ***I***. Luego mueve el objeto, rótalo o escálalo y, en otro frame de la línea de tiempo, pulsa ***I*** de nuevo para establecer otro keyframe con las transformaciones actuales.
* El frame final de la animación debería ser igual al primero, así que simplemente copia el primer frame y pégalo en el último.

![](/files/dec87ef1cbd92aba02db7905dcb1f47fa9614b3e)

*Creando un clip de animación y añadiendo keyframes.*

### Animación de rig

Para una animación de rig, necesitarás un armature. Si quieres hacerlo tú mismo, consulta [Crear un Rig](https://www.notion.so/686e6f59a1604585b059f990a36b2d55) para obtener instrucciones sobre cómo configurar un armature consistente.

Cuando el rigging esté terminado y el skinning tenga buenas deformaciones, ¡ya estás listo para empezar tu animación! El proceso es muy similar al de la Animación de objeto, pero en lugar de hacerlo en ***Object Mode***, la animarás en ***Pose Mode***.

* Ve a ***Pose Mode*** y asegúrate de tener el ***Dope Sheet*** > ***Action Editor*** y haz clic en ***New*** para añadir un clip de animación.
* Renómbralo como prefieras y asegúrate de activar ***Fake User*** (el icono del escudo) para que tu animación se guarde.
* Con el mouse sobre el ***Viewport***, pulsa ***A*** para seleccionar todo y luego ***I*** para establecer un keyframe para todo el armature.
* Muévete a un frame diferente en la línea de tiempo y manipula el hueso como quieras para conseguir la pose que deseas. Puedes cambiar la ubicación, rotación y escala de un hueso según cómo hayas configurado tu rig.
* Cuando tengas un buen resultado, establece otro keyframe para todo el armature. Sigue haciéndolo hasta terminar tu animación. Recuerda que el primer y el último frame deben ser iguales si la animación va a repetirse en bucle.

![](/files/fed72b26cc939bc7719a9191641376849da7693b)

Si eres nuevo en el proceso de animación, echa un vistazo a este tutorial con algunos buenos consejos para principiantes:

[![Video Preview](https://img.youtube.com/vi/-iWslh4uQIk/maxresdefault.jpg)](https://youtu.be/-iWslh4uQIk)

## Animaciones con skinning vs Animaciones de transform

**Las animaciones de transform suelen ser mejores que las animaciones de mallas con skinning en términos de rendimiento porque implican menos sobrecarga en recursos computacionales necesarios para mostrar la animación.**

La animación de malla con skinning implica usar una malla con un esqueleto de huesos ponderados a los vértices de la malla. El esqueleto se anima, lo que a su vez anima la malla. Este proceso puede ser bastante costoso en términos computacionales, especialmente cuando hay un gran número de vértices que animar.

Las animaciones de transform, por otro lado, implican animar directamente las propiedades de transform de un objeto (como su posición, rotación y escala). Esto puede hacerse con menos recursos computacionales que la animación de malla con skinning, ya que normalmente hay menos propiedades de transform que animar que vértices en una malla.

Además, las animaciones de transform a menudo pueden precalcularse y almacenarse en un formato más compacto, como datos de keyframes, que pueden accederse y reproducirse rápidamente sin necesidad de cálculos intensivos en tiempo real.

En general, aunque la animación de malla con skinning puede producir animaciones más detalladas y realistas, las animaciones de transform suelen preferirse para aplicaciones críticas en rendimiento, como los videojuegos.

## Creando y exportando múltiples clips de animación

Puedes tener tantos clips de animación como quieras para tu modelo. Puedes consultar cómo crear, explorar y eliminar animaciones en [esta sección aquí](https://www.notion.so/5e962e5d54a24bcb9b906748007eb4cc).

En el video de abajo, aprenderás a exportar múltiples animaciones desde Blender en un solo archivo GLB.

[![Video Preview](https://img.youtube.com/vi/YxAB4bujO_w/maxresdefault.jpg)](https://www.youtube.com/watch?v=YxAB4bujO_w\&ab_channel=Decentraland)

## Exportando muchas animaciones como una sola

A diferencia de una animación esquelética, donde puedes hacer rig de varios objetos y combinar sus animaciones en un solo clip de animación, en la animación de objeto no puedes hacerlo. Las animaciones se exportarán por separado y solo se reproducirá un objeto a la vez. Una solución para esto es fusionar muchas animaciones en una sola, de modo que tengas un clip de animación en el que todos los objetos se muevan al mismo tiempo.

Para hacer eso, desplaza hacia abajo a la ***Nonlinear Animation Track*** la animación de cada objeto, como se muestra abajo.

![](/files/39f8b2373f6804a678211931d35bacff5a9da4df)

*Desplaza hacia abajo la animación de cada objeto a la NLA Track.*

Una vez que todas las animaciones estén listadas en el NLA Editor, selecciona todos los objetos, ve a **File > Export > glTF2.0**. Expande Include y marca Selected Objects. Expande Animation, vuelve a expandir Animation y desmarca **Group by NLA Track**. Puedes renombrar el clip de animación en Merged Animation Name y luego solo pulsa **Export glTF 2.0**.

![](/files/4e729b7952866722c9d0325794e213b8b60d1a2a)

*para exportar múltiples animaciones como una sola.*

Ten en cuenta que esto solo funcionará si los objetos tienen una sola animación cada uno. Si los objetos tienen varios clips de animación, lo mejor es exportarlos por separado.

{% hint style="info" %}
**💡 Consejo**: En lugar de crear tus propias animaciones, también puedes descargar animaciones genéricas y aplicarlas a tu modelo. Por ejemplo, para personajes 3D con características similares a las humanas, puedes descargar animaciones gratuitas o de pago de [Mixamo](https://www.mixamo.com/#/).
{% endhint %}

## Muestreo

A veces tu archivo de animación puede acabar siendo demasiado pesado debido a la cantidad de animaciones o a la combinación de animación+modelo.

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 se establece 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 ligero 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 forma 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** hará el truco. Esos números pueden optimizar la animación sin comprometer la calidad.

Puedes encontrar la ***Sampling Rate*** en la configuración de exportación, dentro de ***Animation***.

![](/files/73989357d351235a3ca6143f2e41de3259dcb453)

{% hint style="info" %}
**💡 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.
{% endhint %}

## Implementando animaciones

Este documento cubre cómo añadir animaciones a un modelo 3D. Consulta [**manejar animaciones**](https://docs.decentraland.org/creator/development-guide/3d-model-animations/) para obtener instrucciones sobre cómo activar y manejar animaciones en una escena.

## Mejores prácticas para animaciones

* Mantén el armature lo más simple posible, crea solo huesos para las partes del modelo que pretendes animar. Los huesos pueden afectar al rendimiento, así que asegúrate de añadir solo lo que realmente sea necesario.
* Si la animación va a reproducirse en bucle en tu escena, asegúrate de que la pose final sea idéntica a la inicial para una mejor transición.
* Nunca dejes a un personaje sin animación, aunque en realidad no esté haciendo nada. Crea una animación "idle" para cuando el personaje esté quieto. El idle puede incluir movimientos sutiles como respirar y quizás miradas ocasionales.
* No dejes huesos sin posar, como manos, dedos, cabeza o cuello. Los detalles son realmente importantes en una buena animación y un movimiento rígido solo la hará menos creíble.
* Evita demasiados keyframes, a menos que sea extremadamente necesario. Cuantos más keyframes añadas, mayores serán las probabilidades de obtener una mala interpolación y una animación más pesada.
* Selecciona todos tus huesos (incluidos los deformadores) y establece un keyframe en el primer y último frame de tu animación. Esto evitará tener huesos sin información, causando que una animación afecte a la otra de forma no intencionada.
* Asegúrate de que tu archivo solo tenga un armature cuando lo exportes. Al importar animaciones, también se importará un armature junto con ellas. Todas las animaciones deben ser realizadas por el mismo armature base, así que elimina cualquier cosa que no necesites.
* Renombra siempre tus huesos y animaciones. ¡Mantén todo organizado!
* Al exportar el *glTF* modelo, confirma que estás exportando todos los objetos y animaciones. Algunos exportadores solo exportarán el ***actualmente seleccionado*** por defecto.
* Después de exportar el modelo, inspecciónalo en [Babylon Sandbox](https://sandbox.babylonjs.com/) y comprueba si todas las animaciones funcionan y tienen los nombres esperados.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-es/modelado-3d-y-animaciones/animations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
