Exercício – Adicionar scripts de interação com mão a um objeto
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
Na barra de menus, selecione GameObject>Objeto 3D>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.
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.
No Inspetor, altere os valores de Transformar/Posicionar do cubo para o seguinte:
X = 0.2, Y = 1.6, Z = 0.5
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.
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)
Com o cubo ainda selecionado, na janela Inspetor, clique no botão Adicionar Componente e pesquise pelo script Manipulador de Objeto e selecione-o.
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.
Atualizar o material do cubo
Para fins de desempenho, é recomendável usar os materiais do MRTK em vez dos materiais padrão do Unity.
- Com o cubo ainda selecionado, encontre a seção Materiais no componente Mesh Renderer.
- 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
Na Hierarquia, clique com o botão direito do mouse no cubo e selecione Duplicar. O cubo duplicado aparecerá com o nome Cubo (1).
Clique com o botão direito do mouse no cubo original, selecione Renomear e nomeie o cubo como Cubo Próximo.
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.
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.
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
Selecione o botão Reproduzir. Quando o projeto começar a ser executado, a exibição mudará para a janela Jogo.
Observação
Antes de jogar, confirme se há um perfil válido definido em Configurações do projeto>MRTK3.
Selecione o botão de três pontos no canto superior direito da janela Jogo e selecione Maximizar.
Pressione a barra de espaço para fazer a mão direita simulada aparecer na visualização.
Mova a mão simulada para perto do Cubo próximo até que ela toque o cubo na parte lateral ou inferior.
Pressione o botão esquerdo do mouse (isso faz com que a mão "agarre" o cubo) e arraste o cubo pela cena.
Para segurar e mover o Cubo distante, usaremos o ponteiro distante anexado à mão simulada.
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.
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.
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
Minimize a janela de reprodução selecionando o botão três pontos e desmarcando Maximizar.
Na barra de menus, selecione Arquivo>Configurações de Build....
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.
Selecione o botão Compilar.
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.
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.
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.
Configure o Visual Studio para o HoloLens selecionando a configuração Mestre ou Versão e a arquitetura ARM64:
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.
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.
- Se você estiver criando e implantando por meio do USB, selecione Dispositivo.
Defina a conexão remota: na barra de menus, selecione Projeto > Propriedades.
Na janela Páginas de Propriedades do projeto, selecione Propriedades de Configuração > Depuração.
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.
No campo Nome da máquina, insira o endereço IP do seu dispositivo.
Defina o Modo de Autenticação como Universal (protocolo não criptografado).
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.
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:
- Em seu HoloLens, acesse Configurações > Atualizações e Segurança > Para desenvolvedores.
- Selecione Emparelhar. Isso exibe o PIN no HoloLens.
- Insira o PIN na caixa de diálogo no Visual Studio.
- 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
Após a conclusão da construção do seu aplicativo, no menu Iniciar do HoloLens, encontre o bloco do aplicativo e selecione-o.
Depois que o aplicativo iniciar, alcance o Near Cube, pegue-o e arraste-o.
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.