← Volver al blog

Nine-Slice de UI en Juegos y Paneles Escalables: Marcas en Figma / PSD y QA de Sliced en Motores

Cómo marcar bordes y exportar escala cuando paneles y campos necesitan 9-slice, y cómo aprobar/fallar Sliced en Unity UGUI, StyleBox de Godot y caps de Cocos, con rutas de corrección.

Publicado
  • game-ui-design
  • game-dev-ai
  • ui-slicing
  • figma-to-unity
  • psd-to-unity
  • nine-slice
  • vberai
  • ai-studio
  • unity
  • godot
  • cocos
  • 2026
Nine-Slice de UI en Juegos y Paneles Escalables: Marcas en Figma / PSD y QA de Sliced en Motores

Cuando un panel se estira más ancho, esquinas borrosas, textura central repetida o esquinas ovaladas normalmente significan que el nine-slice (9-slice / insets de cap) no se especificó en la entrega, o que el motor usa escala Simple en todo el sprite. Ajustar Image Type y los bordes en el Editor de Unity puede salvar una pantalla, pero la siguiente entrega de diseño lo sobrescribe—si los bordes no coinciden con la escala de exportación, se repiten los ciclos de retrabajo.

Los ejemplos a continuación se centran en Image de Unity UGUI (Sliced / Tiled). StyleBoxTexture de Godot y el nine-slice de sprites de Cocos se corresponden con las mismas ideas, incluido el padding de contenido. Anclas y Safe Area: checklist de motor + MCP punto 6. Padding de región de estiramiento con locales: desbordamiento de locales verificación de diseño 7.

El checklist de entrega de diseño punto 6 requiere regiones de nine-slice / estiramiento claras. Este artículo cubre cuándo hacer slice, marcas en Figma/PSD, aceptación en tres motores y ruta de canvas a pantalla completa, además de una tabla de correcciones.

Criterios de fallo (cualquiera = no aprobado): el arte de esquina se deforma al estirar; repetición no intencionada o costuras en la región de estiramiento; el radio de esquina cambia con el tamaño del panel; fondo escalable escalado junto con iconos/avatares fijos; la escala de exportación no coincide con los píxeles de borde del motor (huecos de 1px o bordes suaves).


Cuándo se requiere nine-slice vs estiramiento duro prohibido

Tipo de assetHacerNo hacer
Fondo de diálogo / panel de ajustesNine-slice + padding de contenidoUn solo sprite Simple a sangre completa
Contenedores de input / barraNine-slice o cap L/R + repetición centralAplastar altura sin reglas de arte
Botones primarios (tamaño fijo)Sprite fijo o nine-slice + ancho mínimoBotón redondeado infinitamente ancho como un solo estiramiento
Iconos, avatares, marcos de habilidadTamaño fijo, sin nine-sliceFusionar con el fondo del panel en una sola imagen estirada
Fondo a pantalla completa (sin caja enmarcada)Imagen completa o estrategia de tile en la specReutilizar bordes de panel en sangre completa

Regla: Si el ancho o la altura cambian con la resolución, el texto o el contenido de la lista y las esquinas deben mantener su forma → nine-slice o equivalente del motor. Controles de tamaño fijo → sprite fijo + restricciones de layout.


Marcas de entrega en Figma / PSD (lista de verificación)

#VerificaciónEstándar de aprobación
1Capa de estiramiento separada de decoración / iconos / textoReskin del fondo del panel + slice; iconos no escalados con el fondo
2Inset de borde / cap en px (cuatro lados)Coincide con @1x o la escala de exportación del equipo en las notas de entrega
3Escala de exportación fija (@1x/@2x o baseline 1080)Ingeniería no adivina las matemáticas del borde
4Radio de esquina fuera de la región de estiramiento o la spec permite esquinas no estirablesSin aprobar “las esquinas se convierten en cápsulas”
5Región de estiramiento apta para tile o sólidaRepetición central sin desalineación evidente
6Nombres semánticosp. ej. Panel_Shop_9s, Input_Field_9s
7Multi-estado (normal / deshabilitado) mismo bordeInsets coinciden; solo cambia color/skin
8Notas de slice de PSD o exportación de Figma con padding transparenteNo contar la sombra en el borde salvo que la spec lo indique
9Entregar con punto 5 de entrega estados de botónNo parchear estados faltantes con arte 9s incorrecto
10El reskin de evento cambia solo el arte, borde sin cambiosVer spec de reskin

Figma: coloca el inset de cap en la documentación del componente al usar frames redimensionables o plugins de slice. PSD: alinea los slices con PSD a Unity en 5 minutos.


Tres motores: componentes y aceptación

ÍtemUnity UGUIGodot 4 ControlCocos UI
ComponenteImage → Sliced / TiledStyleBoxTexture (patch margin)Sprite nine-slice / Sliced
Origen del bordeBorder del Sprite Editor (L/T/R/B px)content_margin / patchInsets de cap (LTRB)
Área de contenidoRectTransform + padding de hijosMarginContainer + ThemePadding de Widget / layout
Fallo típicoMal uso de Simple; borde con escala incorrectaDesajuste entre patch y tamaño de texturaLa rotación del atlas rompe el inset
AprobaciónAl 150% / 200% de ancho: esquinas nítidas, centro limpioIgual; la vista previa del Theme coincide con PlayIgual; verificación puntual en dispositivo con lista larga

Aceptación en el Editor de Unity (mapear a otros motores):

  1. Establece el Image del Prefab en Sliced con bordes que coincidan con el diseño.
  2. Arrastra el RectTransform del panel a los anchos mínimo y máximo de diseño.
  3. Compara esquinas, bordes y centro con la captura de Figma/PSD.
  4. Si el modo Play está bien → una pasada en dispositivo según el checklist pre-lanzamiento.

Concepto a pantalla completa: división de canvas y reexportación

Con solo arte a pantalla completa en PNG o IA, el borde no se puede inferir. Ruta: VberAI Studio (AI Studio, ≠ Google AI Studio) división in-place → marcar paneles escalables → exportar Prefab (determinista, no YAML de LLM).

PasoAcciónAceptación
1Pantalla completa en el canvas; dividir Panel_* e iconos fijosJerarquía con nombres
2Confirmar la intención de 9-slice del panel en el canvas o antes de exportarResponsable del inset documentado
3Exportar Prefab de Unity / Godot / CocosQA de Sliced según la tabla anterior
4Tras reskin / locales, reexportación del árbol completoSi la spec de borde no cambia, los insets no cambian

Figma/PSD en capas: prefiere Figma → Unity o PSD a UGUI, luego ajustes menores de borde en el motor—evita reexportar 20 PNG sueltos en cada evento.


Enrutamiento de correcciones

SíntomaCausa probableAcciónResponsable
Esquinas borrosasEscala Simple en toda la imagenSliced + borde correcto; diseño añade marca de insetIngeniería + Diseño
Costura central / bloques repetidosinset desviado 1–2px; desajuste de escalaIgualar px del diseño; reimportar spriteIngeniería
Esquinas estiradas ovaladasEl arte no debería usar nine-sliceTamaño fijo o nuevo arte de esquinaDiseño
El borde cambia tras reskinNuevo tamaño de arte o paddingBloquear tamaño de canvas en la spec de reskin; re-QA tras reskinDiseño
El fondo de fila de lista se deformaFondo de fila estirado como panel completo9s específico de fila o altura fijaDiseño
Falla solo en cierta resoluciónEscala no entera del Canvas ScalerChecklist de motor Anchor/ScalerIngeniería

Regla: Si el borde ≠ diseño → corrige primero las marcas o el sprite fuente, luego el Prefab. Correcciones solo en el Inspector sin actualizar la entrega → se pierden en la siguiente exportación.


vs entrega de “solo pack PNG”

EnfoqueEncajaNo encaja
Exportación manual + ingeniería rellena el bordePocos paneles, demoReskin frecuente, muchas pantallas
Figma/PSD + exportación estructurada de VberAI StudioMulti-pantalla, multi-motor, eventosReemplazar marcas de inset y QA
Sliced temporal en el motorHotfix de una pantallaLargo plazo sin fuente de diseño

Recomendado: marcas de inset en diseño → exportación estructurada de Prefab → Sliced en el Editor de Unity a dos anchos → MCP para lógica. Raycast y binding: checklist de motor + MCP.


Preguntas frecuentes

¿Los paneles redondeados pueden usar nine-slice?
Sí, pero los insets deben situarse en bordes rectos estirables; las esquinas permanecen en tiles de esquina no estirables. Si el radio de esquina crece con el tamaño del panel → fallo; corrige el arte o limita el tamaño máximo.

¿Las sombras cuentan en el borde?
Lo decide la spec del producto. Si la sombra no se estira, separa capas o marca el inset en el rect sólido sin el glow exterior.

¿Tiled vs Sliced?
Sliced para paneles enmarcados; Tiled (o arte central apto para tile) para textura central repetida. Escríbelo en la spec—no dejes que ingeniería lo adivine.

¿Slices separados para Godot / Cocos?
Una semántica de inset; cambia el objetivo de exportación vía exportación multi-motor de canvas y verifica patch/cap según la tabla.

¿VberAI Studio rellena bordes automáticamente?
Depende de la exportación y los assets; la aceptación siempre es Sliced/StyleBox en el motor. Sin inset en el diseño → ingeniería establece los bordes en el Editor y los registra en la spec.

¿VberAI Studio es lo mismo que Google AI Studio?
No. Ver comparación.

Más guías que te pueden interesar