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

# Criando Wearables

![](/files/8a040f794d6998b3d4bfc62619697f38adaf09ce)

## Introdução

Este guia apresenta os fundamentos para criar modelos 3D personalizados para Wearables do Decentraland. Ele explica como o sistema de avatar do Decentraland funciona e ilustra como modelar corretamente os 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/)*.*

{% hint style="info" %}
**💡 Dica**: Instale o [plugin Decentraland Tools Blender](https://extensions.blender.org/add-ons/decentraland-tools/). Ele inclui várias funções úteis para ajudar você a editar e exportar modelos 3D, Wearables e Emotes.
{% endhint %}

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 é o conjunto amplo de diferentes componentes e subcomponentes do corpo 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**

Depois de baixar o arquivo de exemplo do avatar base, carregue o modelo no seu editor 3D, como o Blender.

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

Atualmente, há duas body shapes: A ou B.

![](/files/d77906b320c2eaccd3b9cf61c6a4e24ddccd61b7)

### **Head**

![](/files/b2f46d6dfae923e2245bd5398ff704fbceaf1d42)

*A base da head 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/0b754e1629dd950fa0f156c38e4a20a16c8ef2a3)

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

### **Lower Body**

![](/files/e73dfef7d72594ca17e370c8a0453fa3e1775295)

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

### **Hands**

![](/files/2653a49e5b9cb24dd3d8a62b0e5d6afdb806db14)

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

### **Feet**

![](/files/290eab54d86ddf57367185f65c061d2ecaeeca4c)

*Feet incluem tornozelos e pés.*

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

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

![](/files/e78b21519252fc2cc4f4268b1a8a8e703ac483c6)

## Construindo Modelos 3D para Wearables

#### **Limitações de tris, materials e textures**

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

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

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

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

*Se o wearable ocultar outros wearables, o criador tem permissão para combinar os tris por slot. Por exemplo: se você quiser fazer um macacão, você poderia criá-lo usando a categoria upper body ocultando lower body; nesse caso, você poderia ter 1,5 mil*2 = 3 mil triangles.\*

No caso do helmet, se você ocultar todos os head wearables (head, earrings, eyewear, tiara, hat, facial\_hair, hair e top\_head, você pode chegar a 4 mil 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 os wearables, para garantir que eles não obstruam a visibilidade das telas de outros players 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/e70f475504d3b4c3af2f71912fa764c92e89c333) ![](/files/28e4140014bb6d3645ff599515f4bcdfe450ee2d)

#### **Maps**

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

1. **Base Color**: Esta é a textura principal com as cores e os 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 emission.
3. **Alpha**: Este map serve para lidar com a transparência. Ele usa o canal de opacidade da texture. (*É sempre preferível usar Alpha Clip em vez de Alpha Blend, usando uma textura em preto e branco para o recorte*)

![](/files/d402ae84155c63746b457597e9aec0c0d5c2d7d4)

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

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

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

#### **Normals**

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

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

![](/files/8a58ffc1e3a3449991c2f72a1dbaba4d2affcbde) ![](/files/9a82866b33fe945134fcbd22a8b3be7f94f3f2b6)

A segunda forma de verificar se os normals estão corretos é alternar "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/f806028646f600505217f274ed0b0b90d5d9e5b3)

#### **Armature**

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

![](/files/25fb58056df8cf8a63e165e70953186fd1e2b1a5)

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

![](/files/901f25a3d7bcdb30a036dffff2181beff54f20d5)

{% hint style="info" %}
**Spring Bones:** Wearables podem incluir bones extras além do armature base para física dinâmica (por exemplo, cabelo balançando, brincos pendentes). Esses bones devem conter `springbone` em seus nomes. Veja [Spring Bones](https://docs.decentraland.org/creator/wearables-and-emotes/wearables/spring-bones) para mais detalhes completos.
{% endhint %}

#### **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 ser 256x256px e precisam ter um alpha channel para transparência.

Aqui estão algumas texturas png de exemplo:

![](/files/1efb86dff4145ae75b8faf6ae1d361b62cdfb6b2) ![](/files/76d402a87c6145a5339ec6611a515cab4a75cb52) ![](/files/f75c4e39270c2a14ec57ad244e8fd52dfad6509c)

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

![](/files/d408afe2d3662ef186dc830939c2664dab3b8825) ![](/files/ee0a7261b7b5a6a055e7748ab20bbb0a5c5826b5)

*Mesh e UV map da Mouth.*

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

![](/files/dae04a6fe775f7aec709f4b868e9e9641a09059d) ![](/files/e7ce0a74dcb8388975ce0dfe574d953a9cd06b06)

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

![](/files/f75e94739d38678936f093909157f2a1f7552a89)

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

![](/files/afa8fc69c0aaa8f8684c1da437a78cbbda42a762) ![](/files/340501ac00de5ac632141bdc7c4d7c2274ca345f)

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

#### **Handwear**

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

1. **Substituindo as mãos:**

![](/files/2a09785f757a4c172b2bec50a94476e93d22d61a)

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

2. **Hand Accessories:**

![](/files/73b165b85a3ac418d64ddd9e9696a3d51a3aad0f)

Você também 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 **handwear** categoria é especificamente para hand accessories ou substituição de hands que seguem o armature do avatar com skinning adequado. Ela não se destina a itens como swords, shields ou qualquer asset similar. Enviar um item que não siga essas especificações pode resultar em rejeição pelo comitê de curadores.
{% endhint %}

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

{% hint style="success" %}
**Dica:** Hair e outros acessórios pendentes agora podem usar **spring bones** para se moverem dinamicamente em resposta ao movimento e à gravidade do avatar. Em vez de hair estático, você pode adicionar cadeias de spring bones para fazer rabo de cavalo, tranças e cabelos longos balançarem naturalmente. Veja [Spring Bones](https://docs.decentraland.org/creator/wearables-and-emotes/wearables/spring-bones) para um guia completo.
{% endhint %}

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

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

![](/files/96413b0070587aaf4dc642e460711b400a5ca4f4)

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 escala de cinza e usar "Hair" na nomenclatura do material (exemplo "M\_Hair\_Short"). Se você quiser incluir outro objeto que não seja influenciado pelo tint, simplesmente não adicione essa convenção de nomenclatura.

![](/files/d7bc89901b90621996115abbb60786a0a033364e) ![](/files/f0d669593b3674049d50ddf034fb526d6d31788b) ![](/files/585f4f2a37e0621ded644d21bee228741059df23)

*Tons mais escuros de cinza parecerão mais escuros e tons mais claros de cinza parecerão mais brilhantes, multiplicados pela cor selecionada pelo usuário no Avatar Editor.*

### **Materiais e Texturas Base**

Há três materiais básicos para modelos 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/55c3042b028b59b3abd5ff9bdf40514523c7baa6)

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

![](/files/a799e065486610c66ebc678bc0bbb87886d9d79c) ![](/files/2b5d61d34dacb4a95ece290de5b5d5353af3e440)

A texture de skin é feita em escala de cinza, permitindo que o engine de renderização tinga a skin do avatar usando o editor de acordo com 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/3e8bfc8f3810f9c704d2d2c38b6d319a0638ce4b)

{% hint style="warning" %}
Importante: preserve sempre o UV mapping de qualquer parte do corpo que fique 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, é sempre melhor usar um único arquivo de texture muito pequeno para cada wearable. Usar a textura padrão AvatarWearable\_MAT fornecida nos arquivos de exemplo garantirá que seus wearables tenham bom desempenho!

![](/files/488b9d503f622429afd0eb979d78fed905e756be)

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

✨ Caso você queira fazer 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 organizar e empacotar seus UVs com apenas alguns cliques. Como o Decentraland trabalha com 512x para os wearables, essa ferramenta é uma grande ajuda para criar textures melhores e mais organizadas.

Você pode baixar diretamente no site 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 ter em mente.

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

![](/files/ea327c1638dd5d5d18e3d2c59d1aa6ae92b73012)

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

![](/files/862bd50b48bd714f696cb0a1723afd75298880a1)

#### **Key Bones**

Os bones "key" a usar 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 vertices de interseção entre a head principal e o upper body.

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

**Right Leg and Left Leg Bones:** para os vertices de interseção entre o lower body e feet.

**Right Forearm and Left Forearm** para os vertices de interseção das hands.

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

* Lembre-se: você pode usar qualquer bone para influenciar os vertices de qualquer mesh! Por exemplo, você poderia criar uma nova mesh de foot para um par de botas altas e ponderar a parte superior da bota para os "Leg Bones". Ou você poderia criar um hair comprido 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 bones semelhantes.
* Como orientação geral, um vertex não pode ser influenciado por mais de 4 bones ou joints.
* Tenha em mente exportar o armature exatamente como o fornecido na documentação. Se ele tiver outros bones como *"\_end\_bones"* ou semelhante, não vai funcionar no client.
  {% endhint %}

#### **Exportando Wearables**

Ao exportar wearables, certifique-se de que não haja outros bones fora do Armature fornecido, **exceto spring bones** (bones com `springbone` em seus nomes, usados para física dinâmica). 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/645a87682b25da9ef67b8a827ade3fc74de29676)

Para exportar o wearable, selecione o objeto e depois o armature. Certifique-se de não exportar mais nada, como cameras, lights ou objetos vazios.

Em seguida, exporte o wearable no formato *glTF2.0* . Certifique-se de exportar apenas o wearable com suas propriedades de skinning e sem quaisquer outros recursos desnecessários, como animação ou shape keys.

![](/files/d094ac8e9c0c0cf618deec99507134807a58a823)

## Boas Práticas Para Modelagem

### **Altere Sua Mesh de T-Pose para A-Pose**

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

1. Primeiro selecione o upper body, depois você precisa ativar "**Edit mode**" e "**On cage**" no modificador do armature.

![](/files/b289d17fb153f59a847d50a1ad2ce4ffe3cb5c5c)

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

![](/files/313a2c2f0eec731efc5574bbc91bc2717b714f9a)

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

![](/files/3c90f2dcbf7a4a57d790f20e4f9462706f144ccf)

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 modificador do armature.

![](/files/b5629e1412dd16e153d6c689a032639c32a6e761)

### **Deformação das articulações:**

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

![](/files/deeacc60879eb1d7c53cfee4f2d2160236d5560d)

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

![](/files/624fdfe859a1bc804dc2001cd3094a9b50663b0e) ![](/files/2e385eef8b992bd99225535e962251ed359ee804)

### **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/344ae1d7ca05bf4a66ed569680808811b3b4085b)

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

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

![](/files/898ff72f7a9d0448e9e9ba07ad5d380d85121d89)

### **Chapéus**

Uma boa prática ao criar hats é adicionar hair à base mesh do hat e depois ocultar a categoria *hair* usando o editor. Fazer isso vai evitar que o hat atravesse outros hairs e reduzir resultados inesperados.

![](/files/219dd0143a97c67b0cec005877712d30bea7da93)

### **Adicionar contagem de polygons**

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

![](/files/16319ab17e17e8df83b3d5ff148a3ee5d057c791)

### Recursos

Nesta pasta compartilhada, você pode encontrar modelos 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
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-pt/wearables-e-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.
