Unidad: comenzando con la interfaz de usuario
En esta sección, aprenderemos sobre el proceso de diseño de la interfaz de usuario o los elementos de la interfaz de usuario en Unity. Esto incluye la configuración básica, así como una descripción general de los elementos comunes que se incluyen con Unity.
El flujo de trabajo para diseñar la interfaz de usuario en Unity sigue un camino ligeramente diferente al que hemos estado siguiendo hasta ahora. Para empezar, los elementos de la interfaz de usuario no son GameObjects estándar y no se pueden usar como tales. Los elementos de la interfaz de usuario están diseñados de manera diferente; un botón de menú que parece correcto en una resolución de 4: 3 puede verse estirado o distorsionado en una resolución de 16: 9 si no se configura correctamente.
Los elementos de la interfaz de usuario en Unity no se colocan directamente en la escena. Siempre se colocan como elementos secundarios de un GameObject especial llamadoCanvas. El lienzo es como una "hoja de dibujo" para la interfaz de usuario en la escena, donde se mostrarán todos los elementos de la interfaz de usuario. Crear un elemento de interfaz de usuario desde elCreate El menú contextual sin un Canvas existente generará uno automáticamente.
Veamos ahora Canvas GameObject para conocer los nuevos componentes adicionales:
los Rect Transform en la parte superior parece tener muchas propiedades nuevas que no tiene Transform de un GameObject estándar.
Esto se debe a que, mientras que Transform de un GameObject normal describe un imaginario point en el espacio 3D, un RectTransform define un imaginario rectangle. Esto significa que necesitamos propiedades adicionales para definir exactamente dónde está el rectángulo, qué tan grande es y cómo está orientado.
Podemos ver algunas propiedades estándar de un rectángulo como la altura y el ancho, así como dos nuevas propiedades llamadas Anchors. Los anclajes son puntos en los que otras entidades pueden "bloquear" en el lienzo. Esto significa que si un elemento de la interfaz de usuario (por ejemplo, un botón) está anclado al lienzo a la derecha, el cambio de tamaño del lienzo garantizará que el botón esté siempre en el relativoright del lienzo.
De forma predeterminada, no podrá modificar la forma del área del lienzo, y será comparativamente gigantic rectángulo alrededor de su escena.
El siguiente es el CanvasComponente. Este es el componente maestro que contiene un par de opciones universales sobre cómo se dibuja la interfaz de usuario.
La primera opción que vemos es la Render Mode. Esta propiedad define el método que se utiliza para dibujar el lienzo en la vista del juego.
Tenemos tres opciones en la lista desplegable. Conozcamos las opciones en nuestras secciones siguientes.
Espacio de pantalla: superposición
Este modo es el más estándar para menús, HUD, etc. Muestra la interfaz de usuario sobre todo lo demás en la escena, exactamente como está organizada y sin excepción. También escala bien la interfaz de usuario cuando cambia el tamaño de la pantalla o la ventana del juego. Este es el modo de renderizado predeterminado en el lienzo.
Espacio de pantalla: cámara
Espacio de pantalla: la cámara crea un plano de proyección imaginario, una distancia establecida de la cámara y proyecta toda la interfaz de usuario en él. Esto significa que la apariencia de la interfaz de usuario en la escena depende en gran medida de la configuración utilizada por la cámara; esto incluye perspectiva, campo de visión, etc.
Espacio mundial
En el modo World Space, los elementos de la IU se comportan como si fueran GameObjects normales colocados en el mundo. Sin embargo, son similares a los sprites, por lo que generalmente se usan como parte del mundo del juego en lugar de para el jugador, como monitores y pantallas en el juego. Debido a esta naturaleza, puede modificar directamente los valores de Canvas RectTransform en este modo.
los Canvas Scaleres un conjunto de opciones que le permite ajustar la escala y apariencia de los elementos de la interfaz de usuario de una manera más definitiva; te permite definir cómo los elementos de la interfaz de usuarioresizeellos mismos cuando cambia el tamaño de la pantalla. Por ejemplo, los elementos de la interfaz de usuario pueden permanecer del mismo tamaño independientemente del tamaño de la pantalla y en relación con él, o pueden escalar de acuerdo con unReference Resolution.
Graphics Raycaster se ocupa principalmente de raycasting (enlace a la documentación de Unity para Raycasting) los elementos de la interfaz de usuario y garantiza que los eventos iniciados por el usuario, como clics y arrastres, funcionen correctamente.