> 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/wearables/creating-wearables.md).

# Creación de Wearables

![](/files/6a639b6687fc4f30b27bd09102e11aa228a20d16)

## Introducción

Esta guía presenta los conceptos básicos para crear modelos 3D personalizados para wearables de Decentraland. Explica cómo funciona el sistema de avatar de Decentraland, e ilustra cómo modelar correctamente tus propios wearables.

*Nota: esta guía asume que ya tienes conocimientos básicos a intermedios de modelado 3D. Si eres nuevo en el modelado 3D,* [*empieza aquí*](https://docs.decentraland.org/creator/3d-modeling/3d-models/)*.*

{% hint style="info" %}
**💡 Consejo**: Instala el [plugin Decentraland Tools 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 %}

Antes de comenzar, descarga los archivos de ejemplo para consultar los meshes y textures de referencia: [**Modelos de referencia de wearables**](https://drive.google.com/drive/u/1/folders/12hOVgZsLriBuutoqGkIYEByJF8bA-rAU)

## El sistema de avatar de Decentraland

El "avatar system" de Decentraland es la amplia colección de diferentes componentes y subcomponentes del cuerpo que pueden decorarse con wearables personalizados. Estos components son:

* Body shape
* Head
  * Head shape
  * Eyebrows
  * Eyes
  * Mouth
* Upper body
* Lower body
* Handwear
* Feet
* Accessories

### **Base Body Shape**

Después de descargar el archivo de ejemplo del avatar base, carga el modelo en tu editor 3D, como Blender.

Notarás que cada modelo contiene 8 meshes diferentes relacionadas con una armature. Estos meshes representan la head, eyebrows, eyes, mouth, upper body, lower body, hands y feet. Puedes usar estos modelos de ejemplo como referencia y punto de partida para tu wearable personalizado.

Actualmente, hay dos body shapes: A o B.

![](/files/65bf82b9723968460adbdb332a40d1ac28998d6f)

### **Head**

![](/files/29b253bee5ba47934a5b72726426f874e81e4341)

*La base head incluye diferentes meshes adjuntas que pueden personalizarse como wearables: Eyebrows, Eyes y Mouth funcionan como máscaras de transparencia renderizadas frente al rostro.*

### **Upper Body**

![](/files/f9be0173b045b82286f1536ea95290492f98e1f8)

*El upper body, o torso, de un avatar. No incluye las hands.*

### **Lower Body**

![](/files/10668012e9d90d0f6b342a5279a01f257443bd35)

*El lower body incluye la pelvis y las piernas de un avatar.*

### **Hands**

![](/files/ea4f7c424902de36d9b6f8f2e640bc108a00348e)

*Las hands son las mismas para Shape A y B, y comienzan en las muñecas de un avatar.*

### **Feet**

![](/files/bf03ba93d38d2a7df673e8ee5fb8d32bd3b49be2)

*Feet incluye los tobillos y el foot.*

{% hint style="warning" %}
**Importante: no modifiques los vertices "cuts/stitches" entre la head, upper y lower body.**
{% endhint %}

Cada parte del body tiene tapas, lo que las hace "water tight". Estas tapas existen para evitar fallos antiestéticos si hay problemas de clipping en la animación debido a un mal skin weighting. Lo mejor es no eliminar estas tapas al editar el mesh.

![](/files/a0486fd3efab4d84c88688c870b07911d26dcdc1)

## Creación de modelos 3D para wearables

#### **Limitaciones de tris, materials y textures**

Para garantizar que Decentraland funcione sin problemas para todos los players, es importante crear modelos de wearables sin usar demasiados triangles, materials y textures. El objetivo es mantener los modelos 3D lo más simples posible para que puedan renderizarse fácilmente, sin sacrificar demasiado detalle.

Hay límites para el número de triangles y textures que se pueden usar para cada wearable o accessory:

* No más de 1.5K triangles por wearable slot: hat, helmet, upper body, lower body, feet y hair.
* No más de 500 triangles por category: mask, eyewear, earring, tiara, top\_head y facial hair.
* Para los hand accessories, el presupuesto es de 1k tris. Si el hand wear oculta la hand base del avatar, el presupuesto es de 1.5k tris.
* No más de 2 textures (con una resolución de 512x512px o menor) por wearable. Todas las textures deben ser cuadradas con una resolución de 72 píxeles/pulgada.
* No más de 2 materials (sin contar el AvatarSkin\_MAT)
* En el caso del skin wearable, la cantidad de tris permitidos es de 5k y 5 textures.

{% hint style="warning" %}
**Combiner de tris de wearables:**

*Si el wearable oculta otros wearables, el creador puede combinar los tris por slot. Por ejemplo: si quieres hacer un jumpsuit, podrías crearlo usando la categoría upper body y ocultando lower body; en ese caso podrías tener 1.5K*2 = 3K triangles.\*

En el caso del helmet, si ocultas todos los wearables de la head (head, earrings, eyewear, tiara, hat, facial\_hair, hair y top\_head, puedes alcanzar los 4k tris, 2 materials y 2 textures)
{% endhint %}

#### Dimensión máxima de ancho, alto y profundidad de los wearables

Existe un límite de distancia para los wearables para garantizar que no obstruyan la visibilidad de las pantallas de otros players ni invadan el espacio de la scene de una manera excesiva.

Las dimensiones de los wearables no pueden exceder:

> `Altura: 2.42 m`, `Anchura: 2,42 m`, `Profundidad: 1,4 m`

![](/files/ecc5fe57011b295b9ac1b7266ee28cabef83c1fc) ![](/files/ee53bab3daaf89ac0cae33c686c41d198e1d40c3)

#### **Maps**

Los wearables de Decentraland actualmente soportan 3 tipos de maps, que son:

1. **Base Color**: Esta es la textura principal con los colores y detalles de tu modelo.
2. **Emission**: Este map es para las partes que brillan en tu modelo. El emission map va en un material separado específicamente para emission.
3. **Alpha**: Este map se usa para manejar la transparencia. Usa el canal de opacidad de la texture. (*Siempre es preferible usar Alpha Clip en lugar de Alpha Blend, usando una textura en blanco y negro para el recorte*)

![](/files/e1da8ab92bde80f6948d6c459be3d3e3cc2dc132)

Como el reference client de Decentraland usa un Toon Shader para los materials del avatar, algunos maps son **innecesarios** como:

* **Normal maps:** texturas usadas para simular detalles de alta resolución en modelos de baja poligonización mediante la codificación de normals de superficie como valores RGB.
* **Roughness maps:** texturas usadas para definir la rugosidad de la superficie de objetos 3D.

Para usar estos maps en Decentraland, la solución es hornearlos en una sola texture. Puedes encontrar más información sobre baking textures aquí: <https://docs.blender.org/manual/en/latest/render/cycles/baking.html>

#### **Normals**

**El engine de Decentraland solo renderiza normals de un solo lado.** (Eso significa que un plane solo será visible desde un lado, el otro lado no se renderizará). Así que, para asegurarnos de que tu 3D esté completamente correcto con las normals, podemos comprobarlo de dos maneras diferentes.

La primera es activar "Backface culling" en la configuración de propiedades de Material; esta es una buena práctica para detectar normals invertidas, como en esta imagen:

![](/files/5deb51b60cb261a86453a1545e2aa514d52aaaba) ![](/files/283b1b798b981e9d9ed0b56148112870ece6abd1)

La segunda forma de comprobar si las normals están bien es activar "Face orientation" en las opciones de superposición del viewport. Esto pondrá tu modelo azul, pero no te preocupes. Las caras azules son las correctas y las rojas son las que necesitan corregirse; puedes encontrar esta opción aquí:

![](/files/a06f5ac267519e111ec5e81975a23192d7917ba1)

#### **Armature**

Recuerda no cambiar ninguna de las especificaciones, convenciones de nombres, jerarquía o transforms de la armature proporcionada. Cambiar cualquiera de estas hará que el wearable deje de funcionar en el client después de exportar.

![](/files/67338668c82b7d0e902d92d6393fb9f493d325d4)

Asegúrate de que la armature importada no tenga ningún *end* o *neutral* bones, de lo contrario el wearable no va a funcionar después de exportarlo al builder. Si estás importando un .fbx que tiene este problema, puedes activar ***Ignore Leaf Bones*** al importar la armature.

![](/files/98b38b3f0d13c18a6fa1c5039e91e99c0761f178)

{% hint style="info" %}
**Spring Bones:** Los wearables pueden incluir bones adicionales más allá de la armature base para física dinámica (por ejemplo, cabello que se balancea, pendientes colgantes). Estos bones deben contener `springbone` en su nombre. Ver [Spring Bones](https://docs.decentraland.org/creator/wearables-and-emotes/wearables/spring-bones) para más detalles completos.
{% endhint %}

#### **Eyebrows, Eyes and Mouth**

Estos meshes funcionan con un shader transparente, así que no tienes que hacer nada más que crear tu propia textura png para el nuevo estilo de eyebrow, eye o mouth que quieras y colocarla correctamente en el UV map. Estas textures deben ser de 256x256px y necesitan tener un canal alpha para la transparencia.

Aquí hay algunas texturas png de ejemplo:

![](/files/79c9549ef8d2227290d259b670afd7e3fe2a547e) ![](/files/eafc4d515c29ea56a7715123ba8b67a83d099a17) ![](/files/2cded0f9ad1fc9f26f75dc35712ca12732ab4060)

*Eyes y Eyewbrows usan el mismo mesh y UV map.*

![](/files/663bc4bbff1e3f06c17cc281eb4da908d963f674) ![](/files/ccd1019bef5f35f2353ff2db88f0a3c653aa6d00)

*Mesh y UV map de Mouth.*

Para visualizar el resultado final necesitarás usar estos nodes (en Blender):

![](/files/5b7eb8d6b0dbeb26b0785407b495bddf7852c9f5) ![](/files/1a2b3b3d8b3c4bc9ef811e4e14bc9a5599f3841d)

**Masks:** El Avatar Editor tiene diferentes opciones de color que los players pueden elegir para personalizar sus avatars.

![](/files/aa613e5543e8c9894344ac74784f8e2b575d4f37)

Estas opciones de color se aplican a una mask específica del wearable.

![](/files/e915035c0419fffb0d107ffef265ae853fc3eee5) ![](/files/eded79c6ab3947027607ef5eaeccf1fd000eeb3a)

La zona negra de la imagen de la izquierda (Eyes Mask) indica el área de la texture de la derecha (Eyes Base) que será coloreada. Es importante recordar que las irises siempre necesitan tener una escala de grises (si el iris es completamente negro, el tint no va a funcionar. Por el contrario, si el iris es completamente blanco quedará totalmente tintado por el color seleccionado usando el editor).

#### **Handwear**

Hay dos tipos de **Handwear** que puedes hacer dentro de la misma category.

1. **Replacing Hands:**

![](/files/ef039b7d3eb446be39f3caf32f9c22eefe0128a4)

Si quieres crear handwear que reemplace ambas hands, probablemente necesitarás sobrescribir el ***hand*** base mesh. Haciendo eso, el límite para el wearable de handwear sería de 1500 tris.

2. **Hand Accessories:**

![](/files/f53c9c880f51b4ae9839600dc6099ff5c4bd8d15)

También puedes crear hand accessories como relojes, pulseras, anillos, etc. En ese sentido, la hand no necesita ser sobrescrita y el límite es de 1000 tris por item.

{% hint style="warning" %}
Nota: la **handwear** category es específicamente para hand accessories o para reemplazar hands que sigan la armature del avatar con el skinning adecuado. No está pensada para items como espadas, escudos o cualquier asset similar. Enviar un item que no siga estas especificaciones puede resultar en el rechazo por parte del comité de curadores.
{% endhint %}

#### **Hair and Facial Hair**

{% hint style="success" %}
**Consejo:** Hair y otros accesorios colgantes ahora pueden usar **spring bones** para moverse dinámicamente en respuesta al movimiento del avatar y la gravedad. En lugar de cabello estático, puedes añadir cadenas de spring bones para hacer que coletas, trenzas y cabello largo se balanceen de forma natural. Ver [Spring Bones](https://docs.decentraland.org/creator/wearables-and-emotes/wearables/spring-bones) para una guía completa.
{% endhint %}

Hay dos cosas importantes que recordar al crear wearables de hair personalizados.

Primero, trata de seguir la forma de la head. Siempre puedes consultar el head mesh proporcionado en los archivos de ejemplo si necesitas un punto de partida.

![](/files/87e73c16cd3c290f25d5df35a36e2c2abe73c3b9)

Segundo, si quieres que los users puedan cambiar el color del hair o facial hair usando el avatar editor, entonces necesitas pintar el hair en escala de grises y usar "Hair" en la nomenclatura del material (ejemplo "M\_Hair\_Short"). Si quieres incluir otro object que no esté influenciado por el tint, simplemente no añadas esa convención de nombres.

![](/files/e096c7be8e5e89b7a2d4fc349c592f708a8a7229) ![](/files/acbf17106c4e8eafd202b9b2759fee8efb88c5b4) ![](/files/c621bd9af82acea109b3c701a9c3603178c74e3f)

*Los tonos más bajos de gris aparecerán más oscuros y los tonos más altos de gris aparecerán más brillantes, multiplicados por el color seleccionado por el user en el avatar editor.*

### **Materiales y Textures base**

Hay tres materials básicos para los modelos de avatar. Uno es el material usado para el wearable en sí, otro se usa para la skin y otro para las Eyebrows, Eyes y Mouth.

![](/files/ed8fa83547d4b3160b1e2cfeab8bd5ac91d6a03e)

Cada base mesh viene con su propia skin texture.

![](/files/056f50959ebaae1277b670a3ed6b7b6dc98fe7dc) ![](/files/007911df2a7f8b5a74d9565ebddba8852b731c4d)

La skin texture está hecha en escala de grises, por lo que permite al render engine tintar la skin del avatar usando el editor según la preferencia del user. Para poder tintar el color de la skin usando el editor, el nombre del material debe ser *AvatarSkin\_MAT*.

![](/files/4500e967c1f998b1674067ef79ff854486f9cb5f)

{% hint style="warning" %}
Importante: preserva siempre el UV mapping de cualquier parte del body que quede expuesta por un wearable, como las legs expuestas por los shorts o skirts.
{% endhint %}

\src="../images/wearables-and-emotes/creating-wearables/19\_skin\_uv.png"width="600"/>

¡Puedes crear textures personalizadas para tus wearables! Sin embargo, siempre es mejor usar un solo archivo de texture muy pequeño para cada wearable. Usar la texture por defecto de AvatarWearable\_MAT proporcionada en los archivos de ejemplo garantizará que tus wearables tengan un buen rendimiento.

![](/files/5682358387254fb91bdf9fb6178ee7c21ab94ff6)

{% hint style="warning" %}
Para evitar activar shaders específicos de rasgos faciales, no incluyas '\_mouth', '\_eyebrows' o '\_eyes' en la nomenclatura de ningún mesh. Estos términos están reservados para los rasgos faciales, y usarlos de forma incorrecta aplicará el shader equivocado al mesh.
{% endhint %}

✨ En caso de que quieras hacer tus propias textures para el modelo, recomendamos los siguientes addons para un mejor UV Unwrapping:

**UVPacker**

UvPacker es un addon gratuito que te ayuda a empaquetar y organizar tus uvs con solo unos pocos clics. Como Decentraland trabaja con 512x para los wearables, esta herramienta es de gran ayuda para crear textures mejores y más organizadas.

Puedes descargarlo directamente desde el sitio web aquí:

[**https://www.uv-packer.com/download/**](https://www.uv-packer.com/download/)

**UVToolKit**

UvToolKit es un addon que te ayuda a ampliar tus opciones y ajustes de UV para crear excelentes UVs en Blender.

Aquí está el enlace para la descarga: [**https://alexbel.gumroad.com/l/NbMya**](https://alexbel.gumroad.com/l/NbMya)

### **Skin Weighting**

El skin weighting es el proceso de determinar qué bones en el rigging del avatar afectan a qué wearables durante una animación.

Al hacer skin weighting de nuestros nuevos wearables, hay varias consideraciones que debemos tener en cuenta.

Cada asset debe estar ponderado al esqueleto completo. Por ejemplo, un asset de upper body se verá así al aplicar skin weights:

![](/files/11d61800883834196496fd14a25b8b5de6231403)

Los wearables que se unen en las intersecciones entre partes del body deben estar completamente ponderados al mismo bone. Por ejemplo, en estas dos zonas verdes, los vertices del neck deben estar completamente ponderados solo al bone "Neck".

![](/files/97b594d6f7b704e2b44f6625df05cbefd659c296)

#### **Key Bones**

Los bones "clave" que se usan al hacer skin weighting son:

**Head Bone:** para el hair, earrings, tiaras, eyes, eyebrows, mouth y cualquier accessory que necesite seguir el movimiento de la head.

**Neck Bone:** para los vertices de intersección entre la head principal y el upper body.

**Hips Bone:** para los vertices de intersección entre el upper body y el lower body.

**Right Leg and Left Leg Bones:** para los vertices de intersección entre el lower body y los feet.

**Right Forearm and Left Forearm** para los vertices de intersección de las hands.

{% hint style="warning" %}
⚠️ **Pista**

* Recuerda que puedes usar cualquier bone para influir en los vertices de cualquier mesh. Por ejemplo, podrías crear un nuevo foot mesh para unas botas altas, y hacer skin weight de la parte superior de la bota con los "Leg Bones". O podrías crear cabello largo y usar los bones "Shoulder" o "Spine" para influir en el hair cuando el avatar se mueve.
* Siempre es recomendable mantener simetría en ambos lados del rig; el lado izquierdo y el derecho deberían tener influencias de bones similares.
* Como consejo general, un vertex no puede ser influenciado por más de 4 bones o joints.
* Ten en cuenta exportar la armature exactamente como la que se proporciona en la documentación. Si tiene otros bones como *"\_end\_bones"* o similares, no va a funcionar en el client.
  {% endhint %}

#### **Exportación de wearables**

Al exportar wearables, asegúrate de que no haya otros bones fuera de la Armature dada, **excepto por spring bones** (bones con `springbone` en su nombre, usados para física dinámica). Un problema común al importar armatures entre diferentes software es la aparición de *"\_end"* o *"\_neutral"* bones. Asegúrate de eliminarlos antes de exportar. De lo contrario, es muy probable que los wearables no funcionen en el client después.

![](/files/75d3b10f268f51d6c428b663385a792396b0ec99)

Para exportar el wearable, selecciona el object y luego la armature. Asegúrate de no exportar nada más, como cameras, lights o empty objects.

A continuación, exporta el wearable en *glTF2.0* formato. Asegúrate de exportar solo el wearable con sus propiedades de skinning, y sin otras funciones innecesarias como animation o shape keys.

![](/files/c5710a88396a7ba8edd712037cfa04af1724b816)

## Buenas prácticas para modelar

### **Cambia tu Mesh de T-Pose a A-Pose**

Cuando haces wearables, la mejor manera de visualizar el resultado final y de facilitar cómo manejas la topology y la posición del wearable es trabajar con el modelo en A-Pose. Para hacerlo, tienes que seguir estos simples pasos:

1. Primero selecciona el upper body, luego tienes que activar "**Edit mode**" y "**On cage**" en el armature modifier.

![](/files/2cbacab9ad5fe4e93b6c4952c0acb02a1ac606c3)

2. Ahora, en pose mode puedes rotar los brazos 60°.

![](/files/e7c6913645cd878ba8dbb3b9e5ebb8b5c443fa65)

3. Puedes editar tu mesh en A-Pose en lugar de T-pose.

![](/files/da1a1ade3ca06251b730c25d2939b895060e7758)

4. Pero también es bueno tener en cuenta que puedes alternar fácilmente de A-Pose a T-Pose solo volviendo a activar "Edit mode" y "On cage" en el armature modifier.

![](/files/c86750aad51f3714639dcd9629442b549c120eab)

### **Deformación de joints:**

Para obtener los mejores resultados en la topology del wearable cuando se trata de joints (brazos o piernas, por ejemplo), es importante tener buenas prácticas al crear loops. Aquí podemos ver la diferencia en la deformación del mesh para diferentes loop cuts:

![](/files/8bc38bc837f283d18ba4c7160d3f0e68e73c6ea8)

Una buena manera de asegurar que todo se deforma correctamente es hacer un weight paint como el siguiente ejemplo:

![](/files/1be186352b9b4950eca2c97ccb13e0ea885e6fa8) ![](/files/b6fc82e43154bb85a33d7c8ad44d777b1e238018)

### **Skirts**

Un consejo útil y una buena práctica al modelar skirts/dresses es añadir loopcuts adicionales en las intersecciones de los pliegues. Esto será muy útil cuando tengas que pintar los weights del rig.

![](/files/f0b7bd874fba2d8c20ece89aae97ad0d157e09c3)

Con estos loopcuts la influencia de los vertices se ve mucho más suave y te dará mejores resultados cuando animes un skirt/dress.

Aquí hay un ejemplo de cómo debería ser la influencia de los bones:

![](/files/455ec4c16af9522d518503b9b367d30b388f767d)

### **Hats**

Una buena práctica al crear hats es añadir un hair al base mesh del hat y luego ocultar la category *hair* usando el editor. Hacer esto va a evitar que el hat haga clipping con otros hairs y reducirá resultados inesperados.

![](/files/70b2ee487096a24428caa37d90b80b3241b9fdb5)

### **Agregar conteo de polígonos**

Un consejo valioso es llevar siempre un control del polycount de tus modelos. Para hacerlo en Blender necesitas activar las estadísticas en el panel de viewport overlays.

![](/files/77d1c924a5ae8fbbb9bdda688587b009afbbb798)

### Recursos

En esta carpeta compartida puedes encontrar modelos base, textures y diversos otros recursos, incluyendo ejemplos de wearables completamente creados. Siéntete libre de aprovechar estos recursos al crear los tuyos.

[**Modelos de referencia de wearables**](https://drive.google.com/drive/u/1/folders/12hOVgZsLriBuutoqGkIYEByJF8bA-rAU)


---

# 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/wearables/creating-wearables.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.
