Personalização do GoogleVR no Unity3D 5.6. Criando interações com o “olhar” (gaze).

header

 

Instalação de ferramentas e packadges. Preparar o ambiente em Unity.

 1 – Download GOOGLE VR SDK (é necessário ter já ter previamente instalada a versão 5.6 do Unity e o Android Studio).

GoogleVRForUnity.unitypackage

Disponível em https://developers.google.com/vr/unity/get-started

 

2- Instale o aplicativo Vysor que permite partilhar o ecrã do smartphone que se encontra instalado no interior dos óculos VR. Esta aplicação é útiliza para controlar e monitorizar o smartphone cujo o acesso é difícil.

2

 

Configurar o packadge GoogleVR.

3- Crie um novo projeto no Unity e importe o custom packadge GoogleVR que descarregou no ponto 1.

3

 

4- Abra o menu file e no ecrã Build Settings mude para Android.

5-  Na mesma janela abra os parâmetros do player.

5a- crie um novo nome no campo packadge name.

5a

 

5b- Configure o minimum AP level para 21.

5b

 

5c- accione o modo VR na opção “Cardboard”

5c

 

Inicializar o cenário

Vamos criar um configurar um cenário simples composto por um simples objecto. Este último reagirá à interação do utlizador através do mecanismo gaze. Sempre que o utilizador olhar para o objecto o cursor sinalizará alterando o ícone de que se trata de um hotspot e quando o utilizador pressionar o botão (presente no óculos VR e nas versões oficiais cardboard) ser reproduzida uma animação.

 

6- Posicione a câmara na coordenada na origem do cenário (0,0,0) e  adicione à sua frente um novo objecto, por exemplo um cubo. Em seguida associe ao cubo uma animação simples. A animação poderá consistir num breve incremento de escala ou uma rotação sobre si mesmo.

 

7- Na sua Animator Controller, crie uma máquina de estados simples composta por dois estados: o estado “lazy”, que corresponde à situalção normal sem interação e o estado “start” que contém a animação que é accionado pelo utilizador.

7

 

8- Adicione o prefab Gvr Editor Emulator e associe a câmara principal no inspector. O Gvr Editor é o script responsável pelo motor gráfico de Realidade Virtual.

8

 

Compilar a primeira cena

O próximo passo consiste em testar a compilação da cena e visualizá-la no dispositivo Android. Certifique-se que o Android Studio está corretamente instalado e o dispositivo Android está corretamente ligado ao computador com o modo de depuração USB activado. Deverá também conectar-se ao Vysor de modo a poder controlar e visualizar o seu dispositivo remotamente a partir de ma janela do seu computador.

 

9- Grave a cena.

 

10 – No comando Build settings adicione a cena e certifique-se que a plataforma de compilação é o Android.

 

11- Pressione o botão “Build and Run” e visualize o resultado.

 

Criar a primeira interação 

O sistema de interação por Gaze é implementado no GoogleVR de modo similar aos eventos do rato já bem conhecidos entre nós e que são suportados pelo objecto do Unity Event System. Para testar a interação vamos começar por criar um evento clássico do rato para reproduzir a animação. Num segundo momento associamos também o evento do Gaze.

 

12- A partir do menu Hierarchy, na categoria UI, adicione um Event System à cena.

 

13- Crie um novo script no objecto Cubo com o nome “interage”.

 

14- Abra-o  no editor e escreva um novo evento do rato para reproduzir a animação “start”.

 

public void OnMouseUp(){

                      print (“Clicou no cubo!”);

                      this.GetComponent<Animator>().Play (“start”);

          }

}

 

 

15- Teste no editor a cena. Pressione play e clique no cubo.

 

Sistema de interação Gaze (Gvr Pointer Input)

No google VR (Gvr)  sistema gaze denomina-se Pointer Input. Para implementar este tipo de interação temos de associar vários objectos diferentes no Unity:

i) no engine VR – script que permite implementar o mecanismo propriamente dito.

ii) na câmara – o objecto representa o ícone gráfico do gaze e um scritpt que detectaa colisão do olhar com o objecto em causa.

iii) no Event System –script que disponibiliza os vários tipos de interações novos relacionados com o Gaze.

Por fim, é ainda necessário, criar os eventos no objecto em causa.

 

16 – Na janela Inspector do obejcto GrvEditor Emulator, adicione o script “GvrPointerManager”:

Add Component-> Scripts->GvrPointerManager

16

 

17 – Adicione à câmara o objecto prefab responsável pelo rendering do ícon que representa o cursor Gaze. Reproduza a cena no editor. Repare no cursor do olhar ao centro.

17

 

18 – Ainda no obejcto da câmara, adicione na janela Inspector o script responsável pela deteção da colisão do olhar com o objecto:

Add Component->GoogleVR->GvrPointerPhysicsRaycaster

Reproduza a cena no editor. Repare que o cursor do olhar altera-se quando toca no objecto cubo.

 

19- Na janela Inspector do obejcto EventSysten, adicione o script “GvrPointerInputModule” que permitirá associar eventos do gaze a qualquer objecto presente na cena:

Add Component-> GoogleVR-> GvrPointerInputModule

19

 

20 a – Em seguida iremos implementar o evento que gere no objecto cubo a interação de accionar com o gaze. Para tal necessitamos de associar ao cubo um script do tipo Event Trigger:

20

 

20 b – Neste momento, 4 novos eventos do tipo Pointer, relacionados com o Gaze, estão disponíveis. Na interface do script Event Trigger, adicione um evento do tipo “Pointer Down”:

20b

 

21- Configure o evento Pointer Down de modo a accionar a função mouse up que se encontr disponível no script “interage”. Clique no ícon do sinal de somar. Em seguida escolha o obejcto que contém o script com função que pretende, neste caso é o próprio objecto Cube.

21

 

22 – Seleccione a função “OnMouseUp” disponível no script “interage”. Note que esta função apenas ficará disponível se tiver o prefixo “public”.

22

 

Reproduza a cena.

Verifique que quando olha para o cubo e clica no botão a animação é reproduzida.

fim

 

Anúncios