Entrada do teclado no Unity

Namespace: UnityEngine
Tipo: TouchScreenKeyboard

Embora HoloLens suporte a várias formas de entrada, incluindo teclados Bluetooth, a maioria dos aplicativos não pode supor que todos os usuários terão um teclado físico disponível. Se o aplicativo exigir entrada de texto, alguma forma de teclado na tela deverá ser fornecida.

O Unity fornece a classe TouchScreenKeyboard para aceitar a entrada do teclado quando não há teclado físico disponível.

HoloLens do teclado do sistema no Unity

No HoloLens, o TouchScreenKeyboard aproveita o teclado na tela do sistema e sobrepõe-se diretamente sobre a exibição volumosa do seu aplicativo MR. A experiência é semelhante ao uso do teclado nos aplicativos integrados do HoloLens. Observe que o teclado do sistema se comportará de acordo com as funcionalidades da plataforma de destino, por exemplo, o teclado no HoloLens 2 dará suporte a interações diretas à mão, enquanto o teclado no HoloLens (1ª geração) dará suporte ao GGV (Gaze, Gesto e Voz). Além disso, o teclado do sistema não será aparecer ao executar a Remoting do Unity do editor para um HoloLens.

Usando o teclado do sistema em seu aplicativo Unity

Declarar o teclado

Na classe , declare uma variável para armazenar o TouchScreenKeyboard e uma variável para manter a cadeia de caracteres retornada pelo teclado.

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

Invocar o teclado

Quando ocorrer um evento solicitando a entrada do teclado, use o seguinte para mostrar o teclado.

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

Você pode usar parâmetros adicionais passados para a função para controlar o comportamento do teclado (por exemplo, definir texto de espaço reservado ou dar suporte à TouchScreenKeyboard.Open correção automática). Para ver a lista completa de parâmetros, consulte a documentação do Unity.

Recuperar conteúdo digitado

O conteúdo pode simplesmente ser recuperado chamando keyboard.text . Talvez você queira recuperar o conteúdo por quadro ou somente quando o teclado estiver fechado.

keyboardText = keyboard.text;

Opções alternativas de teclado

Além de usar a classe TouchScreenKeyboard diretamente, você também pode obter a entrada do usuário usando o Campo de Entrada da Interface do Usuário do Unity ou o Campo de Entrada TextMeshPro. Além disso, há uma implementação baseada em TouchScreenKeyboard na cena HandInteractionExamples do MRTK (há um exemplo de interação do teclado no lado esquerdo).

Próximo ponto de verificação de desenvolvimento

Se você estiver seguindo o percurso de desenvolvimento do Unity que lançamos, você está no meio da exploração das APIs e funcionalidades da plataforma de Realidade Misturada. A partir daqui, você pode continuar para qualquer tópico ou ir diretamente para a implantação do aplicativo em um dispositivo ou emulador.