Botão — MRTK3
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.
CanvasExample.unity mostra alguns exemplos de criação de esquemas maiores com os componentes baseados em Telas.
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.
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. 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.
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
.
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.
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 ajustarBoxCollider
ao respetivoRectTransform
. Este componente está desativado por predefinição para desempenho.