MRCoserRopa
Detecta y cose armatures de ropa, pelucas y accesorios al esqueleto del avatar
Descripcion
MRCoserRopa es el componente encargado de detectar y coser las piezas de ropa al armature del avatar. Escanea automaticamente la jerarquia del avatar buscando SkinnedMeshRenderers con armatures independientes (ropa, pelucas, accesorios) y mapea sus huesos al esqueleto humanoid del avatar.
Trabaja junto a Modular Avatar, respetando las configuraciones existentes de MergeArmature y BoneProxy. No destruye ni interfiere con los componentes de MA — convive con ellos y permite al usuario elegir si quiere que MR o MA manejen el cosido de cada pieza individual.
Cada pieza detectada se clasifica automaticamente en uno de tres tipos: Ropa (prendas de vestir), Pelo (pelucas y cabello) o Pieza (accesorios sin huesos humanoid como sombreros, alas o props). Esta clasificacion permite al sistema generar la estructura del menu de forma inteligente, separando outfits de pelucas.
Interfaz del Inspector
Configuracion Principal
| Propiedad | Tipo | Descripcion |
|---|---|---|
Avatar |
GameObject | El avatar a escanear. Se propaga automaticamente desde MRMenuRadial. |
Modo de cosido |
Enum | Stitch (duplica huesos en el armature del avatar) o Merge (reutiliza los huesos existentes del avatar). Se recomienda Merge. |
Mostrar mapeos |
Toggle | Muestra el mapeo hueso a hueso entre la pieza y el avatar. Util para depuracion cuando un hueso no se mapea correctamente. |
Lista de Piezas Detectadas
La lista principal del inspector muestra todas las piezas detectadas en el avatar. Cada fila representa una pieza con las siguientes columnas:
| Columna | Descripcion |
|---|---|
| Checkbox | Activa o desactiva la pieza para el cosido. Las piezas desactivadas se ignoran durante el build NDMF. |
| Tipo | Boton con color que indica el tipo de pieza: Ropa 1 (azul), Pelo 2 (rosa) o Pieza 3 (gris). La numeracion es secuencial por tipo. Haz clic para cambiar el tipo manualmente. |
| GameObject | Referencia al objeto raiz de la pieza detectada. |
| MA | Indicador de Modular Avatar: MA (tiene MergeArmature), BP (tiene BoneProxy) o BP! (BoneProxy mal ubicado en la raiz de la pieza). |
| Target | Destino de la conexion de Modular Avatar (ej: →Armature, →Head). |
| Fix | Boton naranja que aparece solo cuando se detecta un BoneProxy mal ubicado (BP!). Al hacer clic, reubica el BoneProxy al Armature hijo correcto. |
| Zona | Dropdown para seleccionar la zona de cosido: (Auto) para deteccion automatica, o una de las 12 zonas disponibles. |
| X | Boton para eliminar la pieza de la lista. |
Tipos de Pieza
Cada pieza detectada se clasifica automaticamente en uno de tres tipos segun multiples señales:
| Tipo | Color | Descripcion | Ejemplos |
|---|---|---|---|
| Ropa | Azul | Prendas de vestir con huesos humanoid que se mapean al cuerpo del avatar. | Vestidos, camisas, pantalones, faldas, zapatos, chaquetas |
| Pelo | Rosa | Pelucas y cabello. Se detectan por WigDetector (scoring multi-señal), analisis de bone weights y patrones de nombre. | Pelucas, mechones, flequillos, extensiones de cabello |
| Pieza | Gris | Accesorios sin huesos humanoid. Generalmente se conectan via BoneProxy a un hueso especifico. | Sombreros, gafas, alas, mochilas, props de mano |
Zonas de Cosido
La zona de cosido indica a que parte del esqueleto humanoid pertenece la pieza. Se usa para el mapeo de huesos y para ayudar en la clasificacion automatica.
| Zona | Descripcion | Ejemplos tipicos |
|---|---|---|
FullBody |
Cuerpo completo, cubre multiples regiones del esqueleto | Vestidos largos, monos, trajes completos |
Torso |
Torso superior e inferior | Camisetas, tops, sueteres |
Head |
Cabeza y cuello | Pelucas, sombreros, mascaras |
UpperLimb |
Brazos y antebrazos | Mangas sueltas, brazaletes largos |
LowerLimb |
Piernas y pantorrillas | Pantalones, medias, botas altas |
Hip |
Cadera | Faldas cortas, cinturones |
Chest |
Pecho | Tops, chalecos, armaduras de pecho |
RightHand |
Mano derecha y dedos | Guantes derechos, anillos, armas |
LeftHand |
Mano izquierda y dedos | Guantes izquierdos, escudos |
RightFoot |
Pie derecho | Zapato derecho, bota derecha |
LeftFoot |
Pie izquierdo | Zapato izquierdo, bota izquierda |
None |
Sin zona detectada. Generalmente accesorios sin huesos humanoid | Props flotantes, efectos de particulas |
Detalles de Pieza
Al seleccionar una pieza en la lista, se despliega un panel de detalles con informacion ampliada y opciones de configuracion:
- Tipo editable — Dropdown para cambiar manualmente el tipo de pieza (Ropa, Pelo, Pieza) con boton Auto para reclasificar automaticamente.
- Info de Modular Avatar — Muestra el tipo de componente MA detectado (MergeArmature o BoneProxy), su target de conexion, y un toggle para desactivar MA en esta pieza.
- Estadisticas de huesos — Indica cuantos huesos de la pieza se mapearon correctamente al avatar (ej:
45/48 mapeados). - Zona manual — Dropdown editable para forzar una zona de cosido especifica.
- Prefijos y sufijos — Seccion para configurar prefijos o sufijos de nombres de huesos que usa la pieza (util para ropa con convenciones de nombres no estandar).
- Mapeo de huesos — Lista expandible que muestra la correspondencia uno a uno entre cada hueso de la pieza y el hueso del avatar al que se mapea.
Integracion con Modular Avatar
MRCoserRopa esta diseñado para convivir con Modular Avatar. La logica de integracion funciona de la siguiente manera:
- Si la pieza tiene MergeArmature, Modular Avatar se encarga del cosido por defecto. MR detecta la pieza pero no la cose a menos que el usuario desactive MA para esa pieza.
- Si la pieza tiene BoneProxy, MR lo respeta completamente. BoneProxy es el mecanismo que MA usa para conectar pelucas y accesorios a un hueso especifico del avatar.
- El toggle "Desactivar MA" en los detalles de la pieza permite que MRCoserRopa maneje el cosido en vez de MA. Util cuando el cosido de MA da problemas con una pieza especifica.
- Si se detecta un BoneProxy mal ubicado (en la raiz de la pieza en vez de en su Armature hijo), se muestra un indicador BP! y un boton Fix para reubicarlo automaticamente.
Deteccion de Pelucas
La deteccion de pelucas es un proceso multi-señal que combina tres fuentes de informacion para clasificar correctamente piezas como pelo:
WigDetector (scoring multi-señal)
Analiza 8 señales distintas de la pieza y asigna un puntaje. Si el puntaje total alcanza o supera el threshold de 7 puntos, la pieza se marca como peluca. Las señales incluyen nombre del objeto, estructura de huesos, presencia de componentes MA, zona detectada, entre otras.
BoneWeightAnalyzer (analisis de pesos)
Verifica si todos los meshes de la pieza tienen mas del 60% de su peso en huesos de la cabeza. Esto confirma que la pieza esta diseñada para moverse con la cabeza, lo cual es caracteristico de pelucas. El analisis busca el hueso Head tanto en el armature de la ropa como en el del avatar.
Patron de nombre
Busca patrones comunes en el nombre del objeto: hair, wig, pelo, bangs, fringe, etc. Se usa como señal complementaria, no como unica fuente de clasificacion.
