For the complete documentation index, see llms.txt. This page is also available as Markdown.

Creación de Wearables

Consejos y guías 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, empieza aquí.

💡 Consejo: Instala el plugin Decentraland Tools Blender. Incluye varias funciones útiles para ayudarte a editar y exportar modelos 3D, wearables y emotes.

Antes de comenzar, descarga los archivos de ejemplo para consultar los meshes y textures 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 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.




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



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

Lower Body



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

Hands



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

Feet



Feet incluye los tobillos y el foot.

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.



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.

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




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)



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:




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í:



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.



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.



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 para más detalles completos.

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:





Eyes y Eyewbrows usan el mismo mesh y UV map.




Mesh y UV map de Mouth.

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




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



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




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:



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.

  1. Hand Accessories:



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.

Hair and Facial Hair

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.



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.





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.



Cada base mesh viene con su propia skin texture.




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.



\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.



✨ 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/

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

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:



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".



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.

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.



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.



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.


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


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


  1. 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.



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:



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




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.



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:



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.



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.



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

Última actualización