MROrganizaPB
Preparacion — Reorganiza PhysBones y Colliders en contenedores organizados por prenda
Descripcion
MROrganizaPB reorganiza los componentes VRCPhysBone y VRCPhysBoneCollider de tu avatar, moviendolos desde los huesos del armature a contenedores organizados ("PhysBones" y "Colliders"). Esto permite activar o desactivar las dinamicas por prenda desde el menu radial, algo que normalmente no es posible cuando los PhysBones estan directamente en los huesos.
Interfaz del Inspector
Problema que Resuelve
Los componentes VRCPhysBone normalmente estan "pegados" directamente a los huesos del armature (por ejemplo, en Hips/Hair_Root). En esta posicion, no puedes desactivarlos independientemente por prenda — si desactivas el hueso, afectas a todo lo que depende de el.
MROrganizaPB resuelve esto moviendo cada PhysBone a un contenedor separado. El componente sigue referenciando el mismo hueso raiz (Root Transform), pero ahora vive en un GameObject independiente que puedes activar o desactivar sin afectar al armature. Esto es lo que permite que MRAgruparObjetos (frames) controle las dinamicas por prenda.
Antes de organizar
Armature/
Hips/
Hair_Root/ [VRCPhysBone] ← pegado al hueso
Skirt_Root/ [VRCPhysBone] ← pegado al hueso
Head/
HeadCollider/ [VRCPhysBoneCollider]
Despues de organizar
Armature/
Hips/
Hair_Root/ (sin VRCPhysBone)
Skirt_Root/ (sin VRCPhysBone)
Head/
HeadCollider/ (sin VRCPhysBoneCollider)
PhysBones/
PB_Hair/ [VRCPhysBone] ← Root Transform = Hair_Root
PB_Skirt/ [VRCPhysBone] ← Root Transform = Skirt_Root
Colliders/
Col_Head/ [VRCPhysBoneCollider]
El PhysBone sigue funcionando exactamente igual porque su Root Transform apunta al mismo hueso. La diferencia es que ahora vive en un contenedor que se puede referenciar desde un frame del menu radial.
Configuracion
| Propiedad | Tipo | Descripcion |
|---|---|---|
Avatar |
GameObject | Raiz del avatar. Se propaga automaticamente desde MRMenuRadial. |
Auto escanear al cambiar avatar |
Bool | Si esta activado, re-escanea automaticamente cuando se asigna un nuevo avatar. Activado por defecto. |
Botones de Accion
| Boton | Descripcion |
|---|---|
| Escanear | Detecta todos los VRCPhysBone y VRCPhysBoneCollider en el avatar y sus prendas. Muestra el conteo de componentes encontrados por grupo. |
| Limpiar | Limpia los resultados del escaneo sin realizar ninguna organizacion. Util para empezar de cero. |
| Organizar | Mueve los componentes seleccionados a contenedores organizados. Pide confirmacion antes de ejecutar. Crea un punto de Undo para poder deshacer. |
| Revertir | Devuelve todos los componentes organizados a sus posiciones originales en el armature. Deshace la organizacion completamente. |
Lista de Componentes
Despues de escanear, la lista muestra los PhysBones y Colliders encontrados, agrupados por contexto:
- Agrupacion por contexto: Los componentes se agrupan por su origen — el avatar principal y cada prenda de ropa detectada.
- Cabecera de grupo: Muestra el nombre del contexto, el conteo de PhysBones y el conteo de Colliders encontrados.
- Filas expandibles: Al expandir un grupo, se muestran los componentes individuales con su tipo (
PBpara PhysBone,Colpara Collider), nombre y hueso raiz. - Checkboxes de grupo: Cada grupo tiene un checkbox que selecciona o deselecciona todos los componentes del grupo a la vez.
- Etiqueta "OK": Los grupos que ya fueron organizados muestran una etiqueta verde "OK" en lugar del checkbox.
Estados
| Estado | Color | Descripcion |
|---|---|---|
| No escaneado | Gris | Estado inicial. Necesitas presionar Escanear para detectar los componentes del avatar. |
| Escaneado | Azul | El escaneo detecto componentes. Puedes revisar la lista y presionar Organizar cuando estes listo. |
| Organizado | Verde | Los componentes fueron movidos a contenedores exitosamente. Cada grupo muestra "OK". |
Estructura Resultante
Despues de organizar, la jerarquia del avatar incluye contenedores separados para los PhysBones y Colliders del avatar y de cada prenda:
Armature/
Hips/
Hair_Root/ (sin VRCPhysBone)
PhysBones/ ← contenedor del avatar
PB_Hair/ [VRCPhysBone]
Colliders/ ← contenedor del avatar
Col_Head/ [VRCPhysBoneCollider]
Ropa/
PhysBones/ ← contenedor de la prenda
PB_Skirt/ [VRCPhysBone]
Colliders/ ← contenedor de la prenda
Col_Skirt/ [VRCPhysBoneCollider]
Auto-vinculacion a Frames
La vinculacion automatica funciona buscando el frame que controla la misma prenda donde se encontraron los PhysBones. Si el frame existe, el contenedor de PhysBones se agrega como una referencia adicional dentro de ese frame.
