Partilhar via


Entrada de teclado no Unity

Espaço de nomes: UnityEngine
Tipo: TouchScreenKeyboard

Embora o HoloLens suporte muitas formas de entrada, incluindo teclados Bluetooth, a maioria das aplicações não pode assumir que todos os utilizadores terão um teclado físico disponível. Se o seu aplicativo requer entrada de texto, alguma forma de teclado na tela deve ser fornecida.

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

Comportamento do teclado do sistema HoloLens no Unity

No HoloLens, o TouchScreenKeyboard aproveita o teclado no ecrã do sistema e sobrepõe-se diretamente à vista volumétrica da sua aplicação de RM. 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 capacidades da plataforma de destino, por exemplo, o teclado no HoloLens 2 suportaria interações diretas com as mãos, enquanto o teclado no HoloLens (1ª geração) suportaria GGV (Olhar, Gesto e Voz). Além disso, o teclado do sistema não aparecerá ao executar Unity Remoting 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 = "";

Invoque 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 TouchScreenKeyboard.Open função para controlar o comportamento do teclado (por exemplo, definindo texto de espaço reservado ou suportando autocorreção). Para obter a lista completa de parâmetros, consulte a documentação do Unity.

Recuperar conteúdo digitado

O conteúdo pode simplesmente ser recuperado ligando para keyboard.text. Você pode querer recuperar o conteúdo por quadro ou somente quando o teclado estiver fechado.

keyboardText = keyboard.text;

Opções de teclado alternativas

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 do TextMeshPro. Além disso, há uma implementação baseada em TouchScreenKeyboard na cena HandInteractionExamples do MRTK (há um exemplo de interação de teclado no lado esquerdo).

Próximo ponto de verificação de desenvolvimento

Se você está seguindo a jornada de desenvolvimento Unity que estabelecemos, está no meio da exploração dos recursos e APIs da plataforma de Realidade Mista. A partir daqui, você pode continuar para qualquer tópico ou ir diretamente para a implantação de seu aplicativo em um dispositivo ou emulador.