Controles deslizantes – MRTK2

Slider example

Os controles deslizantes são componentes de interface do usuário que permitem alterar continuamente um valor movendo um controle deslizante em uma faixa. Atualmente, o Controle Deslizante de Pinçagem pode ser movido agarrando diretamente o controle deslizante, diretamente ou a uma distância. Os controles deslizantes funcionam em AR e VR, usando controladores de movimento, mãos ou Gesto + Voz.

Cena de exemplo

Você pode encontrar exemplos na cena SliderExample em MRTK/Examples/Demos/UX/Slider/Scenes/.

Como usar controles deslizantes

Arraste e solte o prefab PinchSlider na hierarquia de cena. Se você quiser modificar ou criar seu próprio controle deslizante, lembre-se de fazer o seguinte:

  • Verifique se seu objeto de polegar tem um colisor nele. No prefab PinchSlider, o colisor está ligado SliderThumb/Button_AnimationContainer/Slider_Button
  • Certifique-se de que o objeto que contém o colisor também tenha um componente de Captura de Interação Próxima nele, se você quiser ser capaz de capturar o controle deslizante perto.

Também recomendamos usar a hierarquia a seguir

  • PinchSlider – Contém o sliderComponent
    • TouchCollider – Colisor que contém toda a área selecionável do controle deslizante. Habilita o comportamento Ajustar Para Posicionar.
    • SliderThumb – Contém o polegar móvel
    • TrackVisuals - Contendo a faixa e quaisquer outros visuais
    • OtherVisuals - Contendo quaisquer outros visuais

Eventos de controle deslizante

Os controles deslizantes expõem os seguintes eventos:

  • OnValueUpdated - Chamado sempre que o valor do controle deslizante for alterado
  • OnInteractionStarted - Chamado quando o usuário pega o controle deslizante
  • OnInteractionEnded - Chamado quando o usuário libera o controle deslizante
  • OnHoverEntered - Chamado quando a mão/controlador do usuário passa o mouse sobre o controle deslizante, usando interação próxima ou distante.
  • OnHoverExited – Chamado quando a mão/controlador do usuário não está mais perto do controle deslizante.

Configurando o limite e o eixo do controle deslizante

Você pode mover diretamente os pontos inicial e final do controle deslizante movendo as alças na Cena:

Sliders Config

Você também pode especificar o eixo (no espaço local) do controle deslizante por meio do campo Eixo do Controle Deslizante

Se você não puder usar os identificadores, poderá especificar os pontos de início e de término do controle deslizante por meio dos campos Distância inicial do controle deslizante e distância final do controle deslizante . Elas especificam a posição inicial/final do controle deslizante como uma distância do centro do controle deslizante, em coordenadas locais. Isso significa que, depois de definir as distâncias de início e término do controle deslizante como desejar, você poderá dimensionar o controle deslizante para ser menor ou maior sem precisar atualizar as distâncias de início e de término.

Propriedades do inspetor

Raiz do Polegar O gameobject que contém o polegar do controle deslizante.

Ajustar Para Posicionar Se esse controle deslizante é ou não encaixado na posição designada no controle deslizante

É touchable Se esse controle deslizante é controlável por meio de eventos de toque

Colisor de Polegar O colisor que controla o polegar do controle deslizante

Colisor tocável A área do controle deslizante que pode ser tocada ou selecionada quando Ajustar Para Posição é verdadeira.

Valor do controle deslizante O valor do controle deslizante.

Usar divisões de etapas do controle deslizante Controla se esse controle deslizante é incrementado em etapas ou continuamente.

Divisões de etapas do controle deslizante Número de subdivisões em que o controle deslizante é dividido quando as Divisões de Etapa do Controle Deslizante de Uso estão habilitadas.

Acompanhar visuais O gameobject que contém os visuais de faixa desejados que vão ao longo do controle deslizante.

Marcas de escala O gameobject que contém as marcas de escala desejadas que vão ao longo do controle deslizante.

Visuais do Thumb O gameobject que contém o visual de polegar desejado que vai ao longo do controle deslizante.

Eixo do controle deslizante O eixo em que o controle deslizante se move.

Distância inicial do controle deslizante Onde a faixa de controle deslizante é iniciada, como distância do centro ao longo do eixo deslizante, em unidades espaciais locais.

Distância final do controle deslizante Onde a faixa de controle deslizante termina, como distância do centro ao longo do eixo deslizante, em unidades espaciais locais.

Quando o usuário atualiza o valor do eixo do controle deslizante no editor, se Os Visuais de Faixa ou Tique forem especificados, a transformação será atualizada. Especificamente, sua posição local é redefinida e sua rotação local é definida para corresponder à orientação do Eixo deslizante. A escala deles não é modificada. Se marcas de escala tiverem um componente coleção de objetos de grade, o Layout e CellWidth ou CellHeight serão atualizados de acordo para corresponder ao Eixo do Controle Deslizante.

Configurações de controle deslizante de exemplo

Controles deslizantes contínuos com Ajustar para posicionarContinuous Sliders

Controles deslizantes de etapa com Ajustar para posicionar

Step Sliders

Controles deslizantes de toque

Touch Sliders