Suwaki — MRTK2

Przykład suwaka

Suwaki to składniki interfejsu użytkownika, które umożliwiają ciągłą zmianę wartości przez przesunięcie suwaka na torze. Obecnie suwak szczypta można przenosić bezpośrednio, chwytając suwak bezpośrednio lub na odległość. Suwaki działają na ar i VR przy użyciu kontrolerów ruchu, rąk lub gestu + głosu.

Przykładowa scena

Przykłady można znaleźć w scenie SliderExample w obszarze MRTK/Examples/Demos/UX/Slider/Scenes/.

Jak używać suwaków

Przeciągnij i upuść prefabryk pinchSlider do hierarchii sceny. Jeśli chcesz zmodyfikować lub utworzyć własny suwak, pamiętaj, aby wykonać następujące czynności:

  • Upewnij się, że obiekt kciuka ma na nim zderzacz. W prefab PinchSlider zderzacz jest włączony SliderThumb/Button_AnimationContainer/Slider_Button
  • Upewnij się, że obiekt zawierający zderzacz ma również na nim składnik Near Interaction Grabbable, jeśli chcesz mieć możliwość chwycenia suwaka w pobliżu.

Zalecamy również używanie następującej hierarchii

  • PinchSlider — zawiera element sliderComponent
    • TouchCollider — zderzacz zawierający cały zaznaczony obszar suwaka. Włącza zachowanie Przyciąganie do położenia.
    • SliderThumb — zawiera wymienny kciuk
    • TrackVisuals — zawiera ścieżkę i inne wizualizacje
    • OtherVisuals — zawiera wszystkie inne wizualizacje

Zdarzenia suwaka

Suwaki uwidaczniają następujące zdarzenia:

  • OnValueUpdated — wywoływana za każdym razem, gdy zmienia się wartość suwaka
  • OnInteractionStarted — wywoływana, gdy użytkownik pobiera suwak
  • OnInteractionEnded — wywoływana, gdy użytkownik zwalnia suwak
  • OnHoverEntered — wywoływana, gdy ręka/kontroler użytkownika znajduje się na suwaku, używając interakcji bliskiej lub dalekiej.
  • OnHoverExited — wywoływana, gdy ręka/kontroler użytkownika nie znajduje się już w pobliżu suwaka.

Konfigurowanie ograniczenia suwaka i osi

Możesz bezpośrednio przenieść punkty początkowe i końcowe suwaka, przenosząc uchwyty w scenie:

Konfiguracja suwaków

Możesz również określić oś (w przestrzeni lokalnej) suwaka za pomocą pola Oś suwaka

Jeśli nie możesz użyć uchwytów, możesz zamiast tego określić punkty początkowe i końcowe suwaka za pomocą pól Odległość rozpoczęcia suwaka i Odległość końcowa suwaka . Określają one położenie suwaka na początku/końcu jako odległość od środka suwaka w lokalnych współrzędnych. Oznacza to, że po ustawieniu odległości rozpoczęcia i zakończenia suwaka w miarę ich potrzeb można skalować suwak w taki sposób, aby był mniejszy lub większy bez konieczności aktualizowania odległości początkowej i końcowej.

Właściwości inspektora

Główny kciuk Obiekt gameobject zawierający kciuk suwaka.

Przyciągaj do pozycji Czy ten suwak przyciąga się do wyznaczonej pozycji na suwaku

Jest touchable Czy ten suwak jest sterowany za pomocą zdarzeń dotykowych

Zderzacz kciuka Zderzacz, który kontroluje kciuk suwaka

Kolider do dotyku Obszar suwaka, który można dotknąć lub wybrać, gdy wartość Snap To Position ma wartość true.

Wartość suwaka Wartość suwaka.

Używanie podziałów kroków suwaka Określa, czy ten suwak zwiększa się w krokach, czy w sposób ciągły.

Podziały kroków suwaka Liczba podziałów podrzędnych suwaka jest dzielona po włączeniu dzielenia kroków suwaka.

Śledzenie wizualizacji Obiekt gameobject, który zawiera żądane wizualizacje śledzenia, które idą wzdłuż suwaka.

Znaczniki Obiekt gameobject zawierający żądane znaczniki, które idą wzdłuż suwaka.

Wizualizacje kciuka Obiekt gameobject zawierający żądaną wizualizację kciuka, która przechodzi przez suwak.

Oś suwaka Oś przesuwa się suwakiem.

Odległość rozpoczęcia suwaka Gdzie rozpoczyna się tor suwaka w odległości od środka wzdłuż osi suwaka, w lokalnych jednostkach przestrzeni.

Odległość końcowa suwaka Gdzie tor suwaka kończy się w odległości od środka wzdłuż osi suwaka, w lokalnych jednostkach przestrzeni.

Gdy użytkownik zaktualizuje wartość osi suwaka w edytorze, jeśli określono opcję Śledź wizualizacje lub wizualizacje tick, ich przekształcenie zostanie zaktualizowane. W szczególności ich położenie lokalne jest resetowane, a ich obrót lokalny jest ustawiony tak, aby był zgodny z orientacją osi suwaka. Ich skala nie jest modyfikowana. Jeśli znaczniki zaznaczeń mają składnik kolekcji obiektów siatki, układ i cellWidth lub CellHeight są odpowiednio aktualizowane w celu dopasowania osi suwaka.

Przykładowe konfiguracje suwaka

Suwaki ciągłe z przyciąganiem do położenia suwaków ciągłych

Suwaki kroków z przyciąganiem do położenia

Suwaki kroków

Suwaki dotykowe

Suwaki dotykowe