Dokumentacja Steamworks
Menu kołowe
Menu kołowe to nakładka ekranowa z działaniami w grze, która jest wyświetlana jako pierścień opcji, które można wybrać za pomocą kontrolera. To menu jest podobne do menu dotykowego z wyjątkiem tego, że zamiast wybierać konkretne miejsce na powierzchni dotykowej, gracz musi najechać wirtualnym wskaźnikiem na daną opcję, a potem ją zaznaczyć, by uruchomić działanie.

To menu może zostać użyte np. do zmiany broni w strzelance z perspektywą pierwszej osoby, przełączania skrótów klawiszowych w grach RTS czy MMO oraz czegokolwiek, co jesteś w stanie wymyślić. Menu kołowe mogą być skonfigurowane na wiele różnych sposobów pod względem zachowania i wyglądu oraz mogą być ozdobione za pomocą niestandardowych etykiet i ikon (dostarczonych albo przez Valve, albo producenta, albo gracza).

Oto przykład menu kołowego służącego do szybkiego wyboru zaklęcia w Defender's Quest: Valley of the Forgotten:

dqdx_radial_menu.png

Menu kołowe na środku ekranu nie jest częścią kodu Defender's Quest – działa ono całkowicie w ramach nakładki Steam i konfiguratora Steam Input. Jeżeli chodzi o samą grę Defender's Quest, to otrzymuje ona jedynie działania z API Steam Input.

Menu kołowe są dostępne zarówno w trybie natywnym, jak i zgodności, ale mogą działać tylko z niektórymi źródłami wejścia:

Źródło wejściaObsługa menu kołowego
Panel dotykowy
Pad kierunkowy
Panel przycisków
Drążek
Żyroskop
Przełączniki
Spusty

Aby utworzyć menu kołowe, po prostu wybierz kompatybilne źródło wejścia w konfiguracji twojej gry (np. drążek czy panel dotykowy), po czym wybierz „Menu kołowe” jako styl wprowadzania.

radial_menu_create.png

Ekran konfiguracji menu kołowego wygląda następująco:
radial_menu.png

Podstawowe opcje

Styl aktywacji menu


Określa to sposób działania menu kołowego – czy działanie powinno się uruchomić, gdy wskażesz i puścisz palec? Czy musisz coś wcześniej kliknąć? A może powinno być aktywowane tak długo, jak jest podświetlone?

Dostępne opcje to:

Styl aktywacji menuOpis
Wciśnięcie przyciskuPodświetlone działanie uruchomi się, gdy wciśniesz element wejściowy.
Zwolnienie przyciskuWybrane działanie jest uruchamiane tylko, gdy wciśniesz element wejściowy, a następnie go zwolnisz.
Zwolnienie dotyku/koniec zmiany trybuPodświetlone działanie uruchomi się, gdy element wejściowy przestanie działać (np. zwalniasz przycisk lub podnosisz palec z panelu dotykowego/drążka) albo gdy menu kołowe korzysta ze zmiany trybu i ta zmiana trybu zakończy się.
ZawszeUruchamia działanie tak długo, jak jest podświetlone.

Inne opcje:


OpcjaOpis
Pozycja pozioma/pionowa na ekranieGdzie menu kołowe powinno pojawić się na ekranie? Wartości mieszczą się w zakresie od 0,0-1,0, gdzie zero reprezentuje lewy/górny brzeg ekranu, a jeden reprezentuje prawy/dolny.
Przezroczystość menuMenu kołowe ma czarne tło, którego przezroczystość możesz kontrolować. Z kolei same ikony działań są zawsze w 100% nieprzejrzyste.
Rozmiar menuJak duże jest menu? Wartości skali mieszczą się w przedziale 0,0-1,0 – od najmniejszego do największego.
Wyświetl etykietę przypisania na przyciskuPrzyciski menu kołowego mogą wyświetlać etykietę tekstową działania przypisanego do faktycznego przycisku. Jeżeli zostanie użyta ikona, ta etykieta zostanie wyświetlona w lewym górnym rogu. Wyłączenie tej opcji spowoduje, że zostanie użyta ikona lub pusty przycisk.
Działanie wciśnięciaTo działanie nie jest przypisane do żadnego konkretnego elementu wejściowego, lecz do samego menu kołowego. Staje się to szczególnie użyteczne w połączeniu z rodzajem aktywacji (menu kołowego) o nazwie „Zawsze”. Naturalnym przykładem jest przypisanie tego do pauzy, by wraz z każdym przywołaniem menu kołowego gra była wstrzymywana, a gracz miał czas na dokonanie wyboru.

Przyciski menu


Każda opcja „Przycisku menu X” może mieć przydzielone działanie (i/lub przypisanie klawisza zgodności). Ekran podstawowej konfiguracji ma pięć przycisków menu, ale możesz przypisać maksymalnie dwadzieścia (wybierz „Ustawienia dodatkowe” dla przypisań przycisków menu 6-20).

radial_menu_button.png

Środkowy/niewybrany przycisk


Na środkowej pozycji menu kołowego znajduje się opcjonalny „środkowy” przycisk, który można przypisać tak jak każdy inny przycisk menu kołowego. Pamiętaj o tym, że im więcej zwykłych przycisków menu dodasz, tym środkowy przycisk będzie większy.

WSKAZÓWKA: domyślne anulowanie na środku

W zależności od twojej gry możesz chcieć, by gracz mógł z łatwością wyłączyć menu kołowe bez aktywowania żadnej z opcji. Jeśli korzystasz ze stylu aktywacji „Zwolnienie dotyku/koniec zmiany trybu”, to może być to trudne, ponieważ jakiekolwiek ostatnie zaznaczone działania zostanie automatycznie uruchomione po zamknięciu menu kołowego.

Jednym ze sposobów implementacji tego jest stworzenie całkowicie nieużywanego działania w twojej grze (nazwij go np. „nevermind” lub podobnie) i przypisanie go do przycisku środkowego. Z kolei jeśli jesteś graczem i producent nie stworzył takiego działania (lub jesteś w trybie zgodności), przypisz środkowy przycisk do jakiegoś klawisza trybu zgodności, który gra ignoruje. Następnie wybierz ładny symbol „X” dla tego przycisku menu.

Gotowe! Teraz możesz zamykać ten rodzaj menu kołowego bez wykonywania działania. Wystarczy, że przejdziesz na pozycję środkową i zwolnisz przycisk.

Ikony przycisków menu


Do każdego przycisku menu można również przypisać ikonę. Aby przypisać ikonę, zaznacz pole obok słowa „Ikona”:

radial_menu_button_icon.png

Po wybraniu ikony możesz również zmienić jej kolor:

radial_menu_button_icon_color.png

Domyślnie ikony są dostarczane przez Valve z samego klienta Steam. Można je znaleźć w folderze <katalog instalacyjny Steam>\Steam\tenfoot\resource\images\library\controller\binding_icons (a jeśli zdecydujesz się dodać własne ikony, to pojawią się w tym samym menu, ale tylko na twoim komputerze lokalnym). Producenci mogą dostarczać swoje własne ikony dla menu kołowych i dotykowych, umieszczając pliki PNG w folderze TouchMenuIcons w folderze głównym gry.

Oto przykład producenta przesyłającego niestandardowe ikony wraz ze swoją grą:

dqdx_sc_radial_icons.png

Ciekawostka

Jako niestandardowe ikony menu możesz użyć animowanych GIF-ów!

Zagnieżdżone menu kołowe


Do stworzenia zagnieżdżonych menu kołowych możesz użyć warstw z zestawami działań. Jako przykładu użyjemy gry Slime Rancher.

Oto link do konfiguracji, którą za chwilę stworzymy:
steam://controllerconfig/433340/1360133345

A oto ukończony plik IGA dla konfiguracji, którą będziemy tworzyć:
slime_rancher_nested_radial_menus.vdf

A oto jak to wygląda w akcji:

slime_rancher_0.png

Menu kołowe jest przypisane do lewego panelu dotykowego i pozwala ci wybrać różne opcje w grze takie jak np. „Otwórz Slimepedię”, „Przełącz radar”, „Otwórz mapę” itp. Posiada ono również specjalną opcję otwierania zagnieżdżonego menu kołowego o nazwie „Opcje systemowe”:

slime_rancher_1.png

Wybranie tej opcji aktywuje zdefiniowaną przez gracza warstwę z zestawem działań o nazwie „Opcje systemowe”. Gdy następnym razem gracz otworzy menu kołowe, zamiast tego zobaczy to:

slime_rancher_2.png

Teraz do wyboru mamy takie opcje jak „Wykonaj zrzut ekranu”, „Pokaż klawiaturę” oraz sterowanie głośnością. Istnieje również opcja „Wróć”, która dezaktywuje warstwę z zestawem działań o nazwie „Opcje systemowe” i spowoduje pojawienie się normalnych opcji przy następnej aktywacji tego menu kołowego:

slime_rancher_3.png

Oto jak to skonfigurowaliśmy. Najpierw tworzymy niestandardową warstwę z zestawem działań. Klikamy „Dodaj warstwę działań”.

slime_rancher_add_layer_1.png

Nazwiemy ją „Opcje systemowe”.

slime_rancher_add_layer_2_1.png

Jak już to zrobimy, wracamy do naszej podstawowej konfiguracji i zestawu działań „Sterowanie grą”, po czym wybieramy lewy panel dotykowy i konfigurujemy nasze podstawowe menu kołowe:

slime_rancher_radial_menu_config_1.png

Wszystko jest względnie zwyczajne z wyjątkiem przycisku menu 5, który aktywuje warstwę z zestawem działań. Ustawiamy to, wybierając specjalny przycisk „Zestaw działań” na ekranie przypisywania, a następnie „Nałóż warstwę działań –> Opcje systemowe” z wyskakującego menu:

slime_rancher_radial_menu_config_3.png

Zwróć uwagę, że specjalny przycisk „Zestaw działań” nie pojawi się w menu przypisywania, jeśli nie posiadasz zdefiniowanego żadnego niestandardowego zestawu działań. Oznacza to, że musisz utworzyć niestandardową warstwę z zestawem działań przed próbą stworzenia przełącznika aktywującego ją. Więcej informacji na temat tworzenia warstw z zestawami działań znajdziesz tutaj.

Po skonfigurowaniu naszego bazowego menu kołowego musimy również skonfigurować menu kołowe dla nałożonej warstwy z zestawem działań. Wracamy do ekranu podstawowej konfiguracji i wybieramy niestandardową warstwę z zestawem działań o nazwie „Opcje systemowe”:

slime_rancher_radial_menu_config_4.png

Następnie wybieramy lewy panel dotykowy, do którego przypisane jest menu kołowe w znajdującym się „pod spodem” zestawie działań:

slime_rancher_radial_menu_config_5.png

Zwróć uwagę, że znajdujące się „pod spodem” przypisania działań są wyświetlane w kolorze szarym. Możemy je nadpisać, by stworzyć zagnieżdżone menu kołowe. Wszelkie niezmienione przez nas działania pojawią się na drugiej warstwie menu kołowego. Nadpiszemy w tym miejscu wszystkie z nich różnymi przypisaniami z opcjami systemowymi (z wyjątkiem środkowego działania „nevermind”). Pamiętaj zwłaszcza o tym, że przypisujemy polecenie warstwy z zestawem działań do piątego przycisku menu, który dezaktywuje warstwę z zestawem działań:

slime_rancher_radial_menu_config_6.png

I to tyle! Dwuwarstwowe menu kołowe jest gotowe do użycia.

I po raz kolejny zamieszczamy link do konfiguracji:
steam://controllerconfig/433340/1360133345

Oraz plik IGA:
slime_rancher_nested_radial_menus.vdf

Dalsza lektura