Compartir a través de


UMG y teclado en Unreal

Unreal Motion Graphics (UMG) es el sistema de interfaz de usuario integrado de Unreal Engine, que se usa para crear interfaces como menús y cuadros de texto. Las interfaces de usuario creadas con UMG constan de widgets. Le guiaremos a través de la creación de un nuevo widget, su adición al espacio mundial y la habilitación de la interacción mediante el teclado del sistema como ejemplo. Puede obtener más información sobre UMG en la documentación oficial de Unreal Engine.

Creación de un widget

  • Cree un plano técnico de widget para diseñar la interfaz de usuario del juego:

Captura de pantalla de la adición de un plano técnico de widget desde el menú de Unreal

  • Abra el nuevo plano técnico y agregue componentes de la paleta al lienzo. En este caso, hemos agregado dos componentes de cuadro de texto de la sección "Entrada":

Captura de pantalla de la ventana de jerarquía con el componente de widget de texto resaltado y expandido

  • Seleccione un widget en la ventana Jerarquía o Diseñador y modifique los parámetros en el panel de detalles. En este caso, hemos agregado algunos valores predeterminados de "Texto de sugerencia" y un color de tono que aparece al mantener el puntero sobre el cuadro de texto. Un cuadro de texto mostrará un teclado virtual en HoloLens cuando interactúe con:

Captura de pantalla de los parámetros modificados en la ventana de jerarquía

  • Los eventos también se pueden suscribir a en el panel de detalles:

Captura de pantalla de los eventos en el panel de detalles

Agregar un widget al espacio mundial

  • Cree un nuevo actor, agregue un componente widget y agregue el actor a la escena:

Captura de pantalla de un actor con un widget asociado

  • En el panel de detalles del widget, establezca la clase widget en el plano técnico del widget creado anteriormente:

Captura de pantalla del panel de detalles del plano técnico con el conjunto de clases de widget

  • Para un widget de texto, asegúrese de que recibir entrada de hardware está desactivada, por lo que solo actualizamos su texto desde el teclado virtual:

Captura de pantalla de la sección de interacción con la entrada de hardware de recepción está desactivada

Interacción del widget

Los widgets de UMG normalmente reciben la entrada de un mouse. En HoloLens o VR, es necesario simular un mouse con un componente de interacción de widgets para obtener los mismos eventos.

  • Cree un nuevo actor, agregue un componente de interacción del widget y agregue el actor a la escena:

Captura de pantalla de un nuevo actor con un componente de interacción de widget resaltado

  • En el panel de detalles del componente Interacción del widget:
    • Establezca la distancia de interacción en el valor de distancia que desee.
    • Establecer el origen de interacción en personalizado
    • Para el desarrollo, establezca Mostrar depuración en true:

Captura de pantalla de las propiedades del componente de interacción y depuración del widget

El valor predeterminado de Interaction Source es "World", que debe enviar raycasts en función de la posición mundial del componente Interacción del widget. En AR y VR, eso no es así. La habilitación de "Mostrar depuración" y la adición de un tono de puntero a los widgets es importante comprobar que el componente de interacción del widget está haciendo lo que espera. La solución consiste en usar un origen personalizado y establecer el raycast en el gráfico de eventos desde el rayo de mano.

Aquí llamamos a esto desde Event Tick:

Plano técnico del tic de eventos

A continuación, agregue eventos de puntero del mouse virtual al componente de interacción del widget que reacciona a la entrada de HoloLens. En este caso, envíe un evento de prensa del mouse izquierdo cuando se agarre la mano y un evento de liberación del mouse izquierdo cuando no se agarra:

Plano técnico con eventos de puntero de mouse virtual agregados

Ahora, al implementar la aplicación en HoloLens 2, verá un rayo de mano que se extiende desde la derecha. Si lo diriges a uno de los cuadros de texto editables y pulsaciones de aire, el teclado del sistema aparecerá delante de ti y te permitirá escribir texto.

Nota:

El teclado del sistema HoloLens requiere Unreal Engine 4.26 o posterior. Además, el teclado no aparecerá cuando la aplicación se transmita desde el editor de Unreal al casco, solo cuando la aplicación se ejecuta en el dispositivo.

Vea también: