5. Adicionar um botão & repor localizações de peças

No tutorial anterior, adicionou a Hand Interaction Actors aos componentes Pawn e Manipulator ao tabuleiro de xadrez para torná-los interativos. Nesta secção, irá continuar a utilizar o plug-in ferramentas do Mixed Reality Toolkit UX Para criar a sua aplicação de xadrez com novas funções e referências de Ator no Blueprints. No final desta secção, estará pronto para empacotar e implementar a aplicação de realidade mista num dispositivo ou emulador.

Objetivos

  • Adicionar um botão interativo
  • Criar uma função para repor a localização de uma peça
  • Ligar o botão para acionar a função quando premida

Criar uma função de reposição

A sua primeira tarefa é criar um esquema de função que repõe uma peça de xadrez para a sua posição original na cena.

  1. Abra WhiteKing, selecione o + ícone junto à secção Funções no Meu Esquema e dê-lhe o nome Repor Localização.

  2. Arraste e solte a execução da Localização de Reposição na grelha do Esquema para criar um nó SetActorRelativeTransform .

    • Esta função define a transformação (localização, rotação e escala) de um ator relativamente ao respetivo elemento principal. Irá utilizar esta função para repor a posição do rei no quadro, mesmo que o quadro tenha sido movido da sua posição original.
  3. Clique com o botão direito do rato no Gráfico de Eventos, selecione Transformar e altere a respetiva Localização para X = -26, Y = 4, Z = 0.

    • Ligue o respetivo Valor devolvido ao pin Nova Transformação Relativa em SetActorRelativeTransform.

Função Repor Localização

Compile e Guarde o projeto antes de regressar à janela Principal.

Adicionar um botão

Agora que a função está configurada corretamente, a sua próxima tarefa é criar um botão que a acione quando é tocado.

  1. Clique em Adicionar Nova > Classe de Esquema, expanda a secção Todas as Classes e procure UxtPressableButtonActor.
    • Dê-lhe o nome ResetButton e faça duplo clique para abrir o Esquema

Subclasse o novo Esquema a partir do botão de estilo HoloLens 2

  1. Certifique-se de que ResetButton(self) está selecionado no painel Componentes . No painel Detalhes , navegue para a secção Botão . Altere a Etiqueta de Botão predefinida para "Repor", expanda a secção Pincel de Ícone de Botão e prima o botão Abrir Editor de Pincel de Ícones .

Definir a etiqueta e o ícone no botão

O Editor de Pincel de Ícones será aberto, que pode utilizar para selecionar um novo ícone para o botão.

Selecionar um ícone para o botão

Existem muitas outras definições que pode ajustar para configurar o botão. Para saber mais sobre o componente Botão Premido do UXT, consulte a documentação.

  1. Clique em BotãoComponente (Herdado) no painel Componentes e desloque-se para baixo no painel Detalhes até à secção Eventos .
    • Clique no botão verde + junto a Botão Ativado Premido para adicionar um evento ao Gráfico de Eventos, que será chamado quando o botão for premido.

A partir daqui, vai querer chamar a função Localização de Reposição do WhiteKing, que precisa de uma referência para o Ator de WhiteKing no Nível.

  1. No painel O Meu Esquema , navegue para a secção Variáveis , clique no + botão e atribua um nome à variável WhiteKing.
    • No painel Detalhes , selecione o menu pendente junto a Tipo de Variável, procure WhiteKing e selecione a Referência do Objeto.
    • Selecione a caixa junto a Editável de Instâncias, que permite que a variável seja definida a partir do Nível Principal.

Criar uma variável

  1. Arraste a variável WhiteKing de As Minhas Variáveis de Esquema > para o Gráfico de Eventos de Botão repor e selecione Obter WhiteKing.

Acionar a função

Tudo o que resta é desligar oficialmente a função de reposição quando o botão for premido.

  1. Arraste o pin de saída e a versão do WhiteKing para colocar um novo nó. Selecione a função Repor Localização . Por fim, arraste o pino de execução de saída de No Botão Premido para o pino de execução de entrada na Localização de Reposição. Compile e Guarde o Esquema ResetButton e, em seguida, regresse à janela Principal.

Função Repor Localização da Chamada a partir do Botão Ativado Premido

  1. Arraste ResetButton para o viewport e defina a localização para X = 50, Y = -25 e Z = 10. Defina a rotação para Z = 180. Em Predefinição, defina o valor da variável WhiteKing como WhiteKing.

Definir a variável

Execute a aplicação, mova a peça de xadrez para uma nova localização e prima o botão de estilo HoloLens 2 para ver a lógica de reposição em ação!

Tem agora uma aplicação de realidade mista com uma peça de xadrez e quadro interagiveis e um botão totalmente funcional que repõe a localização da peça. Pode encontrar a aplicação concluída até este ponto no repositório do GitHub . Sinta-se à vontade para ir além deste tutorial e configurar o resto das peças de xadrez para que todo o quadro seja reposto quando premir o botão repor.

Cena de fim no viewport

Está pronto para avançar para a secção final deste tutorial onde irá aprender a empacotar e implementar a aplicação num dispositivo ou emulador.

Importante

Neste momento, deve atualizar o seu projeto com as definições recomendadas de desempenho não atual antes de implementar a sua aplicação num dispositivo ou emulador.

Secção Seguinte: 6. Empacotar & a implementar no dispositivo ou no emulador