MRAnalisisColision
Detecta y gestiona componentes de Modular Avatar que pueden entrar en conflicto con Menu Radial
Descripcion
MRAnalisisColision detecta componentes de Modular Avatar que pueden entrar en conflicto con Menu Radial. Escanea todas las piezas de ropa del avatar, clasifica los componentes MA encontrados en tres categorias — problematicos, decision del usuario y compatibles — y permite desactivar o destruir los que causan problemas.
Muchos autores de ropa para VRChat incluyen componentes de Modular Avatar en sus prendas (menus, animadores, merge armature, etc.). Cuando usas Menu Radial para generar tu propio sistema de menus, algunos de esos componentes pueden interferir. MRAnalisisColision te ayuda a identificarlos y decidir que hacer con cada uno.
Los componentes clasificados como problematicos se destruyen automaticamente si estan en la raiz de una pieza y el toggle esta activo. Los de decision del usuario se presentan con checkboxes para que decidas individualmente. Los compatibles se muestran solo a modo informativo.
Interfaz del Inspector
Configuracion
| Propiedad | Tipo | Descripcion |
|---|---|---|
Avatar |
GameObject | El avatar root con VRCAvatarDescriptor. Se propaga automaticamente desde MRMenuRadial. |
Auto-desactivar problematicos en raiz |
Toggle | Destruye automaticamente los componentes criticos que se encuentren en las raices de las piezas de ropa. Activado por defecto. |
Mostrar compatibles |
Toggle | Muestra los componentes de MA que no generan conflictos. Es solo informativo — no se pueden desactivar desde aqui. |
Categorias de Componentes
Al escanear, cada componente de Modular Avatar encontrado en las piezas de ropa se clasifica en una de tres categorias segun su nivel de conflicto con Menu Radial:
Problematico (rojo)
Componentes que causan conflictos directos con Menu Radial. Se destruyen automaticamente si estan en la raiz de una pieza de ropa y el toggle Auto-desactivar problematicos en raiz esta activo. Los componentes se destruyen (no solo se desactivan) porque Modular Avatar puede encontrar componentes desactivados usando GetComponentsInChildren(true).
- MeshCutter — Modifica vertices del mesh de forma destructiva, interfiriendo con los bounds calculados por MR
- VertexFilter — Altera la estructura del mesh, causando incompatibilidades con las animaciones generadas
- MA Mesh Settings — Interfiere con los bounds unificados que calcula MRAjustarBounds
Decision del Usuario (amarillo)
Componentes que podrian necesitar desactivarse dependiendo de tu setup. El usuario decide individualmente con checkboxes en el inspector.
- BlendshapeSync — Sincroniza blendshapes en tiempo real, lo que puede interferir con las animaciones de blendshapes generadas por MR
- Componentes de menu en piezas de ropa — Animator, MergeAnimator y MenuInstaller que forman parte del sistema de menus propio de la prenda
Compatible (verde)
Componentes que no generan conflictos con Menu Radial. Se muestran solo a modo informativo cuando el toggle Mostrar compatibles esta activo.
- MergeArmature — Menu Radial convive con este componente; MRCoserRopa lo usa como referencia
- BoneProxy — Mecanismo de union para pelucas y accesorios; MR no lo toca
- ShapeChanger — Compatible gracias al orden NDMF (MR merge BeforeMA)
Botones de Accion
| Boton | Descripcion |
|---|---|
| Escanear | Detecta todos los componentes de Modular Avatar en las piezas de ropa del avatar. Clasifica cada componente en su categoria correspondiente y aplica la auto-destruccion de problematicos si esta activada. |
| Limpiar Resultados | Limpia todos los resultados del escaneo. No modifica ni restaura componentes — solo limpia la lista visual. |
| Revertir Todo | Restaura todos los componentes que fueron destruidos o desactivados a su estado original habilitado. Util para deshacer cambios y volver a empezar. |
Menu por Pieza
Cada pieza de ropa en los resultados del escaneo muestra un boton "Menu" que permite activar o desactivar los componentes de menu propios de esa prenda de forma conjunta.
Al hacer clic en el boton, se alternan tres tipos de componentes a la vez:
- Animator — El controlador de animaciones de la prenda
- MergeAnimator — El componente de MA que fusiona el animator al FX del avatar
- MenuInstaller — El componente de MA que agrega entradas al menu de expresiones
Esto es especialmente util cuando una prenda trae su propio sistema de menus que entra en conflicto con el generado por Menu Radial. En lugar de buscar y desactivar cada componente por separado, el boton Menu los gestiona todos juntos.
Deteccion de BoneProxy
MRAnalisisColision muestra informacion detallada sobre cada BoneProxy encontrado en las piezas del avatar:
- Target valido (verde) — El BoneProxy apunta a un hueso que existe en el esqueleto del avatar. No requiere accion.
- Target invalido (rojo) — El hueso de destino no existe en el avatar. Esto suele indicar un error en la configuracion de la prenda y se marca como problematico.
Ademas, MR detecta cuando un BoneProxy esta mal ubicado — en la raiz de la pieza en lugar de dentro de su Armature hijo. En esos casos, se muestra un indicador "BP!" en amarillo junto con un boton para reubicar automaticamente el BoneProxy al Armature correcto.
Meshes en Raiz
Comportamiento en NDMF
Durante el build NDMF, MRAnalisisColision se ejecuta en la fase Resolving.BeforeMA. Esto significa que los componentes problematicos se destruyen antes de que Modular Avatar procese la escena, evitando que interfieran con el build.
Los componentes marcados para destruccion en el inspector se procesan automaticamente en el build sin necesidad de intervencion manual.
