Entrada desde teclado en Unity

Espacio de nombres:UnityEngine
Tipo: TouchScreenKeyboard

Aunque HoloLens admite muchas formas de entrada, incluidos los teclados Bluetooth, la mayoría de las aplicaciones no pueden suponer que todos los usuarios tendrán un teclado físico disponible. Si la aplicación requiere entrada de texto, se debe proporcionar algún tipo de teclado en pantalla.

Unity proporciona la clase TouchScreenKeyboard para aceptar la entrada del teclado cuando no hay ningún teclado físico disponible.

Comportamiento del teclado del sistema HoloLens en Unity

En HoloLens, touchScreenKeyboard aprovecha el teclado en pantalla del sistema y se superpone directamente sobre la vista volumétrica de la aplicación de mr. La experiencia es similar al uso del teclado en las aplicaciones integradas de HoloLens. Tenga en cuenta que el teclado del sistema se comportará según las funcionalidades de la plataforma de destino, por ejemplo, el teclado en HoloLens 2 admitiría interacciones directas con las manos, mientras que el teclado en HoloLens (1.ª generación) admitiría GGV (Mirada, Gesto y Voz). Además, el teclado del sistema no se mostrará al realizar la comunicación remota de Unity desde el editor a holoLens.

Uso del teclado del sistema en la aplicación de Unity

Declarar el teclado

En la clase , declare una variable para almacenar touchScreenKeyboard y una variable para contener la cadena que devuelve el teclado.

UnityEngine.TouchScreenKeyboard keyboard;
public static string keyboardText = "";

Invocación del teclado

Cuando se produce un evento que solicita la entrada del teclado, use lo siguiente para mostrar el teclado.

keyboard = TouchScreenKeyboard.Open("text to edit");

Puede usar parámetros adicionales pasados a la TouchScreenKeyboard.Open función para controlar el comportamiento del teclado (por ejemplo, establecer texto de marcador de posición o admitir la autocorrección). Para obtener la lista completa de parámetros, consulte la documentación de Unity.

Recuperar contenido con tipo

El contenido se puede recuperar simplemente llamando a keyboard.text. Es posible que desee recuperar el contenido por fotograma o solo cuando se cierre el teclado.

keyboardText = keyboard.text;

Opciones de teclado alternativas

Además de usar la clase TouchScreenKeyboard directamente, también puede obtener la entrada del usuario mediante el campo de entrada de interfaz de usuario de Unity o el campo de entrada TextMeshPro. Además, hay una implementación basada en TouchScreenKeyboard en la escena HandInteractionExamples de MRTK (hay un ejemplo de interacción de teclado en el lado izquierdo).

Siguiente punto de control de desarrollo

Si sigue el recorrido de desarrollo de Unity que hemos diseñado, está en medio de la exploración de las funcionalidades y las API de la plataforma Mixed Reality. Desde aquí, puede continuar con cualquier tema o saltar directamente a la implementación de la aplicación en un dispositivo o emulador.