domingo, 5 de fevereiro de 2017

Como apresentar a leitura de um comando de voz no ambiente de Realidade Aumentada Vuforia - UNITY

A seguir será apresentada uma solução encontrada para o problema de inserção de textos em tempo real a partir da leitura de um comando de voz no ambiente de Realidade Aumentada no UNITY for Android.

Primeiramente vamos apresentar o contexto:


  1. O ambiente de Realidade Aumentada adotado chama-se Vuforia ;
  2. O plugin de comando de voz é o  Android Ultimate Plugin ;
  3. O problema em questão é integrar o comando de voz no ambiente de RA utilizando um botão "falar";
  4. A partir do comando, um texto é apresentado no ambiente validando o comando e em seguida é executado o comando caso seja reconhecido;
  5. Comandos de voz como socorro, me ajuda, estou perdido, automaticamente é realizado uma ligação para o cuidador e uma mensagem SMS também é enviada.

Para apresentar o texto em tempo real, utilizou-se o método OnGUI do Monobehavior:

Este método OnGUI atualiza a interface por frame, ou seja, o texto é atualizado em tempo real.

Os botões foram inseridos a partir do GUI.Button;

O GUI.TextField se encarregou de retornar o texto gerado a partir do comando de voz

Com relação ao posicionamentodo botão e do texto na interface, utilizou-se o referencial Screen.width e Screen.height.

Segue o código do GUI interface:


#region "GUI"
    void OnGUI(){

guiStyle.fontSize = 50;
       
        //imprime um campo de texto na interface e posiciona no canto inferior da tela
        resultText = GUI.TextField(new Rect(350, Screen.height - 150, 200, 100), resultText,25,guiStyle);

       //imprime um botão com um ícone "falar" no canto inferior direito
if (GUI.Button(new Rect(Screen.width -250, Screen.height -250, 250, 250), iconeFalar))
        {
            StartListeningWithExtraLanguage();
        }
}
#endregion




Nenhum comentário: