Exercício - Adicionar scripts de interação manual a um objeto

Concluído

O script ObjectManipulator suporta a modalidade de "manipulação direta" do modelo de entrada "mãos e controladores de movimento". Quando o script é anexado a um objeto, o usuário pode mover, dimensionar ou girar o objeto com as mãos. Neste exercício, você criará dois cubos, anexará os scripts necessários a eles e, em seguida, moverá os cubos.

Adicionar e ajustar o primeiro cubo

  1. Na barra de menus, selecione >>Cube.

    Captura de tela dos comandos de menu para adicionar o cubo.

    O tamanho padrão do cubo é de um metro quadrado, que é muito grande para nossos propósitos. Vamos reduzir o tamanho para 20x20x20 centímetros.

  2. Selecione o cubo e, em seguida, no Inspetor, altere os valores de Transformação/Escala do cubo para o seguinte:

    X = 0,2, Y = 0,2, Z = 0,2

    O cubo foi colocado na cena na posição padrão de (0,0,0). Isso significa que o cubo está na mesma posição que o fone de ouvido do usuário, e o usuário não poderá ver o cubo até que ele se mova para trás. Alteraremos os valores de posição do cubo para que ele fique em um local melhor para visualização.

  3. No Inspetor, altere os valores Transform/Position do cubo para o seguinte:

    X = -0,2, Y = 1,6, Z = 0,5

    Captura de tela do componente de transformação do cubo após as atualizações.

    Queremos ser capazes de ver três lados do cubo, então vamos mudar a rotação do cubo também.

    Nota

    A altura do cubo é definida como 1,6 para corresponder à altura do deslocamento da câmera no MRTK XR Rig, colocando-o aproximadamente ao nível dos olhos.

  4. No Inspetor, altere os valores Tranform/Rotation do cubo para o seguinte:

    X = 9, Y = 14, Z = 0 f

    Gorjeta

    Para ampliar o cubo, selecione-o, verifique se o cursor está pairando sobre a janela Cena e pressione a tecla F . Você pode ampliar qualquer objeto dessa maneira.

Adicionar os scripts ao cubo

Para que um objeto seja "agarrável" com as mãos rastreadas, ele deve ter dois componentes conectados:

  • Um componente do Collider (Você não precisa fazer nada aqui; O cubo do Unity já tem um Box Collider anexado por padrão)
  • Componente Manipulador de objetos (script)
  1. Com o cubo ainda selecionado, na janela Inspetor, selecione o botão Adicionar componente e, em seguida, procure e selecione o script Manipulador de objetos.

    Captura de tela da adição do script Manipulador de Objetos.

    O script ObjectManipulator torna um objeto móvel, dimensionável e rotativo com uma ou duas mãos. Quando você adiciona o script Object Manipulator, o script do Constraint Manager também é adicionado automaticamente porque o script Object Manipulator depende dele.

    Captura de tela do script do Gerenciador de Restrições adicionado ao cubo.

Atualizar o material do cubo

Para fins de desempenho, recomendamos o uso de materiais MRTK em vez dos materiais Unity padrão.

  1. Com o cubo ainda selecionado, localize a seção Materiais no componente Renderizador de malha.
  2. Substitua o material padrão pelo material MRTK_Standard_White, localizado em MRTK Standard Assets>Materials. Você pode arrastar e soltar o material do painel Projeto na seção Materiais .

Adicionar um segundo cubo

  1. Na Hierarquia, clique com o botão direito do mouse no cubo e selecione Duplicar. O cubo duplicado aparece com o nome Cubo (1).

  2. Clique com o botão direito do mouse no cubo original, selecione Renomear e nomeie o cubo como Near Cube.

  3. Clique com o botão direito do mouse no cubo duplicado, selecione Renomear e nomeie o cubo como Far Cube.

    No momento, parece que há apenas um cubo na visualização Cena . Isso porque Near Cube e Far Cube estão no mesmo lugar exato. Vamos mudar a posição e rotação de Far Cube.

  4. Com Far Cube ainda selecionado, altere seus valores no componente Transform para o seguinte:

    Posição: X = 0,6, Y = 1,6, Z = 1,1

    Rotação: X = 27, Y = 0, Z = 0

    Agora a câmera deve ver Near Cube à esquerda e Far Cube um pouco mais longe à direita. Para confirmar isso, na hierarquia, selecione Câmera principal (em >) e, em seguida, olhe para a janela da câmera principal na janela Cena.

    Captura de ecrã da vista Câmara Principal na janela Cena.

    Gorjeta

    Se pretender que a vista na janela Cena se assemelhe mais ao que a câmara vê, desloque-se na janela Cena . Poderá ter de definir as Clear Flags da câmara como Skybox se não for por predefinição.

Agarre e mova os cubos no modo Play

  1. Selecione o botão Reproduzir. Quando o projeto começa a ser reproduzido, a visualização muda para a janela Jogo .

    Captura de ecrã da janela Jogo depois de entrar no modo Jogar.

    Nota

    Antes de jogar, confirme se há um perfil válido definido em Configurações>do projeto MRTK3.

  2. Selecione o botão de três pontos no canto superior direito da janela Jogo e selecione Maximizar.

    Captura de ecrã do comando Maximizar para a janela Jogo.

  3. Pressione a barra de espaço para fazer com que a mão direita simulada apareça na exibição.

  4. Mova a mão simulada para mais perto do cubo até tocar o cubo na lateral ou na parte inferior.

    Captura de tela da mão direita simulada tocando o Cubo Próximo.

  5. Pressione o botão esquerdo do mouse (isso faz com que a mão "agarre" o cubo) e arraste o cubo ao redor da cena.

    Captura de ecrã de Mover o cubo.

    Para agarrar e mover Far Cube, usaremos o ponteiro distante anexado à mão simulada.

  6. Se precisar, pressione a barra de espaço novamente para fazer com que a mão direita simulada apareça. Observe o ponteiro distante que se estende da extremidade do dedo indicador da mão.

    Captura de tela do ponteiro distante da mão simulada.

  7. Aproxime a mão do Far Cube até conseguir ver a ponta do ponteiro no cubo. Você pode ter que mover a mão em um movimento circular algumas vezes para fazer a ponta do ponteiro aparecer no cubo.

    Captura de tela do ponteiro distante tocando o cubo.

  8. Pressione o botão esquerdo do mouse (isso faz com que a mão se feche, assumindo o que chamamos de gesto de beliscar) e arraste o cubo ao redor da cena.

Simulação de entrada no editor do Unity

Você pode testar o comportamento do objeto holográfico com os recursos de simulação de entrada no editor Unity.

Alterar a vista na cena

  • Para mover a câmara para a frente/esquerda/costas/direita, prima as teclas W/A/S/D .
  • Para mover a câmara verticalmente, prima as teclas Q e E .
  • Para girar a câmera, pressione o botão direito do mouse e arraste.

Simule a entrada manual

  • Para ativar a mão direita simulada, pressione e segure a barra de espaço. Para remover a mão, solte a barra de espaço.
  • Para ativar a mão simulada esquerda, pressione e mantenha pressionada a tecla shift esquerda. Para retirar a mão, solte a chave.
  • Para mover qualquer uma das mãos pela cena, mova o mouse.
  • Para mover a mão para a frente ou para trás, gire a roda de rolagem do mouse.
  • Para simular o gesto de pinçar, pressione o botão esquerdo do mouse.
  • Para girar a mão, pressione e mantenha pressionada a tecla CTRL + de espaço (mão direita) ou a tecla shift esquerda + tecla CTRL (mão esquerda) e, em seguida, mova o mouse.

Mãos persistentes

Para ativar uma mão e mantê-la no ecrã sem continuar a premir uma tecla, prima T (mão esquerda) ou Y (mão direita). Para remover as mãos, pressione essas teclas novamente.

Crie seu aplicativo no Unity

  1. Minimize a janela Reproduzir selecionando o botão de três pontos e, em seguida, desmarque Maximizar.

  2. Na barra de menus, selecione Configurações de compilação de arquivo>....

  3. Na janela Configurações de compilação , selecione o botão Adicionar cenas abertas para adicionar sua cena atual à lista Cenas em compilação .

  4. Selecione o botão Construir .

  5. Na janela Criar Plataforma Universal do Windows, navegue até a pasta onde deseja armazenar sua compilação ou crie uma nova pasta e navegue até ela e, em seguida, selecione o botão Selecionar pasta para iniciar o processo de compilação.

    Captura de tela do local para salvar sua compilação.

    Uma barra de progresso é exibida para informar como a compilação está procedendo.

(Opcional) Criar e implantar o aplicativo

Nota

A construção e o teste no HoloLens 2 não são obrigatórios. Como alternativa, você pode testar no emulador HoloLens 2 se não tiver um dispositivo. Você pode comprar dispositivos em HoloLens.com.

  1. Quando o processo de compilação for concluído, o Explorador de Arquivos do Windows será aberto e exibirá a pasta de compilação. Navegue dentro da pasta e clique duas vezes no arquivo de solução para abri-lo no Visual Studio.

    Captura de ecrã do Explorador de Ficheiros com a pasta de compilações apresentada.

  2. Configure o Visual Studio para HoloLens selecionando a configuração Master ou Release e a arquitetura ARM64 :

    Captura de tela da janela do Visual Studio com as opções de compilação para o projeto.

    Gorjeta

    Se você estiver implantando no HoloLens (1ª geração), selecione a arquitetura x86 .

    Nota

    Se você não vir Dispositivo como uma opção de destino no Visual Studio, talvez seja necessário alterar o projeto de inicialização da solução do projeto IL2CPP para o projeto UWP. No Gerenciador de Soluções, clique com o botão direito do mouse em [nome do projeto] (Universal Windows) e selecione Definir como Projeto de Inicialização.

    Importante

    Antes de construir para o seu dispositivo, o dispositivo deve estar no Modo de Desenvolvedor e emparelhado com o seu computador de desenvolvimento.; consulte Ativando o modo de desenvolvedor.

  3. Selecione a lista suspensa de destino de implantação e siga um destes procedimentos:

    • Se você estiver criando e implantando via Wi-Fi, selecione Máquina remota.

    Captura de tela da janela do Visual Studio com Máquina Remota como destino.

    • Se você estiver criando e implantando via USB, selecione Dispositivo.

    Captura de tela da janela do Visual Studio com Device como destino.

  4. Defina sua conexão remota: na barra de menus, selecione Propriedades do projeto>.

  5. Na janela Páginas de propriedades do projeto, selecione >.

  6. Selecione o Depurador para iniciar a lista suspensa e, em seguida, selecione Máquina Remota, se ainda não estiver selecionado.

    Importante

    Recomendamos que introduza manualmente o seu endereço IP em vez de depender da funcionalidade "Auto Detected". Para encontrar o seu endereço IP, no seu HoloLens, aceda a Atualizações de Definições > e Segurança > para programadores. O endereço IP está listado na parte inferior da janela em Ethernet.

  7. No campo Nome da máquina, insira o endereço IP do dispositivo.

    Captura de tela da caixa de diálogo Conexão remota no Visual Studio.

  8. Defina o Modo de autenticação como Universal (protocolo não criptografado).

  9. Conecte o HoloLens ao computador e siga um destes procedimentos no Visual Studio:

    • Para implantar no HoloLens e iniciar automaticamente o aplicativo sem o depurador do Visual Studio anexado, selecione Depurar>Iniciar Sem Depuração.
    • Para implantar no HoloLens sem que o aplicativo seja iniciado automaticamente, selecione Criar>solução de implantação.

    Captura de tela do Visual Studio com o item de menu Iniciar sem depuração exibido.

Emparelhar o dispositivo

Na primeira vez que implementar uma aplicação no HoloLens a partir do PC, ser-lhe-á pedido um PIN. Para criar um PIN:

  1. No HoloLens, vá para Configurações > Atualizações e Segurança > para desenvolvedores.
  2. Selecione Emparelhar. Isso exibe o PIN no HoloLens.
  3. Insira o PIN na caixa de diálogo no Visual Studio.
  4. Após a conclusão do emparelhamento, selecione Concluído no HoloLens.

O seu PC está agora emparelhado com o HoloLens e pode implementar aplicações automaticamente. Repita estes passos para cada PC utilizado para implementar aplicações no HoloLens.

Executando seu aplicativo no HoloLens

  1. Depois que o aplicativo terminar de criar, no menu Iniciar do HoloLens, localize o bloco do aplicativo e selecione-o.

  2. Depois que o aplicativo for iniciado, entre em contato com o Cubo Próximo, agarre-o e arraste-o.

  3. Use o ponteiro distante para pegar o Cubo Distante e, em seguida, arraste-o.

    Gorjeta

    O HoloLens oferece mais flexibilidade do que quando você estava testando seu aplicativo no Unity. Você pode se mover fisicamente e usar o ponteiro distante no Cubo Próximo ou estender a mão e pegar o Cubo Distante!

Sugestões

  • Você também pode implantar no emulador HoloLens ou criar um pacote de aplicativo para sideload.

  • Você pode notar o criador de perfil Diagnóstico no aplicativo. Você pode ativá-lo ou desativá-lo usando o comando de fala Toggle Diagnostics. Recomendamos que você mantenha o criador de perfil visível a maior parte do tempo durante o desenvolvimento para entender como as alterações no aplicativo podem afetar o desempenho. Por exemplo, você pode monitorar seu aplicativo para garantir que a taxa de quadros seja de pelo menos 60 FPS.