Wie standardisiert sind Joystick- / Gamepad-Konfigurationen?

7

Im Moment arbeite ich an Eingaben für mein Spiel.

Der einzige Controller, den ich besitze, ist ein XBOX 360.

Soweit ich sehen kann, sind dies tatsächlich Auslöser, wenn der Steuerknüppel eines Controllers eine Z-Achse hat.

Im Wesentlichen frage ich mich, ob dies von einem Controller zum nächsten konsistent ist.

jmasterx
quelle

Antworten:

3

Joysticks und alternative Eingabegeräte variieren in der Regel stark darin, wie sie ihre Eingaben den Treibern aussetzen. Daher ist es nicht immer so, dass eine analoge Z-Achse Triggern entspricht (z. B. wenn die Trigger des Controllers keine analogen haben Eingabewerte, sie können nur zusätzliche Schaltflächen sein).

Die API, mit der Sie auf die Joysticks zugreifen, erledigt möglicherweise einen Teil der Arbeit für Sie und versucht, die Daten vom Controller zu homogenisieren. Dies hängt jedoch stark von der API ab und wird leider nicht immer ordnungsgemäß ausgeführt.

Es hört sich so an, als wären Sie auf einer Windows-Plattform. XInput unterstützt nur Xbox-ähnliche Controller. Das "nächstbeste" ist wahrscheinlich DirectInput, obwohl es etwas langwierig und COM-ähnlich ist.


quelle
Ich würde hinzufügen, dass ein technischer Grund für die Verwendung von XInput für 360-Controller darin besteht, dass DirectInput die Trigger ( Quelle ) des 360-Pads nicht ordnungsgemäß unterstützt
NoobsArePeople2
1

In der Praxis stellen unter Windows- und Mac-Betriebssystemen verschiedene Gamepads ihre Steuerelemente über sehr unterschiedliche Mechanismen zur Verfügung.

Das einzige, worauf Sie zählen können, ist, dass bei mehreren analogen Sticks der linke die Nummer Null ist und die digitalen Tasten 0 und 1 Gesichtstasten sind, auf die mit dem rechten Daumen zugegriffen werden kann.

Alles andere scheint von Hersteller zu Hersteller und sogar von Gerät zu Gerät zu variieren. Dies ist einer der Hauptgründe, warum Computerspiele unbedingt über eine "Controller-Konfiguration" verfügen müssen, mit der Benutzer die Tasten und analogen Stick-Achsen ihres Gamepads der In-Game-Funktionalität zuordnen können. Derzeit gibt es keine andere Möglichkeit, Spiele für alle Spieler mit allen Gamepads ordnungsgemäß zum Laufen zu bringen.

Trevor Powell
quelle
1

Es gibt praktisch überhaupt keine Standardisierung. Selbst wenn Sie nur den Standard-Controller für jede Plattform verwenden, ordnen sie alle Steuerelemente unterschiedlich zu und das erwartete Verhalten ist unterschiedlich (z. B. welche der Schaltflächen zurückgehen soll, welche bestätigt werden soll usw.). Und selbst wenn alle Controller etwas gemeinsam haben, was ist mit den anderen Steuerelementen? Benutzer möchten sie möglicherweise verwenden, insbesondere wenn sie diesen Controller speziell für die Extras ausgewählt haben.

Sie müssen mindestens mit den wichtigsten einzelnen Controllern testen, die Sie unterstützen möchten. Idealerweise müssen Sie in der Lage sein, jede Schaltfläche, jeden Auslöser oder jede Achse einer geeigneten Aktion im Spiel zuzuordnen. Anschließend müssen Sie die Standardeinstellungen für gängige Controller verwenden und die Spieler die Controller zu ihrer Zufriedenheit konfigurieren lassen.

Kylotan
quelle