> 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

Para llevar tus Emotes de Decentraland al siguiente nivel, puedes agregar props (geometría 3D) y/o sonidos a ellos, haciendo que los emotes sean 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 Blender plugin](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 agregar los props a tus emotes, es importante usar el [Archivo de plantilla de Decentraland](https://raw.githubusercontent.com/decentraland/documentation-creators/main/images/emotes/BaseMale_Rig_1.0.blend) que incluirá 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 los props solo funcionan con Armature/Bones Animations, lo que significa que las animaciones \_transform**\_\*\* no están permitidas.\*\*

El emote con sus props debe exportarse todo junto en un solo *.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 materials y 2 textures para los props.
* No más de 62 bones para la 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 exceder 300 frames o 10 segundos.
* Los límites del espacio son de 4 metros cuadrados. Los props y las partículas deben permanecer dentro del cubo de referencia proporcionado en el Avatar File. 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 nomenclatura:**

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

#### Convenciones de nombres de Armatures:

**Para Avatar:**

`Armature`

**Para Props:**

`Armature_Prop`

#### Convenciones de nombres de las animaciones:

**Para Avatar:**

`AnimationName_Avatar`

* Ejemplo: `TennisServe_Avatar`, `GunShoot_Avatar`

**Para Props:**

`AnimationName_Prop`

* Ejemplo: `TennisServe_Prop`, `GunShoot_Prop`

## **Empezando**

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 obtener más información sobre cómo hacerlo.

Asegúrate de que el objeto prop y la armature tengan sus orígenes ubicados en la posición 0,0 dentro de Blender. Además, aplica las transformaciones al objeto prop y a la armature, asegurándote de que queden congeladas 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 World 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 se puede hacer simplemente añadiendo una constraint. Para hacerlo, en ***Pose Mode***, selecciona el bone del prop (por ejemplo, el de la raqueta de tenis), presiona ***CTRL + Shift + C*** en tu teclado y selecciona ***Child Of*** o simplemente haz clic en la ***Bone Constraint Properties*** pestaña y, en el menú desplegable, selecciona ***Child Of***.

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

Luego, en ***Target***, selecciona la 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 Influence es 1, el prop seguirá por completo al bone seleccionado; si es 0, la constraint se desactivará. Puedes establecer keyframes en la Influence para activarla y desactivarla durante toda la animación. Para hacerlo, solo presiona I mientras el cursor esté sobre ***Influence***.

***Child Of** menú de la constraint. Crea keyframes en la Influence 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 manualmente la posición, 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. ¡Así el prop conservará 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 inicio! Para evitar arruinar lo que está por suceder y una transición abrupta, comienza la animación con el prop reducido a 0.001 y solo súbelo a 1 cuando quieras que aparezca. Recuerda volver a reducirlo 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 feature: 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 hacen posible guardar 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 clips de animación implicados en Emotes 2.0, no funcionará. Así que el flujo de trabajo sería:

1. Crea un clip de animación para el avatar, o renombra el proporcionado (***Starting\_Pose***). Ya tiene un animation slot, pero si quieres puedes usarlo (***Avatar\_Animation***) o crear uno nuevo.
2. Renombra el clip de animación ***AnimationName\_Avatar***
3. Crea un clip de animación 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 clip de animación para el avatar y otro para el prop, **deben tener exactamente el mismo número de frames.**

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

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

Poniendo actions en las NLA tracks.

{% hint style="warning" %}
⚠️ Ten cuidado al enviar actions a las NLA tracks. Asegúrate de seleccionar la armature deseada con la animación correspondiente. No cambies solo la animación y la envíes antes de seleccionar la otra armature, o de lo contrario asignarás dos actions a una armature y ninguna a la otra.
{% endhint %}

Las NLA tracks deben 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 distintos objetos para tus props, puedes fusionarlos en una sola mesh. Puedes hacerlo simplemente seleccionando los objetos y presionando el atajo ctrl + J.

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

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

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

## **Exportación**

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

Ten visibles solo la armature del avatar, la armature del prop y la mesh del prop para 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.

|   |   |
| - | - |

¡Pulsa Export y listo!

## **Añadir audio a los emotes**

### Formato y limitaciones de los clips de audio

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

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

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

### Editar sonidos

Para agregar sonidos a tus emotes, puedes hacerlo de distintas maneras:

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

Una forma de agregar sonidos a tus emotes es usando el editor de video sequencer que ofrece Blender.

Para empezar a agregar sonidos, ve a *Editor Type> Video Sequencer.*

Arrastra y suelta tus sonidos en la interfaz de canales.

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

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

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

2. **Renderiza la animación y añade 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 dedicado de edición de sonido de tu elección.

Hay varias opciones de software que puedes usar, como [Audacity](https://www.audacityteam.org/) (Gratis y OpenSource), Adobe Audition, Ableton Live o ProTools. Usar un 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, simplemente puedes 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 agregar sonidos.

Al renderizar un emote, es importante incluir solo el rango de frames de tu emote y nada más. Elige una relación de aspecto que se adapte 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" %}
**¡Sugerencia!**

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

Una vez que completes este paso, usa tu video como referencia para crear los sonidos correspondientes utilizando tu software de edición de sonido preferido. **Asegúrate de que la secuencia de video coincida con la tasa de fotogramas 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 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/wearables-y-emotes/emotes/props-and-sounds.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.
