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 superpone directamente las superposiciones en la parte superior de 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 de HoloLens 2 admitiría interacciones directas con la mano, 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
Declaración del 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.
Recuperación del contenido con tipo
El contenido simplemente se puede recuperar llamando a keyboard.text
. Es posible que quiera recuperar el contenido por fotograma o solo cuando se cierre el teclado.
keyboardText = keyboard.text;
Opciones de teclado alternativas
Además de usar directamente la clase TouchScreenKeyboard, también puede obtener la entrada del usuario mediante el campo de entrada de la 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 de 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.