← Volver al blog

Jerarquía de información del HUD móvil: qué mostrar en combate, lobby y modales

Visibilidad y prioridad del HUD según el estado de juego; su relación con Safe Area, capas de texto flotante y apilado de modales, con tablas y pasos de aceptación en dispositivo.

Publicado
  • game-ui-design
  • game-dev-ai
  • ui-to-engine
  • hud
  • mobile
  • unity
  • godot
  • cocos
  • vberai
  • 2026
Jerarquía de información del HUD móvil: qué mostrar en combate, lobby y modales

Los fallos del HUD rara vez son «olvidamos la barra de vida»: son demasiados elementos con la misma prioridad en una sola pantalla: pestañas del lobby durante el combate, una tienda táctil sobre una cinemática, o el HUD subyacente que sigue capturando toques cuando hay un modal abierto. Los mockups de diseño suelen ser de un solo fotograma y nunca marcan «ocultar moneda en combate»; necesitas una especificación de estado × capa para que ingeniería pueda implementar visibilidad, bloqueo de entrada y orden de dibujo.

A continuación se usa Unity UGUI (Prefab, Canvas.sortingOrder, raycasts de Graphic) como terminología principal. Godot: CanvasLayer layer + Control mouse_filter; Cocos: orden de dibujo de nodos + BlockInputEvents / bloqueadores a pantalla completa—mismos criterios y tablas. Detalles de Safe Area, texto flotante y orden de Canvas: Safe Area, números de daño flotantes. Dispositivo, todos los idiomas y builds Release: checklist previo al lanzamiento puntos 1, 2 y 5.

Criterios de fallo (cualquiera = no aprobado): durante flujos de modal / cinemática / pago, el HUD subyacente sigue siendo interactivo (salvo que la especificación diga «media pantalla aún operable»); en combate, un promo no relacionado con el combate que no se puede cerrar bloquea el área de juego; la misma información mostrada dos veces (p. ej., monedas en la barra superior más una gran UI de monedas en combate) sin nota de producto; controles del estado anterior que permanecen (visibles o aún bloqueando raycasts); con locales de estrés multilingües, el layout mínimo de combate aún recorta textos largos (DE/ES, etc.).


Define primero los estados, luego los controles

Estado de juego (ejemplos)Objetivo del HUDNormalmente mostrarNormalmente ocultar / degradar
Lobby / inicioNavegación + recursos + eventosMoneda superior, pestañas inferiores, entrada de eventosHabilidades de combate, mira
Combate / en nivelAcciones + información de supervivenciaVida, habilidades, pausaPestañas del lobby, banners de eventos a pantalla completa
Cinemática / CGSin entrada o solo saltarBotón de saltarCasi todo el HUD (o solo saltar)
Modal (tienda, ajustes)Enfoque en el diálogoControles dentro del modalHUD subyacente con raycasts desactivados o capa entera oculta
Pago / cumplimientoCompletar el flujoTérminos, confirmarSuperposiciones promocionales del juego

Acuerda el enum de estados con diseño + ingeniería (p. ej., GameUIState.Lobby | Combat | Cinematic | Modal). Las raíces de UI se suscriben a la máquina de estados (grupos de Prefab en Unity / ramas de escena en Godot / prefabs en Cocos)—evita SetActive / visible dispersos en cada script de botón.

Lobby vs combate: las pestañas y la entrada de eventos deben ocultarse en combate


Capas y orden de clasificación (especificación neutral respecto al motor)

Documenta de abajo hacia arriba (número mayor = más al frente):

CapaContenidoEntrada
L0Fondo a pantalla completa / sangrado de UI de escenaNinguna
L1HUD de combate (vida, marcador de joystick)Sí
L2Texto flotante / consejos de combateSin raycasts (números de daño flotantes)
L3Toast del sistema / marquesinaNormalmente ninguna
L4Modal / diálogo a pantalla completaSí; bloquea toques de L1–L3
L5Caída de red, actualización forzadaSí; bloquea todo

Unity: sortingOrder / múltiples Canvas; Godot: CanvasLayer layer; Cocos: orden de hermanos bajo un Canvas o Canvas en capas + máscara. Cuando se abre un modal, sube L4 y desactiva los raycasts de L1 / mouse_filter / BlockInput—no solo «dibujado encima pero los toques pasan a través».

Pila L0–L5: texto flotante no interactivo, el modal bloquea el HUD de combate


Prioridad de la información (ejemplo de combate)

Si el combate solo puede mantener N bloques legibles en pantallas pequeñas, límites predeterminados:

PrioridadBloqueEstrategia de degradación
P0Vida / relacionado con condición de falloNo ocultar
P0Pausa / salir del combateNo ocultar
P1Habilidades / acciones principalesFusionar en menos botones
P2Texto corto de objetivoIcono + detalle con pulsación larga
P3Moneda, entrada de eventosOcultos en combate por defecto o en el menú de pausa
P3Entrada de chatContraer a icono

Las degradaciones deben seguir siendo legibles en locales de estrés multilingües (DE/ES, etc.)—no pruebas de reducción solo en inglés.

Combate P0–P3: ocultar moneda/eventos por defecto, mantener vida y pausa


Aceptación (5 pasos)

  1. Lista los estados — Desde el flujo principal, enumera las transiciones (entrar al nivel, abrir tienda, CG, reconexión).
  2. Captura por estado — Editor Play y dispositivo Release cada uno (puntos 1 y 5 previos al lanzamiento); verifica que los nodos con SetActive(false) / visible=false sigan bloqueando la entrada.
  3. Verificación puntual del modal — Con tienda / ajustes / pago abiertos, los toques en los antiguos botones del HUD no deben hacer nada (raycast transparente a pantalla completa o máscara BlockInput).

Modal abierto: incorrecto (toque atraviesa el botón de combate) vs correcto (subyacente bloqueado)

  1. Cruzar con Safe Area — Controles P0 de combate dentro del inset seguro (Safe Area).
  2. Commitear assets versionados — La tabla de estados dirige la visibilidad (ScriptableObject de Unity / Resource de Godot / configuración de Cocos)—no ocultamientos temporales solo en la escena.

Qué debería añadir diseño

EntregablePropósito
Wireframes por estado (al menos Lobby / Combate / Modal)Ingeniería configura la visibilidad
Lista de «puede ocultarse» en combate sobre el mockupEvitar pintar cada elemento en un solo fotograma
Especificación del modal: fondo atenuado, ¿se permite toque a través?Define la política de raycast
Orden z de la capa de promo / eventoAlinear con L4/L5

Los diseñadores no necesitan escribir la máquina de estados—tablas + anotaciones reducen las conjeturas.


Enrutamiento de correcciones

SíntomaCausa probableAcciónResponsable
Aún se puede tocar el combate tras el diálogoRaycasts subyacentes activadosDesactivar raycast de Graphic en la capa del modal / máscara a pantalla completaIngeniería
Evento a pantalla completa en combateSin tabla de estadosOcultar P3 en combate; aprobación de diseñoIngeniería + diseño
HUD permanece tras la cinemáticaSin hook del estado CinematicLa máquina de estados oculta el HUD de forma uniformeIngeniería
Dos visualizaciones de monedaBarra del lobby no desactivada en combateOcultar la barra superior en Combate o fusionar la fuente de datosIngeniería + diseño
Locale largo se recorta en el layout mínimo de combateDE/ES no probadosRuta de desbordamiento de localeDiseño + ingeniería

FAQ

¿Dos Canvas para lobby y combate?
Está bien—o un Canvas con grupos. Lo que importa es la visibilidad por estado + los raycasts, no la cantidad de Canvas.

Tienda a media pantalla, ¿es un modal?
Sí. Especifica si lo subyacente es táctil y si la lógica de combate se pausa.

¿Conflictos con la UX de «menos es más»?
La tabla de jerarquía es una regla de producto, no estética; P3 puede reabrirse para eventos mediante flags de la máquina de estados.

¿Barras sobre la cabeza en world-space en 3D?
Son información de combate, gestionadas con L1; Las reglas de orden en world-space se alinean con números de daño flotantes y Safe Area.

Más guías que te pueden interesar