Problème avec 2 manettes xbox en multjoueur

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
petitarbi93
Messages : 2
Inscription : 29 Jan 2020 15:32

Problème avec 2 manettes xbox en multjoueur

Message par petitarbi93 » 29 Jan 2020 16:10

Bonjour à tous ! :)

Jeune développeur indépendant, je me suis lancé dans la création d'un petit jeu en multijoueur local.

Le tout est parfaitement fonctionnel à l'exception d'un petit détail :? , je m'explique :

En build, lorsque je lance mon jeu avec 1 manette déjà branchée (xbox, PS4 etc) tout marche nickel !
Pareil lorsque je lance la build avec 2 manettes PS4 branchées ou 1 de xbox et 1 de PS4 (ou de switch pro) ! Mais, si et seulement si ce sont 2 manettes "xbox" qui sont branchées, ça bugue ! Comme si le jeu (ou l'ordi) n'arrivait pas à définir quelle manette est "joystick 1" et laquelle est "joystick 2". En effet, avec 2 manettes xbox déjà branchées, une fois arrivé dans le menu principal, aucune des 2 manettes ne marche séparément.
Si je veux lancer un niveau, je dois appuyer en même temps sur le bouton "A" des 2 manettes xbox, comme si elles n'étaient reconnues comme n'étant qu'une seule et même manette ! Le seul moyen pour les joueurs avec 2 manettes xbox de jouer correctement est de brancher la 2ème manette seulement 1 fois arrivé dans le menu principal et non avant le lancement de la build ! Au début je pensais à un problème dans l'input manager, mais comme ça marche parfaitement avec d'autres manettes, j'avoue que je suis un peu perdu ! :-/

Quelqu'un aurait-il déjà rencontré un problème similaire à mon cas ?

Un grand merci d'avance pour votre aide ! :-D

Bonne journée à toute la commu ! ;-)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème avec 2 manettes xbox en multjoueur

Message par boubouk50 » 29 Jan 2020 16:22

Salut,

En gros, Windows ne met pas à disposition un ID unique par controleur, du coup, impossible de connecter plusieurs manettes. Ce bug n'existe pas avec une compilation UWP.
Le nouveau système d'Input d'Unity doit corriger ce problème. Il est disponible depuis la 2019.2. Quelle version d'Unity utilises-tu?

Réponse Unity issue tracker:
This bug is part of a much larger issue with InputManager that's been around for a long time.

The core problem is caused by the way Microsoft choose to implement Xbox gamepads (Xbox 360 and Xbox One) on Windows, in that the left and right triggers cannot be properly read by the HID interface. The 2 triggers are combined to a single axis making it impossible to read them independently using HID, and instead the only way to read trigger input is via XInput. However, XInput only operates by a 'UserIndex" value and doesn't expose any kind of hardware ID, and so there's no way to reliably map a UserIndex with a HID hardware ID.

This causes problems when multiple Xbox controllers are connected on Windows, since we don't know which UserIndex goes with which HID hardware ID, causing failures to read input properly. Attempts to work-around the problem only seem to cause other issues or regressions, as was the case with this bug. So, this is another "band-aid" fix that attempts to mitigate the problem.

NOTE: This issue is with Windows Standalone player and Windows Editor but not with UWP, since it uses completely different code to read input. Furthermore, this problem has been fully addressed with the New Input System.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

petitarbi93
Messages : 2
Inscription : 29 Jan 2020 15:32

Re: Problème avec 2 manettes xbox en multjoueur

Message par petitarbi93 » 29 Jan 2020 17:12

Hello !

Merci beaucoup pour ta réponse hyper rapide ;-)
Ok je comprends mieux mtnt ! X|

Actuellement j'utilise la 2018.3.6, je vais donc tester tout de suite avec la 2019.2 :)

Encore merci pour ta réponse !

Répondre

Revenir vers « Unity le logiciel »