MRMenuControl
Orquesta la generacion de archivos VRChat y gestiona los slots del menu radial
Descripcion
MRMenuControl es el componente que orquesta la generacion de archivos VRChat. Muestra un menu radial visual en el inspector donde puedes gestionar hasta 8 slots. Cada slot puede contener uno de los siguientes componentes:
- MRUnificarObjetos — radial para togglear objetos y outfits
- MRUnificarMateriales — slider para intercambiar materiales
- MRIluminacionRadial — control de iluminacion lilToon
- Sub-Menu (otro MRMenuControl) — menu anidado para organizar mas controles
A partir de los componentes asignados a sus slots, MRMenuControl genera las animaciones (.anim), el AnimatorController FX, los VRCExpressionParameters y los VRCExpressionsMenu necesarios para que todo funcione en VRChat.
Interfaz del Inspector
Menu Radial Visual
El inspector de MRMenuControl incluye una visualizacion circular interactiva que replica la apariencia del menu radial de VRChat. Este preview te permite:
- Ver los slots asignados — cada segmento del circulo muestra el nombre e icono del componente asignado a ese slot
- Previsualizar estados — haz clic en un slot para activar el preview de ese estado en el avatar directamente en la escena de Unity
- Navegar entre menus — si tienes submenus, puedes entrar y salir de ellos dentro del mismo preview
- Boton ROOT — salta directamente al menu raiz desde cualquier nivel de profundidad
- Back to [Padre] — cuando estas dentro de un submenu, aparece un boton para regresar al menu padre
El preview es completamente no-destructivo. Activa y desactiva objetos temporalmente para mostrarte como se vera cada estado, pero al deseleccionar el componente o hacer clic en Reset Previews, todo vuelve a su estado original.
Slots del Menu
Cada MRMenuControl puede contener hasta 8 slots, que es el limite de controles por menu que permite VRChat. Cada slot representa un control en el menu radial del avatar.
- Cada slot muestra el nombre e icono del componente asignado
- Los slots son reordenables arrastrandolos dentro de la lista
- Puedes eliminar un slot sin destruir el componente asociado
- El tipo de control en VRChat (Toggle, Radial, SubMenu) se determina automaticamente segun el componente asignado
Crear Componentes
MRMenuControl ofrece botones de creacion rapida para agregar nuevos componentes como slots del menu:
| Boton | Componente | Descripcion |
|---|---|---|
| Unificar Objetos | MRUnificarObjetos | Crea un radial para togglear objetos y outfits. Agrega frames para definir los estados de activacion de cada objeto. |
| Iluminacion | MRIluminacionRadial | Crea un control de iluminacion para shaders lilToon. Permite ajustar parametros de luz mediante un slider radial en VRChat. |
| Unificar Materiales | MRUnificarMateriales | Crea un slider para intercambiar materiales de las prendas del avatar en tiempo real. |
| Sub-Menu | MRMenuControl (anidado) | Crea un submenu anidado (otro MRMenuControl) que a su vez puede contener hasta 8 slots propios. |
Area de Arrastre
Ademas de los botones de creacion, puedes agregar componentes existentes al menu arrastrando desde la jerarquia de Unity. Si tienes un MRUnificarObjetos, MRUnificarMateriales o MRIluminacionRadial que ya existe en la escena, simplemente arrastarlo al area de drop del inspector para agregarlo como slot.
Esto es util cuando reorganizas la estructura del menu o cuando quieres mover componentes entre un menu principal y un submenu.
Limites de VRChat
Bool = 1 bit, Float = 8 bits, Int = 8 bits. MRMenuControl valida estos limites antes de generar los archivos.
| Limite | Valor | Descripcion |
|---|---|---|
| Controles por menu | 8 | Cada menu (incluyendo submenus) puede tener hasta 8 slots. Si necesitas mas, usa submenus para organizar los controles. |
| Bits de parametros | 256 | Total de bits disponibles para todos los parametros del avatar. Un toggle (Bool) usa 1 bit, un slider (Float) usa 8 bits. |
Conflictos de Nombres
El boton Auto Resolver renombra automaticamente los slots en conflicto agregando un sufijo numerico para hacerlos unicos. Tambien puedes resolver los conflictos manualmente editando el nombre de animacion de cada componente involucrado.
Submenus
Un submenu es simplemente otro componente MRMenuControl anidado dentro del actual. Esto crea una jerarquia de navegacion en VRChat:
- Cada submenu tiene sus propios 8 slots independientes
- Puedes anidar submenus dentro de submenus para crear multiples niveles de profundidad
- En VRChat, el usuario navega entre menus con los botones de avance y retroceso
- En el inspector de Unity, puedes navegar entre niveles usando los botones "Back to [nombre del padre]" y "ROOT"
Los submenus son utiles cuando tienes muchos controles. Por ejemplo, puedes tener un menu principal con "Outfits", "Pelucas", "Materiales" e "Iluminacion", y dentro de "Outfits" un submenu con los toggles individuales de cada prenda.
