Exercício – Adicionar scripts de interação com mão a um objeto

Concluído

O script ObjectManipulator é compatível com a modalidade de "manipulação direta" do modelo de entrada "controladores de movimentos e mãos". 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 moverá os cubos.

Adicionar e ajustar o primeiro cubo

  1. Na barra de menus, selecione GameObject>Objeto 3D>Cubo.

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

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

  2. Selecione o cubo e, no Inspetor, altere os valores de Transformar/Escalar 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 (0, 0, 0). Isso significa que o cubo está na mesma posição que o headset do usuário, e o usuário não poderá vê-lo até se mover para trás. Alteraremos os valores de posição do cubo para que ele fique em um local melhor para exibição.

  3. No Inspetor, altere os valores de Transformar/Posicionar 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 atualizações.

    Queremos poder ver três lados do cubo, então vamos alterar a rotação do cubo também.

    Observação

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

  4. No Inspetor, altere os valores de Transformar/Girar do cubo para o seguinte:

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

    Dica

    Para ampliar o cubo, selecione-o, certifique-se de que o cursor esteja 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 possa ser "agarrado" com mãos rastreadas, ele deve ter dois componentes anexados:

  • 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 Object Manipulator (Script)
  1. Com o cubo ainda selecionado, na janela Inspetor, clique no botão Adicionar Componente e pesquise pelo script Manipulador de Objeto e selecione-o.

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

    O script ObjectManipulator torna um objeto móvel, dimensionável e girável usando uma ou as duas mãos. Quando você adiciona o script Manipulador de Objeto, o script Gerenciador de Restrição também é adicionado automaticamente, pois o script Manipulador de Objeto depende dele.

    Captura de tela do script do Gerenciador de Restrição adicionado ao cubo.

Atualizar o material do cubo

Para fins de desempenho, é recomendável usar os materiais do MRTK em vez dos materiais padrão do Unity.

  1. Com o cubo ainda selecionado, encontre a seção Materiais no componente Mesh Renderer.
  2. Substitua o material padrão pelo material MRTK_Standard_White, localizado emAtivos Padrão do MRTK>Materiais. Você pode arrastar e soltar o material do painel Projeto para a 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 aparecerá com o nome Cubo (1).

  2. Clique com o botão direito do mouse no cubo original, selecione Renomear e nomeie o cubo como Cubo Próximo.

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

    No momento, parece que há apenas um cubo no modo de exibição Cena. Isso ocorre porque o Cubo próximo e o Cubo distante estão exatamente no mesmo lugar. Vamos alterar a posição e a rotação do Cubo distante.

  4. Com Far Cube ainda selecionado, altere seus valores no componente Transformar 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 o Near Cube à esquerda e o Far Cube um pouco mais distante à direita. Para confirmar isso, na Hierarquia, selecione Câmera Principal (em MRTK XR Rig>Camera Offset) e procure na janela Câmera Principal na janela Cena.

    Captura de tela da exibição da Câmera Principal na janela de Cena.

    Dica

    Se você quiser que o modo de exibição na janela Cena fique mais parecido com o que a câmera vê, role pela janela Cena. Talvez seja necessário definir Limpar sinalizadores da câmera como Skybox caso não seja o padrão.

Segurar e mover os cubos no modo Executar

  1. Selecione o botão Reproduzir. Quando o projeto começar a ser executado, a exibição mudará para a janela Jogo.

    Captura de tela da janela de Jogo depois de entrar no modo de Reprodução.

    Observação

    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 tela do comando Maximizar da janela de Jogo.

  3. Pressione a barra de espaço para fazer a mão direita simulada aparecer na visualização.

  4. Mova a mão simulada para perto do Cubo próximo até que ela toque o cubo na parte lateral ou inferior.

    Captura de tela da mão direita simulada tocando no 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 pela cena.

    Captura de tela da movimentação do cubo.

    Para segurar e mover o Cubo distante, 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 mão do Cubo distante até que possa ver a ponta do ponteiro no cubo. Talvez seja necessário mover a mão em um movimento circular algumas vezes para que a ponta do ponteiro apareça no cubo.

    Captura de tela do ponteiro distante tocando no cubo.

  8. Pressione o botão esquerdo do mouse (isso faz a mão se fechar, assumindo o que chamamos de gesto de pinça) e arraste o cubo pela 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 do Unity.

Alterar a exibição na cena

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

Simular entrada manual

  • Para habilitar 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 habilitar a mão esquerda simulada, pressione e segure a tecla shift esquerdo. Para remover a mão, solte a tecla.
  • Para mover qualquer uma das mãos pela cena, mova o mouse.
  • Para mover a mão para frente ou para trás, gire a roda de rolagem do mouse.
  • Para simular o gesto de pinça, pressione o botão esquerdo do mouse.
  • Para girar a mão, pressione e segure a tecla barra de espaço + CTRL (mão direita) ou tecla Shift esquerda + tecla CTRL (mão esquerda) e então mova o mouse.

Mãos persistentes

Para habilitar uma mão e mantê-la na tela sem precisar manter uma tecla pressionada, pressione T (mão esquerda) ou Y (mão direita). Para remover as mãos, pressione as teclas novamente.

Compilar o aplicativo no Unity

  1. Minimize a janela de reprodução selecionando o botão três pontos e desmarcando Maximizar.

  2. Na barra de menus, selecione Arquivo>Configurações de Build....

  3. Na caixa de diálogo Configurações de Compilação, clique no botão Adicionar Cenas Abertas para adicionar a cena atual à lista Cenas em Compilação.

  4. Selecione o botão Compilar.

  5. Na janela Compilar Plataforma Universal do Windows, navegue até a pasta em que deseja armazenar sua compilação ou crie uma pasta, navegue até ela e clique no botão Selecionar Pasta para iniciar o processo de compilação.

    Captura de tela do local para salvar seu build.

    Uma barra de progresso aparece informando como o build está prosseguindo.

(Opcional) Compilar e implantar o aplicativo

Observação

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

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

    Captura de tela do Explorador de Arquivos com a pasta builds exibida.

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

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

    Dica

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

    Observação

    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 seu projeto](Universal Windows) e selecione Definir como Projeto de StartUp.

    Importante

    Antes de construir em seu dispositivo, o dispositivo deve estar no Modo de Desenvolvedor e pareado com seu computador de desenvolvimento.; veja Habilitando o Modo de Desenvolvedor.

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

    • Se você estiver criando e implantando por meio do Wi-Fi, selecione Computador Remoto.

    Captura de tela da janela do Visual Studio com o Computador Remoto como o destino.

    • Se você estiver criando e implantando por meio do USB, selecione Dispositivo.

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

  4. Defina a conexão remota: na barra de menus, selecione Projeto > Propriedades.

  5. Na janela Páginas de Propriedades do projeto, selecione Propriedades de Configuração > Depuração.

  6. Selecione o menu suspenso Depurador para iniciar e depois selecione Máquina remota se ainda não estiver selecionado.

    Importante

    É recomendável inserir manualmente seu endereço IP em vez de depender do recurso "Detectado Automaticamente". Para localizar o endereço IP, em seu HoloLens, acesse Configurações > Atualizações e Segurança > Para desenvolvedores. O endereço IP é listado na parte inferior da janela em Ethernet.

  7. No campo Nome da máquina, insira o endereço IP do seu 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 faça um dos seguintes procedimentos no Visual Studio:

    • Para implantar em seu HoloLens e iniciar automaticamente o aplicativo sem o depurador do Visual Studio anexado, selecione Depurar>Iniciar sem depurar.
    • Para implantar em seu HoloLens sem que o aplicativo seja iniciado automaticamente, selecione Build>Implantar solução.

    Captura de tela do Visual Studio com o item de menu Iniciar Sem Depuração exibido.

Como emparelhar o dispositivo

Na primeira vez que implantar um aplicativo no HoloLens por meio do computador, você deverá fornecer um PIN. Para criar um PIN:

  1. Em seu HoloLens, acesse 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 pareamento, selecione Concluído no HoloLens.

Seu PC agora está pareado com o HoloLens e você pode implantar aplicativos automaticamente. Repita essas etapas para todos os computadores usados para implantar aplicativos no HoloLens.

Executando o aplicativo no HoloLens

  1. Após a conclusão da construção do seu aplicativo, no menu Iniciar do HoloLens, encontre o bloco do aplicativo e selecione-o.

  2. Depois que o aplicativo iniciar, alcance o Near Cube, pegue-o e arraste-o.

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

    Dica

    O HoloLens proporciona mais flexibilidade do que quando você estava testando o aplicativo no Unity. Você pode mover-se fisicamente e usar o ponteiro distante no Cubo próximo ou alcançar e segurar o Cubo distante com sua mão!

Dicas

  • Você também pode implantar no Emulador do HoloLens ou criar um Pacote do Aplicativo para sideload.

  • Você pode notar o criador de perfil de diagnóstico no aplicativo. Você pode ligá-lo ou desligá-lo usando o comando de voz Alternar diagnóstico. Recomendamos que você mantenha o criador de perfil visível na maior parte do tempo durante o desenvolvimento para que possa entender quando as alterações no aplicativo podem afetar o desempenho. Por exemplo, você pode monitorar o aplicativo para garantir que a taxa de quadros seja de pelo menos 60 FPS.