5. Adicionar um botão & a redefinir os locais das peças

No tutorial anterior, adicionou atores de interação manual aos componentes do Peão e manipulador ao tabuleiro de xadrez para torná-los ambos interativos. Nesta secção, continuará a utilizar o plugin UX Tools do Mixed Reality Toolkit para construir a sua aplicação de xadrez com novas funções e referências de atores em Blueprints. No final desta secção, estará pronto para embalar e implementar a aplicação de realidade mista num dispositivo ou emulador.

Objetivos

  • Adicionar um botão interativo
  • Criar uma função para redefinir a localização de uma peça
  • Ligando o botão para ativar a função quando pressionado

Criar uma função de reset

A sua primeira tarefa é criar uma planta de função que reinicie uma peça de xadrez à sua posição original na cena.

  1. Abra whiteKing, selecione o ícone ao lado da secção funções na Síssimo e nomeie-o Redefinir Localização.

  2. Arraste e liberte a execução da Localização reset na grelha de planta para criar um nó SetActorRelativeTransform.

    • Esta função define a transformação (localização, rotação e escala) de um ator em relação ao seu progenitor. Usará esta função para redefinir a posição do rei no quadro, mesmo que a prancha tenha sido retirada da sua posição original.
  3. Clique à direita no Graph de Evento, selecione Make Transform, e altere a sua Localização para X = -26, Y = 4, Z = 0.

    • Ligação o seu valor de retorno ao novo pino de transformação relativa em SetActorRelativeTransform.

Função de Localização de Reset

Compilar e Guardar o projeto antes de voltar à janela Principal.

Adicionar um botão

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

  1. Clique em Adicionar Nova Classe Blueprint, expanda a secção Todas as Classes e procure por UxtPressableButtonActor.
    • Nomeie-o ResetButton e clique duplo para abrir a Planta

Subclasse o novo Blueprint do botão de estilo HoloLens 2

  1. Certifique-se de que o ResetButton(self) está selecionado no painel de componentes. No painel Detalhes, navegue na secção Botão. Altere a etiqueta de botão predefinido para "Redefinir", expanda a secção de escova de ícones do botão e pressione o botão Open Icon Brush Editor.

Desagreda a etiqueta e o ícone no botão

O Icon Brush Editor abrirá, que pode utilizar para selecionar um novo ícone para o seu botão.

Selecione 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 pressável UXT, consulte a documentação.

  1. Clique em ButtonComponent (Hereded) no painel de Componentes e desloque o painel De Detalhes para a secção Eventos.
    • Clique no botão verde + ao lado do + para adicionar um evento ao Graph de Eventos, que será chamado quando o botão for premido.

A partir daqui, você vai querer chamar a função de Localização ResetwhiteKing,que precisa de uma referência ao Ator WhiteKing no nível.

  1. No painel My Blueprint, navegue na secção Variáveis, clique no botão e nomeie a variável WhiteKing.
    • No painel Detalhes, selecione o dropdown ao lado do Tipo Variável,procure whiteKinge selecione a Referência de Objeto.
    • Verifique a caixa ao lado da Instância Editável,que permite definir a variável a partir do Nível Principal.

Criar uma variável

  1. Arraste a variável WhiteKing das variáveis My Blueprint para o evento reset button Graph e escolha Get WhiteKing.

Desa disparar a função

Tudo o que resta é disparar oficialmente a função de reset quando o botão é premido.

  1. Arraste o pino de saída WhiteKing e solte para colocar um novo nó. Selecione a função 'Localização de Reposição'. Por fim, arraste o pino de execução de saída do Botão Pressionado para o pino de execução de entrada no Reset Location. Compilar e Guardar a Planta resetButton e, em seguida, voltar para a janela principal.

Função de localização reset de chamada a partir do botão pressionado

  1. Repor resetButton no viewport e definir a sua localização para X = 50, Y = -25, e Z = 10. Desa estarda a sua rotação para Z = 180. Em Padrão,desafine o valor da variável WhiteKing para WhiteKing.

Definir a variável

Executar a aplicação, mover a peça de xadrez para um novo local, e pressione o botão de HoloLens de estilo 2 para ver a lógica de reset em ação!

Você agora tem uma aplicação de realidade mista com uma peça e tabuleiro de xadrez interagindo, e um botão totalmente funcional que reinicia a localização da peça. Pode encontrar a app completa até este ponto no seu GitHub repo. Sinta-se livre para ir além deste tutorial e configurar o resto das peças de xadrez para que todo o tabuleiro seja reposto quando premir o botão de reset.

Cena de fim em viewport

Está pronto para passar à secção final deste tutorial onde aprenderá a embalar e implementar a aplicação para um dispositivo ou emulador.

Importante

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

Próxima secção: 6. Colocação de embalagens & no dispositivo ou emulador