Criando Wearables
Dicas e diretrizes para criar Wearables do Decentraland

Introdução
Este guia apresenta o básico para criar modelos 3D personalizados para wearables da Decentraland. Explica como o sistema de avatar da Decentraland funciona e ilustra como modelar corretamente seus próprios wearables.
Observação: este guia presume que você já possui conhecimentos básicos a intermediários de modelagem 3D. Se você é novo em modelagem 3D, comece aqui.
Antes de começar, baixe os arquivos de exemplo para malhas de referência e texturas: Modelos de Referência para Wearables
O Sistema de Avatar da Decentraland
O "sistema de avatar" da Decentraland é a ampla coleção de diferentes componentes e subcomponentes do corpo que podem ser decorados com wearables personalizados. Esses componentes são:
Forma do corpo
Cabeça
Forma da cabeça
Sobrancelhas
Olhos
Boca
Parte superior do corpo
Parte inferior do corpo
Handwear
Pés
Acessórios
Forma de Corpo Base
Após baixar o arquivo de exemplo do avatar base, carregue o modelo no seu editor 3D, como o Blender.
Você perceberá que cada modelo contém 8 malhas diferentes relacionadas a uma armadura. Essas malhas representam a cabeça, sobrancelhas, olhos, boca, parte superior do corpo, parte inferior do corpo, mãos e pés. Você pode usar esses modelos de exemplo como referência e ponto de partida para seu próprio wearable personalizado.
Atualmente, existem duas formas de corpo: A ou B.

Cabeça

A cabeça base inclui diferentes malhas anexadas que podem ser personalizadas como wearables: Sobrancelhas, Olhos e Boca funcionam como máscaras de transparência renderizadas na frente do rosto.
Parte Superior do Corpo

A parte superior do corpo, ou torso, de um avatar. Não inclui as mãos.
Parte Inferior do Corpo

A parte inferior do corpo inclui a pelve e as pernas de um avatar.
Mãos

As mãos são as mesmas para a Forma A e B, e começam nos pulsos do avatar.
Pés

Pés incluem tornozelos e pés.
Importante: Não modifique os "cortes/uniões" (vertices) entre a cabeça, a parte superior e a parte inferior do corpo.
Cada parte do corpo possui tampas (caps), tornando-as "à prova d'água". Essas tampas existem para prevenir glitches desagradáveis caso haja problemas de recorte de animação devido a um mau weight painting. É melhor não remover essas tampas ao editar a malha.

Construindo Modelos 3D para Wearables
Limitações de triângulos, materiais e texturas
Para garantir que a Decentraland rode bem para todos os jogadores, é importante criar modelos de wearables sem usar muitos triângulos, materiais e texturas. O objetivo é manter os modelos 3D o mais simples possível para que possam ser renderizados facilmente, sem sacrificar muito detalhe.
Existem limites para o número de triângulos e texturas que podem ser usados para cada wearable ou acessório:
No máximo 1.5K triângulos por slot de wearable: hat, helmet, upper body, lower body, feet e hair.
No máximo 500 triângulos por categorias: mask, eyewear, earring, tiara, top_head e facial hair.
Para acessórios de mão, o orçamento é de 1k tris. Se o acessório de mão ocultar a mão base do avatar, o orçamento é de 1.5k tris.
No máximo 2 texturas (com resolução de 512x512px ou menor) por wearable. Todas as texturas devem ser quadradas com resolução de 72 pixels/polegada.
No máximo 2 materiais (sem contar o AvatarSkin_MAT)
No caso de wearable de pele (skin), a quantidade de tris permitida é 5k e 5 texturas.
Combinador de Tris para Wearables:
Se o wearable ocultar outros wearables, o criador pode combinar os tris por slot. Por exemplo: se você quiser fazer um macacão, você poderia criá-lo usando a categoria upper body ocultando a lower body; nesse caso você poderia ter 1.5K2= 3K triângulos.*
No caso do helmet, se você ocultar todos os wearables da cabeça (head, earrings, eyewear, tiara, hat, facial_hair, hair e top_head) você pode alcançar 4k tris, 2 materiais e 2 texturas)
Dimensão Máxima de Altura, Largura e Profundidade dos Wearables
Existe um limite de distância para wearables para garantir que eles não obstruam a visibilidade das telas de outros jogadores ou invadam o espaço da cena de forma excessiva.
A dimensão dos wearables não pode exceder:
Altura: 2,42 m,Largura: 2,42 m,Profundidade: 1,4 m


Mapas
Os wearables da Decentraland atualmente suportam 3 tipos de mapas, que são:
Base Color: Esta é a textura principal com as cores e detalhes do seu modelo.
Emission: Este mapa é para as partes que brilham no seu modelo. O mapa de emissão vai em um material separado especificamente para emission.
Alpha: Este mapa é para lidar com transparência. Ele usa o canal de opacidade da textura. (É sempre preferível usar Alpha Clip em vez de Alpha Blend, usando uma textura em preto e branco para o recorte)

Porque o cliente de referência da Decentraland usa um Toon Shader para os materiais do avatar, alguns mapas são não necessários como:
Normal maps: texturas usadas para simular detalhes de alta resolução em modelos de baixo polígono codificando as normais da superfície como valores RGB.
Roughness maps: texturas usadas para definir a rugosidade da superfície de objetos 3D.
Para usar esses mapas na Decentraland, a solução é bakeá-los em uma textura. Você pode encontrar mais informações sobre baking de texturas aqui: https://docs.blender.org/manual/en/latest/render/cycles/baking.html
Normais
O engine da Decentraland renderiza apenas uma face das normais. (Isso significa que um plano será visível apenas de um lado, o outro lado não será renderizado) Portanto, para garantir que seu 3D esteja absolutamente correto com as normais, podemos verificar isso de duas maneiras diferentes.
A primeira é alternar o "Backface culling" nas configurações de propriedades do Material; isso é uma boa prática para identificar normais invertidas, como nesta imagem:


A segunda forma de verificar se as normais estão corretas é alternando "Face orientation" nas opções de sobreposição do viewport. Isso deixará seu modelo 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:

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

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

Sobrancelhas, Olhos e Boca
Essas malhas 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 sobrancelha, olho ou boca que desejar e posicioná-la corretamente no mapa UV. Essas texturas devem ser 256x256px e precisam ter um canal alfa para transparência.
Aqui estão algumas texturas png de exemplo:



Olhos e Sobrancelhas usam a mesma malha e mapa UV.


Malha da Boca e mapa UV.
Para visualizar o resultado final, você precisará usar estes nós (no Blender):


Máscaras: O Avatar Editor possui diferentes opções de cor que os jogadores podem escolher para personalizar seus avatares.

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


A área preta na imagem à esquerda (Eyes Mask) indica a área da textura à direita (Eyes Base) que será colorida. É importante lembrar que íris sempre precisam estar em escala de cinza (se a íris for totalmente preta, a tintura não funcionará. Pelo contrário, se a íris for totalmente branca, ela será totalmente tinturada pela cor selecionada no editor).
Handwear
Existem dois tipos de Handwear que você pode fazer sob a mesma categoria.
Substituindo Mãos:

Se você quiser criar um handwear que substitua ambas as mãos, provavelmente precisará sobrescrever a hand malha base. Fazendo isso, o limite para o wearable de mão seria 1500 tris.
Acessórios de Mão:

Você também pode criar acessórios de mão, como relógios, pulseiras, anéis, etc. Nesse sentido, a mão não precisa ser sobrescrita e o limite é de 1000 tris por item.
Observação: A handwear categoria é especificamente para acessórios de mão ou substituição de mãos que seguem a armadura do avatar com skinning apropriado. Não se destina a itens como espadas, escudos ou qualquer ativo similar. Enviar um item que não siga essas especificações pode resultar em rejeição pelo comitê de curadores.
Cabelo e Barba
Existem duas coisas importantes a lembrar ao criar wearables de cabelo personalizados.
Primeiro, tente seguir a forma da cabeça. Você sempre pode consultar a malha da cabeça fornecida nos arquivos de exemplo se precisar de um ponto de partida.

Segundo, se você quiser que os usuários possam alterar a cor do cabelo ou da barba usando o avatar editor, então você precisa pintar o cabelo em escala de cinza e usar "Hair" no nome do material (exemplo "M_Hair_Short"). Se quiser incluir outro objeto que não seja influenciado pela tintura, simplesmente não adicione essa convenção de nomeação.



Tons de cinza mais escuros aparecerão mais escuros e tons de cinza mais claros aparecerão mais claros, multiplicados pela cor selecionada pelo usuário no avatar editor.
Materiais e Texturas Base
Existem três materiais básicos para modelos de avatar. Um é o material usado para o próprio wearable, outro é usado para a skin e outro para sobrancelhas, olhos e boca.

Cada malha base vem com sua própria textura de skin.


A textura da pele é feita em escala de cinza para permitir que o motor de render aplique uma tintura à pele do avatar usando o editor de acordo com a preferência do usuário. Para poder tinturar a cor da pele usando o editor, o nome do material deve ser AvatarSkin_MAT.

Importante: sempre preserve o mapeamento UV para qualquer parte do corpo que fique exposta por um wearable, como as pernas expostas por shorts ou saias.
\u0001src="../images/wearables-and-emotes/creating-wearables/19_skin_uv.png"width="600"/>
Você pode criar texturas personalizadas para seus wearables! No entanto, é sempre melhor usar um único arquivo de textura muito pequeno para cada wearable. Usar a textura padrão AvatarWearable_MAT fornecida nos arquivos de exemplo garantirá que seus wearables tenham bom desempenho!

Para evitar acionar shaders específicos de características faciais, não inclua '_mouth', '_eyebrows' ou '_eyes' na nomenclatura de quaisquer malhas. Esses termos são reservados para características faciais, e usá-los de forma inadequada aplicará o shader errado à malha.
✨ Caso você queira criar suas próprias texturas para o modelo, recomendamos os seguintes addons para melhor UV Unwrapping:
UVPacker
UvPacker é um addon gratuito que ajuda a empacotar e organizar suas UVs com apenas alguns cliques. Como a Decentraland trabalha com 512x para os wearables, esta ferramenta é uma ótima ajuda para criar texturas melhores e mais organizadas.
Você pode baixar diretamente do site aqui:
https://www.uv-packer.com/download/
UVToolKit
UvToolKit é um addon que ajuda a expandir suas configurações e opções de UV para criar ótimas UVs no Blender.
Aqui está o link para download: https://alexbel.gumroad.com/l/NbMya
Skin Weighting
Skin weighting é o processo de determinar quais ossos na rig do avatar afetam quais wearables durante uma animação.
Ao aplicar skin weighting em nossos novos wearables, há várias considerações que precisamos ter em mente.
Cada asset deve ser weightado para o esqueleto completo. Por exemplo, um asset da parte superior do corpo ficará assim ao aplicar skin weights:

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

Ossos Principais
Os ossos "chave" para usar ao aplicar skin weighting são:
Oso da Cabeça: para cabelo, brincos, tiaras, olhos, sobrancelhas, boca e qualquer acessório que precise seguir o movimento da cabeça.
Osso do Pescoço: para os vértices de interseção entre a cabeça principal e a parte superior do corpo.
Osso dos Quadris: para os vértices de interseção entre a parte superior e a parte inferior do corpo.
Ossos da Perna Direita e Perna Esquerda: para os vértices de interseção da parte inferior do corpo e dos pés.
Antebraço Direito e Antebraço Esquerdo para os vértices de interseção das mãos.
⚠️ Dica
Lembre-se, você pode usar qualquer osso para influenciar os vértices de qualquer malha! Por exemplo, você poderia criar uma nova malha de pé para um par de botas altas e weightar a parte superior da bota para os "Leg Bones". Ou, você poderia criar um cabelo comprido e usar os ossos "Shoulder" ou "Spine" para influenciar o cabelo quando o avatar se mover.
Sempre é recomendável manter simetria entre os dois lados da rig; esquerda e direita devem ter influências ósseas similares.
Como conselho comum, um vértice não pode ser influenciado por mais de 4 ossos ou juntas.
Tenha em mente exportar a armadura exatamente como a fornecida na documentação. Se ela tiver quaisquer outros ossos como "_end_bones" ou similares, não irá funcionar no cliente.
Exportando Wearables
Ao exportar wearables, certifique-se de que não existam outros ossos fora da Armature fornecida. Um problema comum ao importar armaduras entre diferentes softwares é 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 cliente depois.

Para exportar o wearable, selecione o objeto e depois a armadura. Certifique-se de não exportar mais nada, como câmeras, luzes 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 outras funcionalidades desnecessárias como animação ou shape keys.

Boas Práticas para Modelagem
Mude sua malha de T-Pose para A-Pose
Quando você estiver fazendo wearables, a melhor maneira de visualizar o resultado final e facilitar o manejo da topologia e posição do wearable é trabalhar com o modelo em A-Pose. Para isso, você deve seguir estes passos simples:
Primeiro selecione a parte superior do corpo, então você deve alternar "Edit mode" e "On cage" no modificador da armadura.

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

Você pode editar sua malha em A-Pose em vez de T-Pose.

Mas também é bom lembrar que você pode facilmente alternar de A-Pose para T-Pose apenas alternando de volta o "Edit mode" e "On cage" no modificador da armadura.

Deformação nas 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 da malha para diferentes cortes de loop:

Uma boa forma de garantir que tudo está deformando corretamente é fazer um weight paint como no exemplo a seguir:


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

Com esses loopcuts a influência dos vértices fica muito mais suave e te dá melhores resultados quando estiver animando uma saia/vestido.
Aqui está um exemplo de como a influência óssea deve ser:

Chapéus
Uma boa prática ao criar chapéus é adicionar um hair na malha base do chapéu e então ocultar a categoria hair usando o editor. Fazer isso evitará que o chapéu interaja (clipping) com outros hairs e reduzirá resultados inesperados.

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 da viewport.

Recursos
Nesta pasta compartilhada você pode encontrar modelos base, texturas e vários outros recursos, incluindo exemplos de wearables totalmente criados. Sinta-se à vontade para aproveitar esses recursos ao criar os seus.
Atualizado