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 de 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, 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 (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 Transformação/Posição 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 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 tranform/rotação do cubo para o seguinte:

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

    Dica

    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 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 do Object Manipulator (script)
  1. Com o cubo ainda selecionado, na janela Inspetor , selecione o botão Adicionar Componente e procure e selecione o script manipulador de objeto .

    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ções 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, 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 é exibido com o nome Cubo (1).

  2. Clique com o botão direito do mouse no cubo original, selecione Renomear e nomeie o cubo Perto do Cubo.

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

    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 o Cubo Distante ainda selecionado, altere seus valores em seu 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>Deslocamento da Câmera) 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 se pareça mais com o que a câmera vê, role na janela Cena . Talvez seja necessário definir o Clear Flags da câmera para o Skybox se ele não for por padrão.

Segurar e mover os cubos no modo Executar

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

    Captura de tela da janela Jogo depois de entrar no modo de jogo.

    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 para a janela do 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 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 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/costas/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ços.
  • Para habilitar a mão simulada à esquerda, pressione e segure a tecla de deslocamento à esquerda . 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 mantenha pressionada a teclaCTRL da + de espaços (mão direita) ou a tecla de deslocamento esquerda + tecla CTRL (mão esquerda) e 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 construção....

  3. Na janela Configurações de Build , selecione o botão Adicionar Cenas Abertas para adicionar sua cena atual à lista Cenas no Build .

  4. Selecione o botão Compilar .

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

    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ê pode 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 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 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 o 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 do Windows) e selecione Definir como Projeto de Inicialização.

    Importante

    Antes de criar em seu dispositivo, o dispositivo deve estar no Modo de Desenvolvedor e emparelhado com seu computador de desenvolvimento.; consulte 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 via Wi-Fi, selecione Máquina Remota.

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

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

    Captura de tela da janela do Visual Studio com o Dispositivo 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 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

    Recomendamos que você insira manualmente seu endereço IP em vez de depender do recurso "Detectado Automaticamente". Para encontrar seu endereço IP, no HoloLens, vá para Atualizações de Configurações > & Segurança > para desenvolvedores. O endereço IP é listado na parte inferior da janela em Ethernet.

  7. No campo Nome do Computador , 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 faça um dos seguintes 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.

Emparelhando seu dispositivo

Na primeira vez que você implantar um aplicativo no HoloLens do computador, será solicitado que você solicite um PIN. Para criar um PIN:

  1. Em seu HoloLens, vá para Atualizações de Configurações > & Segurança > para desenvolvedores.
  2. Selecione Par. Isso exibe o PIN no HoloLens.
  3. Insira o PIN na caixa de diálogo no Visual Studio.
  4. Depois que o emparelhamento for concluído, selecione Concluído no HoloLens.

Seu PC agora está pareado com o HoloLens e você pode implantar aplicativos automaticamente. Repita essas etapas para cada computador usado para implantar aplicativos em seu HoloLens.

Executando o aplicativo no HoloLens

  1. Depois que o aplicativo terminar de compilar, no menu Iniciar do HoloLens, localize 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 Cobrir Emulador do HoloLens ou criar umPacote de Aplicativos para sideload.

  • Você pode notar o criador de perfil de diagnóstico no aplicativo. Você pode ative-lo ou desativar usando o comando de fala 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 seu aplicativo para garantir que a taxa de quadros seja de pelo menos 60 FPS.