Udostępnij za pośrednictwem


Przycisk — MRTK3

Przycisk główny

Przycisk umożliwia użytkownikowi wyzwolenie natychmiastowej akcji. Jest to jeden z najbardziej podstawowych składników rzeczywistości mieszanej, a zapewnienie satysfakcjonujących i niezawodnych interakcji przycisków jest niezbędne do jakości środowiska rzeczywistości mieszanej. Zestaw narzędzi MRTK udostępnia dwie kategorie prefabek przycisków: oparte na kanwie i nienależące do kanwy. Obie konfiguracje używają skryptu PressableButton , podklasy rozszerzonej StatefulInteractable , aby uwzględnić zachowania specyficzne dla przycisków.

Dowiedz się więcej o tym, jak działa hybrydowy system interfejsu użytkownika kanwy.

Przykładowe sceny

Jeśli używasz projektu szablonu programowania, dostępnych jest kilka przykładowych scen, które pokazują dostępne prefabryki przycisku.

Plik CanvasUITearSheet.unity pokazuje wszystkie dostępne warianty prefab przycisku oparte na kanwie w zestawie narzędzi MRTK.

Arkusz łez kanwy

CanvasExample.unity przedstawia kilka przykładów tworzenia większych układów przy użyciu składników opartych na kanwie.

Przykładowa scena kanwy

Prefabs

Przyciski oparte na kanwie są elastyczne i konfigurowalne i mogą być zmieniane na dowolny wymiar lub proporcję. W związku z tym dostępne są tylko kilka prefabryk przycisków.

  • EmptyButton zapewnia dociśniętą powierzchnię/płytę przednią, płytę holograficzne i efekt świecy. Brak tekstu, ikony, etykiety ani innego elementu zawartości. Jest to tak, że bardziej abstrakcyjne kontrolki przypominające przyciski można utworzyć jako wariant tego prefabryka bez zakłócania zawartości tekstu lub ikony.
  • ActionButton to prosty przycisk, który zawiera ikonę, tekst i etykietę. Poszczególne składniki można włączyć lub wyłączyć, a system układu odpowiednio dostosuje się.

Do przycisku można dodać inne ulepszenia, takie jak wskaźnik przełącznika. Funkcje, które nie są przeznaczone do przenoszenia z płytą przednią, powinny być dołączone do składnika backplate.

Dodawanie przełącznika

Struktura

Różne części elementu ActionButton można włączać/wyłączać, aby dostosować wygląd i zachowanie przycisku. Rozcięliśmy dwie różne możliwe konfiguracje, aby pokazać różne części prefab przycisku. Opcja "Backglow" nie jest widoczna na tych zrzutach ekranu, ponieważ przycisk nie jest aktywnie naciskany.

Najpierw większa konfiguracja, w której główny obiekt Text jest aktywny i używa stylów wbudowanych do wyświetlania zarówno nagłówka, jak i podtekstu. Struktura przycisku Duża kanwa Po drugie, mniejsza konfiguracja, w której jest aktywna, aby wyświetlić opis akcji poniżej ikony. Główny obiekt Text jest wyłączony. Struktura przycisku Mała kanwa

Klasa PressableButton

Klasa PressableButton pochodzi z StatefulInteractable nowych i zastępowanych funkcji specyficznych dla przycisków. W inspektorze można skonfigurować ustawienia związane z naciśnięciem wolumetrycznym oprócz wszystkich innych konfigurowalnych ustawień z programu StatefulInteractable. Zrzut ekranu inspektora PressableButton

Konstruowanie interfejsu użytkownika za pomocą przycisków

Podczas tworzenia menu lub paneli interfejsu użytkownika z wieloma przyciskami zaleca się użycie udostępnionej geometrii płyty wewnętrznej. Korzystając z udostępnionej płyty wewnętrznej, możemy zmniejszyć szum wizualny i zwiększyć użyteczność. Oto kilka przykładów układania przycisków na wspólnej płytce.

Konstruowanie interfejsu użytkownika 1

Konstruowanie interfejsu użytkownika 2

Konstruowanie interfejsu użytkownika 3

Dodatkowe składniki

Poniżej przedstawiono kilka dodatkowych składników odpowiedzialnych za obsługę aspektów wizualizacji i funkcji przycisków:

  • Wizualny impuls płyty przedniej zaobserwowany po wybraniu przycisku jest obsługiwany przez InteractablePulse składnik.
  • Ikona przycisku może być ustawiona na ikonę zestawu narzędzi MRTK przy użyciu polecenia FontIconSelector.
  • Element RectTransformColliderFitter może być opcjonalnie używany na przyciskach kanwy, aby dopasować element do elementu BoxColliderRectTransform. Ten składnik jest domyślnie wyłączony dla wydajności.