Partilhar via


Botão — MRTK3

Botão Principal

Um botão dá ao utilizador uma forma de acionar uma ação imediata. É um dos componentes mais fundamentais na realidade mista e proporcionar interações de botões satisfatórias e fiáveis é essencial para uma experiência de realidade mista de qualidade. O MRTK fornece duas categorias de pré-fabricados de botões: baseadas em telas e não baseadas em telas. Ambas as configurações utilizam o PressableButton script, uma subclasse de StatefulInteractable expandida para incluir comportamentos específicos dos botões.

Saiba mais sobre como funciona o sistema híbrido de IU de Tela.

Cenas de exemplo

Se estiver a utilizar o projeto de modelo de desenvolvimento, estão disponíveis vários cenários de exemplo que demonstram as pré-tarefas dos botões disponíveis.

CanvasUITearSheet.unity mostra todas as variantes pré-fabricadas de botões baseadas em telas disponíveis no MRTK.

Folha de Cálculo de Tela

CanvasExample.unity mostra alguns exemplos de criação de esquemas maiores com os componentes baseados em Telas.

Cenário de Exemplo de Tela

Pré-fabricados

Os botões baseados em telas são flexíveis e configuráveis e podem ser redimensionados para qualquer dimensão ou proporção. Como tal, são fornecidos apenas alguns pré-fabricados de botão.

  • EmptyButton fornece o efeito de superfície/frontplata premido, a tecla de retrocesso holográfica e o efeito de brilho. Não existe texto, ícone, etiqueta ou outro conteúdo. Isto é para que controlos semelhantes a botões mais abstratos possam ser criados como uma variante desta pré-base sem interferir com o texto ou o conteúdo do ícone.
  • ActionButton é um botão simples que inclui um ícone, texto e uma etiqueta. Estes componentes individuais podem ser ativados ou desativados e o sistema de esquemas será adaptado em conformidade.

Podem ser adicionadas outras melhorias ao botão, como o indicador de alternar. As funcionalidades que não se destinam a ser movidas com a placa frontal devem ser anexadas ao componente de backplate.

Adicionar um botão de alternar

Estrutura

As diferentes partes de um ActionButton podem ser ativadas/desativadas para personalizar o aspeto e o comportamento do botão. Dissecámos duas configurações possíveis diferentes para mostrar as diferentes partes da pré-base do botão. O "backglow" não é visível nestas capturas de ecrã, uma vez que o botão não está a ser premido ativamente.

Primeiro, uma configuração maior onde o objeto de Texto principal está ativo e utiliza estilos inline para apresentar um cabeçalho e um subtexto. Estrutura de botões tela grande Em segundo lugar, uma configuração mais pequena onde o está ativo para mostrar uma descrição da ação abaixo do ícone. O objeto texto principal está desativado. Estrutura do botão Tela Pequena

PressableButton classe

A PressableButton classe é derivada com StatefulInteractable funções novas e substituídas específicas de botões. No Inspetor, pode configurar definições relacionadas com a imprensa volumétrica para além de todas as outras definições configuráveis de StatefulInteractable. Captura de ecrã do inspetor PressableButton

Construir a IU com botões

Ao criar um menu ou painéis de IU com vários botões, é recomendado utilizar uma geometria de backplate partilhada. Ao utilizar uma placa de retrocesso partilhada, podemos reduzir o ruído visual e melhorar a capacidade de utilização. Eis alguns exemplos de como definir botões por cima da placa de retrocesso partilhada.

Construir a IU 1

Construir a IU 2

Construir a IU 3

Componentes Adicionais

Para referência, seguem-se alguns componentes adicionais responsáveis pelo processamento de aspetos de elementos visuais e funcionalidades de botões:

  • O pulso da placa frontal visual observado quando o botão é selecionado é processado por um InteractablePulse componente.
  • O ícone do botão pode ser definido para um ícone mrTK com FontIconSelector.
  • Opcionalmente RectTransformColliderFitter , um pode ser utilizado nos botões do Canvas para se ajustar BoxCollider ao respetivo RectTransform. Este componente está desativado por predefinição para desempenho.