> 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/wearables-y-emotes/emotes/props-and-sounds.md).

# Props y sonidos

Guías para añadir props y sonidos a los emotes.

Para llevar tus Decentraland Emotes al siguiente nivel puedes añadirles props (geometría 3D) y/o sonidos, ¡haciendo los emotes mucho más divertidos y atractivos! En esta guía encontrarás todo lo que necesitas saber para exportarlos correctamente!

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

## **Lo básico y las limitaciones**

Para empezar a añadir los props a tus emotes, es importante usar el [Decentraland Template File](https://raw.githubusercontent.com/decentraland/documentation-creators/main/images/emotes/BaseMale_Rig_1.0.blend) que tendrá el rig del avatar y también la Ground Reference para mantener tu trabajo dentro de los límites permitidos del espacio.

**Actualmente, las animaciones de props solo funcionan con animaciones de Armature/Bones, lo que significa que las animaciones \_transform**\_\*\* no están permitidas.\*\*

El emote con sus props debe exportarse todo junto en un único *.glb* archivo (Avatar\_Armature + Props\_Armature con sus animaciones).

* No más de 3 MB en total.
* No más de 3k tris en total para los props.
* No más de 2 materiales y 2 texturas para los props.
* No más de 62 bones para el armature del prop.
* El emote debe tener una animación para el avatar y una animación para el prop. *Actualmente no se permiten múltiples animaciones.*
* Ambas animaciones (Avatar y Prop) deben tener la misma longitud de keyframes.
* Las animaciones no pueden superar los 300 frames o 10 segundos.
* Los límites del espacio son de 4 metros cuadrados. Los props y las particles deben permanecer dentro del cubo de referencia proporcionado en el archivo del Avatar. Para el movimiento del avatar, consulta [Ground Reference and Animation Area](/creator/content-creator-es/wearables-y-emotes/emotes/creating-emotes.md#ground-reference-and-animation-area). sección.

## **Convenciones de nombres:**

¡Las convenciones de nombres deben seguirse estrictamente para que los emotes funcionen! De lo contrario, no se reproducirán correctamente ni en Builder ni en World.

#### Convenciones de nombres de Armatures:

**Para Avatar:**

`Armature`

**Para Props:**

`Armature_Prop`

#### Convenciones de nombres de Animations:

**Para Avatar:**

`AnimationName_Avatar`

* Ejemplo: `TennisServe_Avatar`, `GunShoot_Avatar`

**Para Props:**

`AnimationName_Prop`

* Ejemplo: `TennisServe_Prop`, `GunShoot_Prop`

## **Primeros pasos**

Antes de empezar tu animación, tendrás que crear un rig para el prop. Si no estás familiarizado con el proceso, consulta [Crear un rig](/creator/content-creator-es/modelado-y-animaciones-3d/create-a-rig.md) para más información sobre cómo hacerlo.

Asegúrate de que el objeto del prop y el armature tengan sus orígenes ubicados en la posición 0,0 dentro de Blender. Además, aplica las transformaciones al objeto del prop y al armature, asegurándote de que queden congelados con una escala de 1,1,1. Esto es crucial para evitar cualquier posible problema con el comportamiento del prop cuando se utilice dentro del mundo o durante las animaciones.

#### Hacer que el Prop siga el rig del Avatar

Algunos props pueden tener que estar sujetos a ciertas partes del cuerpo, como una raqueta de tenis a la mano. Eso puede hacerse simplemente añadiendo una constraint. Para hacerlo, en ***Pose Mode*** , selecciona el bone del prop (el de la raqueta de tenis, por ejemplo), pulsa ***CTRL + Shift + C*** en tu teclado y selecciona ***Child of*** o simplemente haz clic en la ***Bone Constraint Properties*** tab y, en el menú desplegable, selecciona ***Child of***.

*Añade una constraint pulsando `Ctrl + Shift + C` en tu teclado.*

Luego, en ***Target*** , selecciona el armature del avatar y en ***Bone*** selecciona el bone que quieres que siga el prop. Para mantener la posición original del prop, haz clic en ***Set Inverse*** una vez que añadas la constraint. Si la influencia es 1, el prop seguirá completamente al bone seleccionado; si es 0, la constraint se desactivará. Puedes establecer keyframes en la influencia para activarla y desactivarla durante la animación. Para hacerlo, solo pulsa I mientras el cursor está sobre ***Influence***.

***Chlid of** menú de la constraint. Define keyframes en la influencia para activarla y desactivarla.*

{% hint style="info" %}
**💡¡Consejo de animación!** Si usas el deslizador para desactivar la Influence, el prop no mantendrá su posición anterior, lo que dificulta que la animación se mantenga fluida. Para evitar tener que corregir la posición manualmente, en lugar de usar el deslizador, haz clic en la X junto a Influence, establece un keyframe en ella y otro en todos los atributos de transform. De esta manera, el prop mantendrá la misma posición que cuando la Influence estaba activada.
{% endhint %}

{% hint style="info" %}
**💡Consejo de animación**

¡No dejes el prop visible desde el principio! Para evitar arruinar lo que va a suceder y una transición abrupta, empieza la animación con el prop escalado a 0.001 y súbelo a 1 solo cuando quieras que aparezca. Recuerda volver a escalarlo a 0 al final de la acción. ¡Esto hará que las transiciones sean mucho más fluidas y geniales!
{% endhint %}

### Slots de animación

Blender 4.4 introdujo una nueva función: animation slots. Según la documentación de Blender, “el propósito de los slots es permitir que una action almacene datos de animación distintos para múltiples data-blocks”. En pocas palabras, los slots permiten almacenar la animación de varias cosas en la misma Action. ¿Cómo afecta esto a los Emotes 2.0?

Nueva función de Blender 4.4: animation slots.

Aunque es posible que tanto el avatar como el prop compartan el mismo action clip, debido a la convención de nombres y al número de animation clips involucrados en Emotes 2.0, no funcionará. Así que el flujo para esto sería:

1. Crea un animation clip para el avatar, o renombra el proporcionado (***Starting\_Pose***). Ya tiene un animation slot, pero siéntete libre de usarlo (***Avatar\_Animation***) o crea uno nuevo.
2. Renombra el animation clip ***AnimationName\_Avatar***
3. Crea un animation clip para el prop y renómbralo ***AnimationName\_Prop***
4. Haz clic en ***New*** botón para crear un animation slot para él (recibirá un nombre automático: ***Armature\_Prop***)
5. Anima como lo harías en versiones anteriores de Blender.

Creando un action clip y un slot para la animación del prop.

## **NLA Tracks**

Para que todas las animaciones se exporten, los clips deben añadirse a las NLA Tracks. Asegúrate de que haya solo un animation clip para el avatar y otro para el prop, **deben tener exactamente la misma cantidad de frames.**

En ***Object Mode***, selecciona el armature del avatar, ve a ***Pose Mode***, selecciona el animation clip correspondiente en el menú Browse Action, haz clic en ***Action*** y luego en ***Push Down*** opción.

Luego, vuelve a ***Object Mode***&#x50;ose mode ***Pose mode***, selecciona el animation clip correspondiente en el menú Browse Action, haz clic en ***Action*** y luego en ***Push Down*** opción.

Empujando actions a las NLA Tracks.

{% hint style="warning" %}
⚠️ Ten cuidado al empujar actions hacia abajo. Asegúrate de seleccionar el armature deseado con la animación correspondiente. No cambies simplemente la animación y la empujes hacia abajo antes de seleccionar el otro armature, o de lo contrario estarás asignando dos actions a un armature y ninguna al otro.
{% endhint %}

Las NLA Tracks deberían verse así: una animación para cada armature.

{% hint style="info" %}
**🔥 Consejo de optimización**

**Antes de este paso, asegúrate de hacer una copia de seguridad de tu proyecto.**

Si tienes diferentes objetos para tus props, puedes fusionarlos en una sola mesh. Puedes hacerlo simplemente seleccionando los objetos y pulsando el atajo ctrl + J.

Esto ayudaría a reducir los draw calls en el juego, haciendo que el emote rinda mejor.

Ten en cuenta, sin embargo, que esto no funcionará para particles.

*Selecciona los objetos y pulsa `Ctrl+J` para fusionarlos.*
{% endhint %}

## **Exportación**

Los Emotes 2.0 se exportan de la misma manera que los emotes comunes. Asegúrate de que solo el armature del avatar, el armature del prop y las meshes del prop estén visibles, y oculta todo lo demás.

Ten visibles solo el armature del avatar, el armature del prop y la mesh del prop para exportar.

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

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

|   |   |
| - | - |

Pulsa Export y ¡listo!

## **Añadir Audio a los Emotes**

### Formato y limitaciones para los Audio Clips

* El formato correcto para exportar sounds para tus emotes es `.mp3` y `.ogg`.
* El audio clip debe tener la misma duración que el emote.
* Aunque no hay limitación de tamaño para el audio, el emote con props y sounds no puede superar los 3 MB.

{% hint style="info" %}
**📔 Nota**: Si el emote tiene sound (mp3 or ogg), debe comprimirse junto con el .glb en un .zip. Después de eso, solo arrastra y suelta el .zip en Builder. Más detalles pueden encontrarse aquí: [Subiendo un emote con sonido](/creator/content-creator-es/wearables-y-emotes/gestionar-colecciones/uploading-emotes.md#uploading-emotes-using-a-zip-file)
{% endhint %}

{% hint style="info" %}
**💡 ¡Atención!** Ten en cuenta que los audio clips usados en el emote deben ser IP original (Intellectual Property), tener los derechos de reproducción y seguir los [Política de Contenido](https://decentraland.org/content/)criterios.
{% endhint %}

### Editar sonidos

Para añadir sonidos a tus emotes puedes hacerlo de diferentes maneras:

1. **Edita tus sounds directamente en Blender**

Una forma de añadir sonidos a tus emotes es usando el editor de secuencias de vídeo que proporciona Blender.

Para empezar a añadir sonidos ve a *Editor Type> Video Sequencer.*

Arrastra y suelta tus sounds en la interfaz de canales.

Pulsa el atajo `N` para ver más opciones para gestionar tus sonidos, como mostrar la waveform, convertir tus sonidos a Mono o cambiar el volumen.

{% hint style="info" %}
Si quieres hacer fade in y fade out, puedes hacerlo simplemente añadiendo keyframes de 0 a 1 y viceversa a la propiedad volume.
{% endhint %}

Una vez que hayas terminado de editar tus sonidos, puedes exportarlos yendo a *Render> Render Audio*. En la opción de exportación debes seleccionar `.mp3` o `.ogg` el formato en la *Container* sección y luego *Mixdown*. **Solo se exportará el audio dentro del rango de frames.**

2. **Renderizar la animación y añadir sonido con un software de edición de sonido**

Aunque editar sonidos directamente en Blender puede ser conveniente, no es muy flexible porque el software no está enfocado principalmente en la edición de sonido. Las herramientas disponibles son muy básicas. Si quieres darle un toque más profesional a tus sonidos, te recomendamos usar un software de edición de sonido dedicado de tu elección.

Hay varias opciones de software que puedes usar, como [Audacity](https://www.audacityteam.org/) (Free and OpenSource), Adobe Audition, Ableton Live o ProTools. Usar software dedicado de edición de sonido te proporcionará una gama más amplia de herramientas, funcionalidades y efectos de sonido, permitiéndote mejorar tus sonidos y darles un aspecto más profesional.

Para renderizar tu emote, puedes simplemente añadir una cámara a tu escena de Blender y posicionarla de manera que puedas ver todos los elementos lo más claramente posible para luego tener una buena referencia para añadir sonidos.

Al renderizar un emote, es importante incluir solo el rango de frames de tu emote y no más. Elige una relación de aspecto que se ajuste a tus necesidades y selecciona la carpeta de salida donde quieres que se guarde el video o la secuencia de imágenes.

{% hint style="info" %}
**¡Consejo!**

*¡Antes de renderizar, asegúrate de hacer un renderizado con muestreo bajo para ahorrar tiempo en tu render!*
{% endhint %}

Una vez completado este paso, usa tu video como referencia para crear los sonidos correspondientes usando tu software de edición de sonido preferido. **Asegúrate de que la secuencia de video coincida con la tasa de frames de la animación de 30 frames por segundo (fps)**


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/creator/content-creator-es/wearables-y-emotes/emotes/props-and-sounds.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
