En Unity podemos crear interfaces de usuario, las llamadas «interfaces virtuales», que suelen ser 2D y superponerse a lo que vemos del mundo, llamadas así porque la representación de un mundo virtual es por sí misma una interfaz -diegética- con el usuario.
Actualmente Unity tiene 3 sistemas diferentes para crear estas interfaces:
- UI Toolkit, el sistema más moderno y optimizado, útil para todas las plataformas al estar basado en tecnologías web estándar. Permite extender el propio editor de Unity, aunque hay alguna cosa todavía sin implementar.
- The Unity UI package (uGUI), es el viejo sistema orientado a objetos, donde en la propia escena colocas una serie de componentes en 2D que luego serán la interfaz.
- IMGUI, es una herramienta pensada para, trabajando desde C#, extender el editor, añadir información de depuración y crear inspectores personalizados para ciertas clases de objetos.
Lienzo
Cuando en vez de usar UI Toolkit, que es lo recomendado, usamos el sistema antiguo de uGUI, todo el interfaz virtual se apoya en un único objeto de juego: el lienzo (Canvas).
Habitualmente el objeto Canvas suele tener un componente Canvas Scaler con UI Scale Mode a «Constant Pixel Size». Eso está pensado para que hacer interfaces virtuales «pixel perfect», respetando el tamaño de cada una de sus partes. Pero normalmente lo que queremos es ponerlo a Scale With Screen Size, con la Reference Resolution deseada (normalmente la resolución de referencia con la que se diseña es 1920×1080). Además se ajusta un parámetro de Match Width Or Height al valor 1si el juego va siempre en horizontal, o 0 si el juego va siempre en vertical, pudiéndose ajustar a valores intermedios.
Por si acaso, al hacer pruebas conviene poner la pestaña Game del editor a una resolución fija (la citada 1920×1080) para ver cómo queda ahí, en vez de dejarlo simplemente a «Free Aspect».
Más información
Se recomienda consultar estos documentos, incluyendo los de la documentación oficial:
- Unity Technologies: User Interface (UI). Unity Documentation (2024)
- Unity Technologies: User interface design and implementation in Unity. Unity official e-book (2023)
- Unity Technologies: UI Toolkit Sample – Dragon Crashers. Unity AssetStore (2023)
Esta página está licenciada bajo CC BY-NC-SA 4.0 por Laboratorios Narratech.
Referencias