Creación de wearables
Consejos y pautas para crear wearables de Decentraland

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, comienza aquí.
Antes de comenzar, descarga los archivos de ejemplo para mallas y texturas de referencia: Modelos de referencia de wearables
El sistema de Avatar de Decentraland
El "avatar system" de Decentraland es la amplia colección de diferentes componentes corporales y subcomponentes que pueden decorarse con wearables personalizados. Estos componentes son:
Forma del cuerpo
Cabeza
Forma de la cabeza
Cejas
Ojos
Boca
Parte superior del cuerpo
Parte inferior del cuerpo
Handwear
Pies
Accesorios
Forma corporal base
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 mallas diferentes relacionadas con un armature. Estas mallas representan la cabeza, las cejas, los ojos, la boca, la parte superior del cuerpo, la parte inferior del cuerpo, las manos y los pies. Puedes usar estos modelos de ejemplo como referencia y punto de partida para tu propio wearable personalizado.
Actualmente, hay dos formas corporales: A o B.

Cabeza

La cabeza base incluye diferentes mallas adjuntas que pueden personalizarse como wearables: Eyebrows, Eyes y Mouth funcionan como máscaras de transparencia renderizadas frente a la cara.
Parte superior del cuerpo

La parte superior del cuerpo, o torso, de un avatar. No incluye las manos.
Parte inferior del cuerpo

La parte inferior del cuerpo incluye la pelvis y las piernas de un avatar.
Manos

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

Los pies incluyen tobillos y pie.
Importante: No modifiques los "cortes/costuras" de los vértices entre la cabeza, la parte superior y la parte inferior del cuerpo.
Cada parte del cuerpo tiene tapones, lo que las hace "herméticas". Estos tapones existen para prevenir glitches antiestéticos si hay problemas de recorte de animación debido a un mal weight de la piel. Es mejor no eliminar estos tapones al editar la malla.

Construyendo modelos 3D para wearables
Limitaciones de tris, materiales y texturas
Para asegurar que Decentraland funcione sin problemas para todos los jugadores, es importante crear modelos de wearables sin usar demasiados triángulos, materiales y texturas. 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 en el número de triángulos y texturas que se pueden usar para cada wearable o accesorio:
No más de 1.5K triángulos por slot de wearable: hat, helmet, upper body, lower body, feet y hair.
No más de 500 triángulos por categorías: mask, eyewear, earring, tiara, top_head y facial hair.
Para accesorios de mano, el presupuesto es de 1k tris. Si el wearable de mano oculta la mano base del avatar, el presupuesto es de 1.5k tris.
No más de 2 texturas (a una resolución de 512x512px o menor) por wearable. Todas las texturas deben ser cuadradas y a 72 píxeles/pulgada de resolución.
No más de 2 materiales (sin contar el AvatarSkin_MAT)
En el caso de wearables de piel, la cantidad de tris permitida es 5k y 5 texturas.
Combinador de tris para wearables:
Si el wearable oculta otros wearables, el creador puede combinar los tris por slot. Por ejemplo: si quieres hacer un mono podrías crearlo usando la categoría upper body ocultando lower body; en ese caso podrías tener 1.5K2= 3K triángulos.*
En el caso del helmet, si ocultas todos los wearables de la cabeza (head, earrings, eyewear, tiara, hat, facial_hair, hair y top_head) puedes llegar a 4k tris, 2 materiales y 2 texturas)
Dimensión máxima de ancho, alto y profundidad de los wearables
Existe un límite de distancia para los wearables para asegurar que no obstruyan la visibilidad de las pantallas de otros jugadores ni invadan el espacio de la escena de forma excesiva.
La dimensión de los wearables no puede exceder:
Altura: 2.42 m,Ancho: 2,42 m,Profundidad: 1,4 m


Mapas
Los wearables de Decentraland actualmente soportan 3 tipos de mapas, que son:
Base Color: Esta es la textura principal con los colores y detalles de tu modelo.
Emission: Este mapa es para las partes que brillan en tu modelo. El mapa de emisión va en un material separado específicamente para emission.
Alpha: Este mapa se usa para manejar la transparencia. Utiliza el canal de opacity de la textura. (Siempre es preferible usar Alpha Clip en lugar de Alpha Blend, usando una textura en blanco y negro para el recorte)

Debido a que el cliente de referencia de Decentraland utiliza un Toon Shader para los materiales del avatar, algunos mapas son no necesarios como:
Mapas normales: texturas usadas para simular detalles de alta resolución en modelos de bajo polígono codificando normales de superficie como valores RGB.
Mapas de rugosidad: texturas usadas para definir la rugosidad de la superficie de objetos 3D.
Para usar estos mapas en Decentraland la solución es hornearlos en una textura. Puedes encontrar más información sobre baking de texturas aquí: https://docs.blender.org/manual/en/latest/render/cycles/baking.html
Normales
El engine de Decentraland renderiza solo las normales de un lado. (Eso significa que un plano solo será visible desde un lado, el otro lado no será renderizado) Así que, para asegurar que tus normales 3D sean absolutamente correctas, podemos comprobarlo de dos maneras distintas.
La primera es activar el "Backface culling" en la configuración de propiedades del Material; esta es una buena práctica para detectar normales invertidas, como en esta imagen:


La segunda manera de comprobar si las normales están bien es activando "Face orientation" en las opciones de overlay del viewport. Volverá tu modelo azul, pero no te preocupes. Las caras azules son las correctas y las rojas son las que necesitan ser corregidas; puedes encontrar esta opción aquí:

Armature
Recuerda no cambiar ninguna de las especificaciones, convenciones de nombres, jerarquía o transforms del armature proporcionado. Cambiar cualquiera de estos hará que el wearable deje de funcionar en el cliente después de exportar.

Asegúrate de que el armature importado no tenga ningún end u neutral hueso, de lo contrario el wearable no va a funcionar tras exportarlo al builder. Si estás importando un .fbx que tiene este problema puedes activar Ignore Leaf Bones al importar el armature.

Cejas, Ojos y Boca
Estas mallas funcionan con un shader transparente, por lo que no tienes que hacer nada aparte de crear tu propia textura png para el nuevo estilo de ceja, ojo o boca que quieras y colocarla correctamente en el mapa UV. Estas texturas deben ser de 256x256px y deben tener canal alfa para la transparencia.
Aquí hay algunas texturas png de ejemplo:



Eyes y Eyebrows usan la misma malla y mapa UV.


Mouth malla y mapa UV.
Para visualizar el resultado final necesitarás usar estos nodos (en Blender):


Máscaras: El Avatar Editor tiene diferentes opciones de color que los jugadores pueden elegir para personalizar sus avatares.

Estas opciones de color se aplican a una máscara específica en el wearable.


El área negra en la imagen de la izquierda (Eyes Mask) indica el área de la textura a la derecha (Eyes Base) que será coloreada. Es importante recordar que el iris siempre necesita tener una escala de grises (si el iris es totalmente negro, el tint no funcionará. Por el contrario, si el iris es totalmente blanco será completamente teñido por el color seleccionado usando el editor).
Handwear
Hay dos tipos de Handwear que puedes hacer bajo la misma categoría.
Reemplazo de manos:

Si quieres crear un wearable de mano que reemplace ambas manos probablemente necesitarás sobrescribir la hand malla base. Al hacer eso, el límite para el wearable de mano sería de 1500 tris.
Accesorios de mano:

También puedes crear accesorios de mano como relojes, pulseras, anillos, etc. En ese sentido, la mano no necesita ser sobrescrita y el límite es de 1000 tris por ítem.
Nota: La handwear categoría es específicamente para accesorios de mano o reemplazos de manos que siguen el armature del avatar con un correcto skinning. No está pensada para ítems como espadas, escudos o cualquier activo similar. Enviar un ítem que no siga estas especificaciones puede resultar en el rechazo por parte del comité de curadores.
Cabello y barba
Hay dos cosas importantes para recordar al crear wearables de cabello personalizados.
Primero, intenta seguir la forma de la cabeza. Siempre puedes referirte a la malla de la cabeza proporcionada en los archivos de ejemplo si necesitas un punto de partida.

Segundo, si quieres que los usuarios puedan cambiar el color del cabello o la barba usando el avatar editor, entonces debes pintar el cabello en escala de grises y usar "Hair" en el nombre del material (ejemplo "M_Hair_Short"). Si quieres incluir otro objeto que no sea influenciado por el tint, simplemente no añadas esa convención de nombre.



Tonos más bajos de gris aparecerán más oscuros y tonos más altos de gris aparecerán más claros, multiplicados por el color seleccionado por el usuario en el avatar editor.
Materiales y texturas base
Hay tres materiales 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 cejas, ojos y boca.

Cada malla base viene con su propia textura de skin.


La textura de la skin está hecha en escala de grises para que el motor de render pueda tintar la piel del avatar usando el editor según la preferencia del usuario. Para poder tintar el color de la piel usando el editor, el nombre del material debe ser AvatarSkin_MAT.

Importante: siempre conserva el mapeado UV para cualquier parte del cuerpo que esté expuesta por un wearable, como las piernas expuestas por los shorts o faldas.
\\u0001src="../images/wearables-and-emotes/creating-wearables/19_skin_uv.png"width="600"/>
¡Puedes crear texturas personalizadas para tus wearables! Sin embargo, siempre es mejor usar un solo archivo de textura muy pequeño para cada wearable. Usar la textura por defecto AvatarWearable_MAT proporcionada en los archivos de ejemplo garantizará que tus wearables tengan buen rendimiento.

Para evitar activar shaders específicos de rasgos faciales, no incluyas '_mouth', '_eyebrows' o '_eyes' en el nombre de ninguna malla. Estos términos están reservados para rasgos faciales, y usarlos inapropiadamente aplicará el shader incorrecto a la malla.
✨ En caso de que quieras hacer tus propias texturas 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 una gran ayuda para crear texturas mejores y más organizadas.
Puedes descargarlo directamente desde la web aquí:
https://www.uv-packer.com/download/
UVToolKit
UvToolKit es un addon que te ayuda a expandir tus ajustes y opciones de UV para crear excelentes UVs en Blender.
Aquí está el enlace para la descarga: https://alexbel.gumroad.com/l/NbMya
Skin Weighting
El skin weighting es el proceso de determinar qué huesos en el rig del avatar afectan a qué wearables durante una animación.
Al asignar skin weights a nuestros nuevos wearables, hay varias consideraciones que debemos tener en cuenta.
Cada asset debe estar ponderado al esqueleto completo. Por ejemplo, un asset de parte superior del cuerpo se verá así al aplicar skin weights:

Los wearables que se encuentran en intersecciones entre partes del cuerpo deben estar completamente ponderados al mismo hueso. Por ejemplo, en estas dos zonas verdes, los vértices del cuello deben estar completamente ponderados solo al hueso "Neck".

Huesos clave
Los huesos "clave" a usar al asignar skin weighting son:
Hueso de la cabeza: para el hair, earrings, tiaras, eyes, eyebrows, mouth y cualquier accesorio que necesite seguir el movimiento de la cabeza.
Hueso del cuello: para los vértices intersección principales de la cabeza y la parte superior del cuerpo.
Hueso de las caderas: para los vértices intersección de la parte superior e inferior del cuerpo.
Huesos de la pierna derecha e izquierda: para los vértices intersección de la parte inferior del cuerpo y los pies.
Antebrazo derecho y antebrazo izquierdo para los vértices intersección de las manos.
⚠️ Consejo
Recuerda, ¡puedes usar cualquier hueso para influenciar los vértices de cualquier malla! Por ejemplo, podrías crear una nueva malla de pie para un par de botas altas y asignar weights en la parte superior de la bota a los "Leg Bones". O podrías crear cabello largo y usar los huesos "Shoulder" o "Spine" para influenciar el cabello cuando el avatar se mueve.
Siempre es recomendable mantener simetría en ambos lados del rig; izquierda y derecha deberían tener influencias óseas similares.
Como consejo común, un vértice no puede ser influenciado por más de 4 huesos o joints.
Ten en cuenta exportar el armature exactamente como el proporcionado en la documentación. Si tiene otros huesos como "_end_bones" o similares no va a funcionar en el cliente.
Exportando wearables
Al exportar wearables, asegúrate de que no haya otros huesos fuera del Armature dado. Un problema común al importar armatures entre diferentes software es la aparición de "_end" u "_neutral" bones. Asegúrate de eliminarlos antes de exportar. De lo contrario, es muy probable que los wearables no funcionen en el cliente posteriormente.

Para exportar el wearable, selecciona el objeto y luego el armature. Asegúrate de no exportar nada más, como cámaras, luces u objetos vacíos.
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 características innecesarias como animación o shape keys.

Buenas prácticas para modelar
Cambia tu malla de T-Pose a A-Pose
Cuando haces wearables, la mejor forma de visualizar el resultado final y facilitar cómo manejas la topología y la posición del wearable es trabajar con el modelo en A-Pose. Para hacerlo debes seguir estos pasos simples:
Primero selecciona la parte superior del cuerpo, luego debes activar "Edit mode" y "On cage" en el modificador del armature.

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

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

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

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

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


Faldas
Un consejo útil y buena práctica al modelar faldas/vestidos es añadir cortes de loop adicionales en las intersecciones de los pliegues. Esto será muy útil cuando tengas que pintar los weights del rig.

Con estos loopcuts la influencia de los vértices se ve mucho más suave y te da mejores resultados al animar una falda/vestido.
Aquí hay un ejemplo de cómo debería ser la influencia ósea:

Sombreros
Una buena práctica al crear hats es añadir un hair a la malla base del sombrero y luego ocultar la categoría hair usando el editor. Hacer esto evitará que el sombrero se solape con otros hairs y reducirá resultados inesperados.

Aumentar el recuento de polígonos
Un consejo valioso es llevar siempre el control del polycount de tus modelos. Para hacer eso en Blender necesitas activar las estadísticas en el panel de overlays del viewport.

Recursos
En esta carpeta compartida puedes encontrar modelos base, texturas y varios otros recursos, incluidos ejemplos de wearables completamente creados. Siéntete libre de aprovechar estos recursos al crear los tuyos.
Última actualización