← Volver al blog

Área segura de la interfaz de juego y QA de dispositivos: orden de depuración y correcciones de Prefabs

Cuando el Editor de Unity se ve bien pero el notch recorta el HUD o los toques fallan: clasifica fallos, depura Canvas Scaler y Screen.safeArea, corrige Prefabs vs reexportación de AI Studio.

Publicado
  • game-ui-design
  • game-dev-ai
  • ui-to-engine
  • safe-area
  • unity
  • godot
  • cocos
  • vberai
  • qa
  • 2026
Área segura de la interfaz de juego y QA de dispositivos: orden de depuración y correcciones de Prefabs

El informe más común: la vista Game se ve bien, pero en un teléfono alto el HUD queda bajo el notch, o los botones parecen pulsables pero los toques fallan. El Área segura no es “ajustar el Anchor”—es política del Canvas raíz, fondo a sangre completa vs contenido con inset, y si el safeArea en tiempo de ejecución coincide con el canal.

clases de fallo, orden de depuración de Unity UGUI, reglas de corrección de Prefabs y advertencias de canal/mini-juego. Las marcas de zona segura del punto 7 del handoff de diseño se resumen en “qué debe entregar diseño”; el alcance de dispositivos del punto 1 de pre-lanzamiento se amplía aquí—no es una repetición del checklist de motor + MCP de Raycast / primer Play.

Godot / Cocos: Mapear a DisplayServer.get_display_safe_area() / widgets SafeArea del motor; mismo orden de pasos que Unity a continuación.

Criterios de fallo (cualquiera = no aprobado): interfaz legible principal o botones requeridos bajo oclusión del sistema (notch, indicador de inicio, esquinas redondeadas); desfase evidente entre visual y área de toque; Editor solo en 16:9 sin aspecto objetivo en dispositivo; comportamiento de Área segura distinto entre Dev y Release sin especificación.


Clasifica primero: recorte, desfase o solo fondo

SíntomaSospechoso primeroAcción de ingeniería
Recorte visual (texto/iconos en el notch)Contenido sin inset; raíz tratada como pantalla completaVerificar safeArea vs rects de contenido
Desfase de toque (se ve bien, falla)Modo de escala del Canvas, múltiples Canvas, desajuste de cámaraRaycast del EventSystem + renderMode del Canvas
Fondo recortado, botones OKFondo a sangre completa por diseño, contenido con insetNo es un fallo si la especificación lo permite
Incorrecto tras rotaciónSin listener para cambio de orientación / safeAreaRecalcular inset al rotar
Solo compilación de un canalEl SDK cambia safeArea o resoluciónPrueba de humo en esa compilación; no confiar solo en Android genérico

Notch clip vs correct safe inset

Visual button vs hit area offset


Unity UGUI: orden de depuración recomendado (6 pasos)

1. Bloquear la reproducción

Registrar dispositivo, SO, Dev/Release, orientación, resolución de la vista Game. Punto 5 de pre-lanzamiento: ejecutar el HUD principal en Dev y Release.

2. Registrar safeArea y resolución de referencia

Tras cargar la interfaz principal, registrar:

  • Screen.width / Screen.height
  • Screen.safeArea
  • Display.cutouts (Android 11+ si se usa)

Lectura: safeArea menor que la pantalla → se requiere inset de contenido. En el Editor safeArea a menudo equivale a pantalla completa → no sustituye al dispositivo.

3. Raíz del Canvas y Canvas Scaler

VerificaciónError típicoDirección de corrección
Render Mode raízScreen Space / Camera UI mezclados → desfase de raycastUn solo modo para la interfaz
Canvas ScalerResolución de referencia ≠ línea base vertical del proyectoCoincidir con el checklist de motor punto 1
Match width/heightAspecto largo escala mal; widgets de borde se desplazanAcordar Match con diseño/producción; corregir Prefab no solo Scene
Orden de múltiples CanvasLos toques van a la capa equivocadaAlinear sortingOrder y objetivos de raycast

4. Capa: fondo a sangre completa vs contenido seguro

Jerarquía de Prefab sugerida:

Canvas
├── Background_FullBleed   (anchor completo, puede entrar en el notch, sin input)
└── SafeRoot               (componente Safe Area o padding guiado por safeArea)
    ├── HUD_Content
    └── Popups

Background_FullBleed and SafeRoot hierarchy

Usar el Safe Area de Unity (o código del proyecto que ajuste offsetMin/Max desde Screen.safeArea). No estirar botones interactivos a pantalla completa sin inset.

Exportaciones de AI Studio con una sola capa plana: ver nine-slice / reexportación estructurada y canvas → Prefab.

5. Verificación puntual de toques en dispositivo

3–5 botones críticos en el flujo principal; comparar centro visual con el dedo. Desfase solo en un popup → revisar Canvas anidado o doble Scaler.

6. Confirmar Prefab en el repositorio

Los criterios de aprobación viven en el Prefab versionado, no en overrides de Scene de prueba (punto 6 de pre-lanzamiento). Tras cambios de Anchor, ejecutar prueba de humo de desbordamiento de idioma en idiomas de estrés.


Canal / mini-juego (ingeniería)

EscenarioNota
App nativaScreen.safeArea + dispositivos reales
Algunos mini-juegos / apps rápidassafeArea / systemInfo del contenedor ≠ simulación del Editor
Cutouts de Androidcutout vs safeArea pueden diferir
PC / decksafeArea a menudo pantalla completa

Patrón: ISafeAreaProvider (o equivalente); inyectar por plataforma—evitar #if en Prefabs de HUD.


Enrutamiento de correcciones

SíntomaCausa probableAcciónResponsable
Recorte en dispositivo, Editor OKSin SafeRoot / sin driver de safeAreaCapa de Prefab + Safe Area; reprobar en dispositivoIngeniería
Fondo OK, botones recortadosBotones bajo capa de sangradoMover a SafeRoot; reexportar capas desde AI StudioIngeniería + Diseño
Desfase de toqueMulti Canvas / cámara UI / Scaler anidadoFusionar Canvas o unificar cámara de raycastIngeniería
Deriva al cambiar resoluciónSolo anchors fijosCorregir anchors; punto 6 de motorIngeniería
Diseño sin marco seguroFalta punto 7 de handoffDiseño añade referencias de notch/home; reexportarDiseño
Exportación plana de AI StudioBG + HUD no separadosDivisión in-place y reexportarIngeniería + Diseño

Qué entrega diseño (secundario)

EntregaUso en ingeniería
Resolución objetivo + referencia segura (notch / barra de inicio)Resolución de referencia y expectativas de inset
Capas nombradas a sangre completa vs HUDPrefab Background_* / SafeRoot
Pestañas de borde dentro de zona segura o sangrado intencionalEstrategia de Anchor

Los diseñadores no necesitan escribir scripts—marcas claras reducen los px de inset adivinados.


Preguntas frecuentes

¿Basta con la resolución de iPhone en la vista Game?
Solo prueba de humo en Dev; el lanzamiento requiere dispositivos objetivo (punto 1 de pre-lanzamiento). El safeArea del Editor a menudo difiere.

¿Componente Safe Area vs offset manual?
Elección del equipo; el manual debe refrescarse ante cambios de safeArea/orientación—evitar lógica duplicada.

¿Corregir el recorte solo con Canvas Scaler?
El Scaler escala; el inset es aparte. El recorte es el rect de contenido; el Scaler es escala global.

¿Puede ayudar MCP/Cursor?
Bueno para renombrar Prefabs, adjuntar Safe Area, prueba de humo en Play—los números siguen viniendo de los logs del dispositivo. Checklist de motor + MCP.

¿Safe Area más desbordamiento de idioma?
Corregir primero el layout de SafeRoot, luego los idiomas de estrés—el inset reduce el ancho.

¿VberAI Studio vs Google AI Studio?
No. Ver comparación.

Más guías que te pueden interesar