Jak korzystać z kontrolera Xbox w Unity

Unity Engine, solidna platforma do tworzenia gier, oferuje kompleksowe narzędzia do integracji różnych urządzeń wejściowych. Wśród powszechnie używanych urządzeń kontroler Xbox wyróżnia się ergonomiczną konstrukcją i rozbudowanymi funkcjonalnościami. W tym samouczku wyjaśnimy integrację kontrolera Xbox z projektami Unity, szczegółowo opisując proces uzyskiwania dostępu do danych wejściowych i odpowiadając na typowe zapytania związane z tą integracją.

1. Konfigurowanie środowiska programistycznego

  • Upewnij się, że najnowsza wersja Unity jest zainstalowana.
  • Podłącz kontroler Xbox do komputera. Upewnij się, że sterowniki są aktualne i że system rozpoznaje kontroler.

2. Dostęp do Menedżera wprowadzania

Aby zmodyfikować i wyświetlić bieżące wejścia:

  • Otwórz Unity.
  • Przejdź do 'Edit' -> 'Project Settings' -> 'Input Manager'.
  • W Menedżerze wprowadzania znajduje się lista wielu osi i przycisków. W przypadku kontrolerów Xbox niektóre domyślne osie i przyciski, takie jak "Horizontal" i "Vertical" odpowiadają ruchom joysticka.

3. Konfigurowanie wejść kontrolera Xbox

Na potrzeby tego samouczka skonfigurujmy przycisk 'A' i lewy przycisk 'Joystick'.

  • Rozwiń 'Axes' w Menedżerze wprowadzania.
  • Aby dodać nowe dane wejściowe, kliknij prawym przyciskiem myszy dowolną istniejącą oś i zduplikuj ją. Zmień nazwę na "A_Button".

Konfiguracja przycisku A:

  • Ustaw 'Type' na 'Joystick Axis'.
  • Wybierz właściwy 'Axis' dla przycisku A. W przypadku kontrolerów Xbox jest to zazwyczaj oś 0.
  • W przypadku 'Joy Num' wybierz 'Get Motion from all Joysticks', chyba że przeznaczony jest do tego konkretny joystick.

Konfiguracja lewego joysticka:

  • Zduplikuj kolejną oś i zmień jej nazwę na "JoystickHorizontal" dla ruchu poziomego. Ustaw 'Type' na 'Joystick Axis'. Ustaw 'Axis' na 'X axis'.
  • Skopiuj jeszcze raz i zmień jego nazwę na "JoystickVertical" dla ruchu pionowego. Ustaw 'Type' na 'Joystick Axis'. Ustaw 'Axis' na 'Y axis'.

4. Dostęp do danych wejściowych kontrolera w skryptach

  • Aby wykorzystać dane wejściowe kontrolera Xbox w skryptach Unity, użyj klasy 'Input'.
using UnityEngine;

public class XboxControllerInput : MonoBehaviour
{
    void Update()
    {
        float horizontal = Input.GetAxis("JoystickHorizontal");
        float vertical = Input.GetAxis("JoystickVertical");
        bool aButtonPressed = Input.GetButtonDown("A_Button");

        // Implement desired actions based on the input values
    }
}
  • Dołącz ten skrypt do dowolnego odpowiedniego obiektu GameObject, aby pobrać wartości wejściowe i manipulować nimi według potrzeb.

Odpowiedzi na często zadawane pytania:

  1. Dlaczego wejścia z kontrolera Xbox nie są rozpoznawane w Unity?: Kontroler Xbox może nie być prawidłowo podłączony lub sterowniki mogą nie zostać zaktualizowane. Upewnij się, że system rozpoznaje kontroler. Dodatkowo sprawdź, czy ustawienia Menedżera wprowadzania odpowiadają właściwemu numerowi joysticka i osi.
  2. Jak rozróżnić wiele podłączonych kontrolerów Xbox?: w Menedżerze wprowadzania 'Joy Num' umożliwia wybór określonego numeru joysticka. Przypisz każdemu kontrolerowi Xbox unikalny numer, aby móc je rozróżnić.
  3. Czy można utworzyć niestandardowe mapowanie przycisków dla kontrolera Xbox w Unity?: Oczywiście. Menedżer wprowadzania ułatwia niestandardowe mapowanie przycisków. Po prostu zduplikuj istniejącą oś/przycisk, zmień jej nazwę i odpowiednio dostosuj ustawienia.

Wniosek

Integracja kontrolera Xbox z projektami Unity wzbogaca rozgrywkę, zapewniając graczom znajome i intuicyjne sterowanie. Dzięki zrozumieniu Menedżera wprowadzania i klasy danych wejściowych można bezproblemowo włączyć szeroką gamę funkcji kontrolera do dowolnej Unity gry.

Sugerowane artykuły
Jak korzystać z nowego systemu wodnego HDRP w Unity
Skrypt do tworzenia włącznika światła w Unity
Jak skonfigurować kontroler joysticka do poruszania się w jedności
Unity Jak odradzać obiekty po kliknięciu myszą
Zone Controller Pro — pakiet Unity Asset Store
Pływak FPC — wszechstronne rozwiązanie umożliwiające zanurzenie się w środowiskach wodnych
Weather Maker — wznosi środowiska jedności na nowy poziom