# Criação de Wearables

![](/files/41c06d1907c0e70d3338fb7abc4728f2fd623878)

## Introdução

Este guia apresenta os fundamentos para criar modelos 3D personalizados para wearables do Decentraland. Ele explica como funciona o sistema de avatar do Decentraland e ilustra como modelar corretamente seus próprios wearables.

*Nota: este guia pressupõe que você já tenha algum conhecimento básico a intermediário de modelagem 3D. Se você é novo em modelagem 3D,* [*comece aqui*](https://docs.decentraland.org/creator/3d-modeling/3d-models/)*.*

Antes de começar, baixe os arquivos de exemplo para referência de meshes e textures: [**Wearables Reference Models**](https://drive.google.com/drive/u/1/folders/12hOVgZsLriBuutoqGkIYEByJF8bA-rAU)

## O Sistema de Avatar do Decentraland

O "sistema de avatar" do Decentraland é a ampla coleção de diferentes componentes e subcomponentes corporais que podem ser decorados com wearables personalizados. Esses componentes são:

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

### **Base Body Shape**

Após baixar o arquivo de exemplo do avatar base, carregue o model no seu editor 3D, como o Blender.

Você notará que cada model contém 8 meshes diferentes relacionadas a uma armature. Essas meshes representam a head, eyebrows, eyes, mouth, upper body, lower body, hands e feet. Você pode usar esses models de exemplo como referência e ponto de partida para seu próprio wearable personalizado.

Atualmente, existem dois body shapes: A ou B.

![](/files/7cc7ff102eb2768f53006e61832dbed9ead3da5d)

### **Head**

![](/files/627cddfd4617361e2eaf96581b1326c780a884f4)

*A head base inclui diferentes meshes anexadas que podem ser personalizadas como wearables: Eyebrows, Eyes e Mouth funcionam como máscaras de transparência renderizadas na frente do rosto.*

### **Upper Body**

![](/files/1272210ae9c11c61fb35e51c5673d4562e210d9e)

*O upper body, ou torso, de um avatar. Não inclui as hands.*

### **Lower Body**

![](/files/39174b52cc6e01e53d941f1374d0db0624dd72e5)

*O lower body inclui a pelve e as pernas de um avatar.*

### **Hands**

![](/files/ed6f9a3d2a15eb1ba39b5cc63b93863dce785b22)

*As hands são as mesmas para Shape A e B, e começam nos pulsos de um avatar.*

### **Feet**

![](/files/c9277f47adf1492c876b991f8caf24493de3aa7b)

*Feet incluem os tornozelos e o pé.*

{% hint style="warning" %}
**Importante: não modifique os vértices de "cuts/stitches" entre a head, upper e lower body.**
{% endhint %}

Cada parte do corpo tem tampas, tornando-as "water tight". Essas tampas existem para evitar falhas visuais desagradáveis caso haja problemas de animation clipping devido a um skin weighting ruim. É melhor não remover essas tampas ao editar o mesh.

![](/files/72791a6fca85d53ed90b886f0de81a14c4007594)

## Construindo Modelos 3D para Wearables

#### **Tris, materials and texture limitations**

Para garantir que o Decentraland funcione sem problemas para todos os jogadores, é importante criar models de wearable sem usar triângulos, materials e textures em excesso. O objetivo é manter os models 3D o mais simples possível para que possam ser renderizados facilmente, sem sacrificar muito detalhe.

Há limites para o número de triângulos e textures que podem ser usados para cada wearable ou accessory:

* No máximo 1,5K triangles por wearable slot: hat, helmet, upper body, lower body, feet e hair.
* No máximo 500 triangles por categorias: mask, eyewear, earring, tiara, top\_head e facial hair.
* Para hand accessories, o orçamento é de 1k tris. Se o hand wear esconder a hand base do avatar, o orçamento é de 1,5k tris.
* No máximo 2 textures (com resolução de 512x512px ou menor) por wearable. Todas as textures devem ser quadradas, com resolução de 72 pixel/polegada.
* No máximo 2 materials (sem contar o AvatarSkin\_MAT)
* No caso de skin wearable, a quantidade de tris permitida é 5k e 5 textures.

{% hint style="warning" %}
**Wearable Tris Combiner:**

*Se o wearable esconder outros wearables, o creator pode combinar os tris por slot. Por exemplo: se você quiser fazer um macacão, você poderia criá-lo usando a categoria upper body escondendo lower body; nesse caso você poderia ter 1,5K*2 = 3K triangles.\*

No caso do helmet, se você esconder todos os wearables da head (head, earrings, eyewear, tiara, hat, facial\_hair, hair e top\_head, você pode chegar a 4k tris, 2 materials e 2 textures)
{% endhint %}

#### Dimensão Máxima de Largura, Altura e Profundidade dos Wearables

Há um limite de distância para wearables para garantir que eles não obstruam a visibilidade das telas de outros jogadores nem invadam o espaço da scene de forma excessiva.

A dimensão dos wearables não pode exceder:

> `Altura: 2,42 m`, `Largura: 2,42 m`, `Profundidade: 1,4 m`

![](/files/fdf887806b97d27f2e35e62bd0de7dfb5250f7fa) ![](/files/8ab823722edf3832308d14241af435b1c11e7d9a)

#### **Maps**

Os wearables do Decentraland atualmente suportam 3 tipos de maps, que são:

1. **Cor Base**: Esta é a textura principal com as cores e detalhes do seu model.
2. **Emission**: Este map é para as partes que estão brilhando no seu model. O emission map vai em um material separado especificamente para emissão.
3. **Alpha**: Este map serve para lidar com transparência. Ele usa o canal de opacidade da texture. (*É sempre preferível usar Alpha Clip em vez de Alpha Blend, usando uma texture em preto e branco para o recorte*)

![](/files/dc18052226ff42bc65cda2ede7f613a6eeed0ee2)

Como o cliente de referência do Decentraland usa um Toon Shader para os materials do avatar, alguns maps são **não necessários** como:

* **Normal maps:** textures usadas para simular detalhes de alta resolução em models de baixa poligonalidade, codificando normais de superfície como valores RGB.
* **Roughness maps:** textures usadas para definir a rugosidade da superfície de objetos 3D.

Para usar esses maps no Decentraland, a alternativa é fazer bake deles em uma única texture. Você pode encontrar mais informações sobre bake de textures aqui: <https://docs.blender.org/manual/en/latest/render/cycles/baking.html>

#### **Normals**

**O engine do Decentraland renderiza apenas normals de um lado.** (Isso significa que um plano só será visível de um lado; o outro lado não será renderizado) Portanto, para garantir que seu 3D esteja absolutamente correto com as normals, podemos verificar isso de duas maneiras diferentes.

A primeira é ativar "Backface culling" nas configurações de propriedades do Material; essa é uma boa prática para identificar normals invertidas, como nesta imagem:

![](/files/301b0928f2ec8413d1d6eb2121869ad9fb5dfd81) ![](/files/02285ae7271b98b41d9150517d2b8a52fa6d5d7f)

A segunda maneira de verificar se as normals estão corretas é ativando "Face orientation" nas opções de overlay do viewport. Isso deixará seu model azul, mas não se preocupe. As faces azuis são as corretas e as vermelhas são as que precisam ser corrigidas; você pode encontrar essa opção aqui:

![](/files/d3be7ec0265ead1d93a6a5ebc95f1485845c14ab)

#### **Armature**

Lembre-se de não alterar nenhuma das especificações, convenções de nomenclatura, hierarquia ou transforms da armature fornecida. Alterar qualquer uma dessas coisas fará com que o wearable pare de funcionar no client após a exportação.

![](/files/634bef43b333e9af15fe2adb2bf2ee2fe6c1b7ac)

Certifique-se de que a armature importada não tenha nenhum *end* ou *neutral* bones; caso contrário, o wearable não vai funcionar após exportar para o builder. Se você estiver importando um .fbx que tenha esse problema, você pode ativar ***Ignore Leaf Bones*** ao importar a armature.

![](/files/d633a65aa17b90dbe88d6ea05aec10c2973f5be6)

#### **Eyebrows, Eyes e Mouth**

Essas meshes funcionam com um shader transparente, então você não precisa fazer nada além de criar sua própria textura png para o novo estilo de eyebrow, eye ou mouth que deseja e posicioná-la corretamente no UV map. Essas textures devem ter 256x256px e precisam de um alpha channel para transparência.

Aqui estão algumas texturas png de exemplo:

![](/files/c279f30a5a263dcffddb885d0e87c3b8f36d454f) ![](/files/283fea03639d636f8c4b9d535524b0406fd9ddc2) ![](/files/4645500298c3bff706bfa2e2fadd826a78155da6)

*Eyes e Eyebrows usam o mesmo mesh e UV map.*

![](/files/4d1cfb93cc07f3ca0f3f00561783dfdefa62ab81) ![](/files/d96161ec669d682c00ee46aab3585c24a48a55eb)

*Mesh e UV map da Mouth.*

Para visualizar o resultado final, você vai precisar usar estes nodes (no Blender):

![](/files/b9227ffd3f41fec3208a6bea59637de6701999e9) ![](/files/331a42db1c0d053bc85ac166625da7df4aee4b04)

**Masks:** O Avatar Editor tem diferentes opções de cor que os players podem escolher para personalizar seus avatars.

![](/files/11ce731e951cd3a987c53e9e4a778be093e7480a)

Essas escolhas de cor são aplicadas a uma mask específica no wearable.

![](/files/68e13a767eac2c0df0f20275b64d70adc979be44) ![](/files/eef448987279c17a380f1f0b63cd3546c982f9f3)

A área preta na imagem à esquerda (Eyes Mask) indica a área da texture à direita (Eyes Base) que será colorida. É importante lembrar que as íris sempre precisam ter uma escala de cinza (se a íris for totalmente preta, a tint não vai funcionar. Pelo contrário, se a íris for totalmente branca, ela será totalmente tingida pela cor selecionada no editor).

#### **Handwear**

Existem dois tipos de **Handwear** que você pode fazer dentro da mesma categoria.

1. **Replacing Hands:**

![](/files/ba972b2836373c9416505d75f3f290a0593464fb)

Se você quiser criar handwear que substitua ambas as hands, provavelmente precisará sobrescrever o ***hand*** base mesh. Fazendo isso, o limite para o wearable de handwear será de 1500 tris.

2. **Hand Accessories:**

![](/files/3a363afb454ef2d64323d95bf48b4a09db9c4bfd)

Além disso, você pode criar hand accessories como relógios, pulseiras, anéis etc. Nesse sentido, a hand não precisa ser substituída e o limite é de 1000 tris por item.

{% hint style="warning" %}
Nota: a categoria **handwear** é especificamente para hand accessories ou para a substituição de hands que seguem a armature do avatar com skinning adequado. Ela não se destina a itens como espadas, escudos ou qualquer asset semelhante. Enviar um item que não siga essas especificações pode resultar em rejeição pelo comitê de curadores.
{% endhint %}

#### **Hair e Facial Hair**

Há duas coisas importantes para lembrar ao criar wearables personalizados de hair.

Primeiro, tente seguir a forma da head. Você sempre pode consultar o mesh da head fornecido nos arquivos de exemplo se precisar de um ponto de partida.

![](/files/d82acf4b5e5224f413beace750efd68416847305)

Segundo, se você quiser que os usuários possam alterar a cor do hair ou facial hair usando o avatar editor, então você precisa pintar o hair em tons de cinza e usar "Hair" no nome do material (exemplo: "M\_Hair\_Short"). Se quiser incluir outro object que não seja influenciado por tint, basta não adicionar essa convenção de nomenclatura.

![](/files/1e57f1b435a66a54edb2758784e052c38aa2ebad) ![](/files/0b27a487dd401e80df8a24beb515068052a8b621) ![](/files/3be0c276e4253374125c039f9ea5c72c37cbea70)

*Tons mais escuros de cinza aparecerão mais escuros e tons mais claros de cinza aparecerão mais brilhantes, multiplicados pela cor selecionada pelo usuário no avatar editor.*

### **Materiais e Texturas Base**

Há três materials básicos para models de avatar. Um é o material usado para o wearable em si, outro é usado para a skin e outro para as eyebrows, eyes e mouth.

![](/files/f7999ca42f5c458d75b494344d3405b4a3d4bde4)

Cada base mesh vem com sua própria skin texture.

![](/files/7067a699a5dadb8dc24df8c0a5759ec891e0b800) ![](/files/f0a62ae364e4a3f057a16a9ec4fa0db72421a90c)

A skin texture é feita em tons de cinza para permitir que o render engine tinja a skin do avatar usando o editor conforme a preferência do usuário. Para poder tingir a cor da skin usando o editor, o nome do material deve ser *AvatarSkin\_MAT*.

![](/files/93be647427eb9c3210cd05878bae9548511349ca)

{% hint style="warning" %}
Importante: preserve sempre o UV mapping de qualquer parte do corpo que esteja exposta por um wearable, como as pernas expostas por shorts ou saias.
{% endhint %}

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

Você pode criar textures personalizadas para seus wearables! No entanto, o ideal é sempre usar um único arquivo de texture, muito pequeno, para cada wearable. Usar a texture padrão AvatarWearable\_MAT fornecida nos arquivos de exemplo garantirá que seus wearables tenham bom desempenho!

![](/files/3055b03cd9e0d28121b00b7857a19bbbb452167f)

{% hint style="warning" %}
Para evitar acionar shaders específicos de facial feature, não inclua '\_mouth', '\_eyebrows' ou '\_eyes' na nomenclatura de nenhuma mesh. Esses termos são reservados para facial features, e usá-los de forma inadequada aplicará o shader errado à mesh.
{% endhint %}

✨ Caso você queira criar suas próprias textures para o model, recomendamos os seguintes addons para um melhor UV Unwrapping:

**UVPacker**

UvPacker é um addon gratuito que ajuda você a empacotar e organizar seus UVs com apenas alguns cliques. Como o Decentraland trabalha com 512x para os wearables, essa ferramenta é um ótimo auxílio para criar textures melhores e mais organizadas.

Você pode baixar diretamente do website aqui:

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

**UVToolKit**

UvToolKit é um addon que ajuda você a expandir suas configurações e opções de UV para criar ótimos UVs no Blender.

Aqui está o link para download: [**https://alexbel.gumroad.com/l/NbMya**](https://alexbel.gumroad.com/l/NbMya)

### **Skin Weighting**

Skin weighting é o processo de determinar quais bones no rigging do avatar afetam quais wearables durante uma animação.

Ao fazer skin weighting dos nossos novos wearables, há várias considerações que precisamos manter em mente.

Cada asset deve ser weighted para o esqueleto completo. Por exemplo, um asset de upper body ficará assim ao aplicar skin weights:

![](/files/de045c27a3d05fa530c9b7cb3af271252bebcf6e)

Wearables que se encontram nas interseções entre partes do corpo devem ser totalmente weighted para o mesmo bone. Por exemplo, nessas duas zonas verdes, os vértices no pescoço precisam ser totalmente weighted apenas para o bone "Neck".

![](/files/131584fa9d44e586cdbaa65e6e49afdcba40495b)

#### **Key Bones**

Os bones "key" a serem usados ao fazer skin weighting são:

**Head Bone:** para o hair, earrings, tiaras, eyes, eyebrows, mouth e qualquer accessory que precise seguir o movimento da head.

**Neck Bone:** para os vértices de interseção entre a main head e o upper body.

**Hips Bone:** para os vértices de interseção entre o upper body e o lower body.

**Right Leg e Left Leg Bones:** para os vértices de interseção entre o lower body e os feet.

**Right Forearm e Left Forearm** para os vértices de interseção das hands.

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

* Lembre-se: você pode usar qualquer bone para influenciar os vértices de qualquer mesh! Por exemplo, você poderia criar um novo mesh de foot para um par de botas altas e aplicar skin weight à parte superior da bota para os "Leg Bones". Ou você poderia criar um hair longo e usar os bones "Shoulder" ou "Spine" para influenciar o hair quando o avatar se move.
* É sempre recomendável manter uma simetria entre os dois lados do rig; esquerda e direita devem ter influências de bone semelhantes.
* Como recomendação geral, um vértice não pode ser influenciado por mais de 4 bones ou joints.
* Tenha em mente exportar a armature exatamente como a fornecida na documentação. Se ela tiver quaisquer outros bones como *"\_end\_bones"* ou similares, não vai funcionar no client.
  {% endhint %}

#### **Exportando Wearables**

Ao exportar wearables, certifique-se de que não haja outros bones fora da Armature fornecida. Um problema comum ao importar armatures entre softwares diferentes é o aparecimento de *"\_end"* ou *"\_neutral"* bones. Certifique-se de removê-los antes de exportar. Caso contrário, é muito provável que os wearables não funcionem no client depois.

![](/files/9b0000a0600d863b87e4a3e0797ca7408cbc4bb0)

Para exportar o wearable, selecione o object e depois a armature. Certifique-se de não exportar mais nada, como câmeras, luzes ou objects vazios.

Em seguida, exporte o wearable em *glTF2.0* format. Certifique-se de exportar apenas o wearable com suas propriedades de skinning, e sem nenhum outro recurso desnecessário, como animação ou shape keys.

![](/files/1ecf40abe405a15729272c40463608e9349cec6d)

## Boas Práticas para Modelagem

### **Mude Seu Mesh de T-Pose para A-Pose**

Ao criar wearables, a melhor maneira de visualizar o resultado final e facilitar o tratamento da topologia e da posição do wearable é trabalhar com o model em A-Pose. Para fazer isso, você deve seguir estes passos simples:

1. Primeiro selecione o upper body, depois você precisa alternar "**Edit mode**" e "**On cage**" no modifier da armature.

![](/files/c8e20f823f22a020bfa22aa2aa291db1ae5b32b2)

2. Agora, no pose mode você pode rotacionar os braços em 60°.

![](/files/3180220316dfa9f294b3bdb6b7c395b50653ccec)

3. Você pode editar seu mesh em A-Pose em vez de T-pose.

![](/files/0c3f59e210819523ef4da7c8a1dc3d90e252fd4d)

4. Mas também é bom lembrar que você pode alternar facilmente de A-Pose para T-Pose apenas voltando a ativar "Edit mode" e "On cage" no modifier da armature.

![](/files/6ac6b071d011e63c103a1b4da8e1e74e1b395264)

### **Deformação de juntas:**

Para obter os melhores resultados na topologia do wearable quando se trata de juntas (braços ou pernas, por exemplo), é importante ter boas práticas ao criar loops. Aqui podemos ver a diferença na deformação do mesh para diferentes loop cuts:

![](/files/f5cdbbeecf71e0b227f5d5a5a5ec1c75fb22ecb8)

Uma boa maneira de garantir que tudo esteja deformando corretamente é fazer um weight paint como no exemplo a seguir:

![](/files/93ec82d646961bbff368712d6ef386daba31d3fc) ![](/files/583327e7d4c58d9e783047255a238eddff7b6a68)

### **Saias**

Uma dica útil e boa prática ao modelar skirts/dresses é adicionar loopcuts adicionais nas interseções das dobras. Isso será muito útil quando você tiver que pintar os weights do rig.

![](/files/3c179648206b740accb7542ff79a568b6ba91165)

Com esses loopcuts, a influência dos vértices fica muito mais suave e oferece melhores resultados quando você estiver animando uma skirt/dress.

Aqui está um exemplo de como a influência dos bones deve ser:

![](/files/f3517e7a656969a138fbd39c5225e3cf5e7b1d30)

### **Chapéus**

Uma boa prática ao criar hats é adicionar um hair ao mesh base do hat e depois esconder a categoria *hair* usando o editor. Fazer isso vai impedir que o hat clip com outros hairs e reduzir resultados inesperados.

![](/files/f0f118a08df248a00be5528dc8de94f3af32ac2c)

### **Adicionar Contagem de Polígonos**

Uma dica valiosa é sempre acompanhar o polycount dos seus modelos. Para fazer isso no Blender, você precisa ativar as estatísticas no painel de overlays do viewport.

![](/files/c8a02dacce825e527e56090f4719da1edc7f4ca0)

### Recursos

Nesta pasta compartilhada, você pode encontrar models base, textures e vários outros recursos, incluindo exemplos de wearables totalmente criados. Sinta-se à vontade para aproveitar esses recursos ao criar os seus próprios.

[**Wearables Reference Models**](https://drive.google.com/drive/u/1/folders/12hOVgZsLriBuutoqGkIYEByJF8bA-rAU)


---

# Agent Instructions: 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:

```
GET https://docs.decentraland.org/creator/content-creator-pt/wearables-e-emotes/wearables/creating-wearables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
