multijoueur sur un seul ordinateur.

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Hellocephantom
Messages : 28
Inscription : 08 Avr 2020 10:02

multijoueur sur un seul ordinateur.

Message par Hellocephantom » 06 Mai 2020 16:54

Bonjour tout le monde !

Je cherche à apprendre les bases du multijoueur sur un seul ordinateur !
Je voudrais savoir comment ça fonctionne pour la détection de plusieurs manettes différentes.
Comment est-ce que je pourrais contrôler un joueur avec une manette et un autre avec l'autre manette.

Merci beaucoup :super: !

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: multijoueur sur un seul ordinateur.

Message par Max » 06 Mai 2020 17:45

Bonjour,
Hellocephantom a écrit :
06 Mai 2020 16:54
Je voudrais savoir comment ça fonctionne pour la détection de plusieurs manettes différentes.
Pour t'aider, tu as la doc par exemple: Input Manager.
Sinon, il existe pas mal de tuto en vidéo, genre: https://www.youtube.com/watch?v=JajsWDDp5JU
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Hellocephantom
Messages : 28
Inscription : 08 Avr 2020 10:02

Re: multijoueur sur un seul ordinateur.

Message par Hellocephantom » 06 Mai 2020 22:12

Re !

La manette marche pas mal avec les bons paramétrages ! Ta vidéo m'a été très utile merci !
Par contre j'ai 2 manettes et je voudrais que chacune contrôle un joueur différent alors voilà mon script (assez basique) :) :

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{

    CharacterController Body;

    Vector3 pos;



    void Start()
    {
        Body = GetComponent<CharacterController>();
    }



    void Update()
    {

        if (transform.name == "Player 1")
            pos = new Vector3(Input.GetAxis("Horizontal1"), 0, -Input.GetAxis("Vertical1"));
        if (transform.name == "Player 2")
            pos = new Vector3(Input.GetAxis("Horizontal2"), 0, -Input.GetAxis("Vertical2"));


        if (pos != Vector3.zero)
            transform.forward = -pos;

        if (pos.magnitude > 1)
            pos = Vector3.Normalize(pos);

        Body.Move(pos);

    }
}
Le premier joueur fonctionne super bien mais malheureusement voilà...
Quand j'utilise la 2e manette, mon deuxième joueur n'avance pas !
Pourtant son nom est correcte et les paramétrages de GetAxis "Horizontal2" et "Vertical2" sont identiques à ceux du premier joueur...
Alors je vous demande votre aide ! (Je suis pas sûr d'avoir été très précis mais bon :happy1: )

PS : pour les "-Input.GetAxis" et "transform.forward = -pos" c'est juste que ma scène est à l'envers je l'ai tourné dans l'autre sens.

Merci à tous :gene: !

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: multijoueur sur un seul ordinateur.

Message par djulio74 » 06 Mai 2020 22:42

Alors déjà je sais qu'un gamepad n'est pas toujours reconnu si tu le branche alors que unity est en route, souvent besoin de quitter et relancer unity si tu connecte une nouvelle manette.
Sinon as-tu bien paramètré tes Input dans projectsetting ? Je veux dire par la qu'il faut choisir quel joystick utiliser. Par défaut c'est sur all joystick alors que tu peux choisir jusqu'à 16 manette différentes.
Sinon as-tu bien mis ton script sur tes deux joueurs ?
Vérifie qu'il n'y ai pas une faute dans le nom du player 2 ( un espace oublié ou en trop dans le script ou le nom du gameobject)

Au vu de ton script, normalement ça devrais fonctionner.

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Hellocephantom
Messages : 28
Inscription : 08 Avr 2020 10:02

Re: multijoueur sur un seul ordinateur.

Message par Hellocephantom » 07 Mai 2020 08:43

Bonjour bonjour !

Alors là j'ai vraiment honte de cette erreur... :inlove:
En fait j'avais activé le script en runtime donc quand j'ai relancé... Bah il s'est désactivé... :happy1:
Désolé pour cette perte de temps :malin2:

Merci !

Hellocephantom
Messages : 28
Inscription : 08 Avr 2020 10:02

Re: multijoueur sur un seul ordinateur.

Message par Hellocephantom » 07 Mai 2020 09:18

Encore ne 'tite question :

Comment est-ce que je peux activer des boutons (sur le menu principal en l'occurrence) avec une manette et non pas avec une souris ?

Merci !

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: multijoueur sur un seul ordinateur.

Message par djulio74 » 07 Mai 2020 10:35

ta question n'est pas très clair, explique en d'avantage.

bouton? de manette ou de menu?
avec une manette et non pas souris? tu veux cliquer sur un bouton d'interface visuelle avec ta manette?

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Hellocephantom
Messages : 28
Inscription : 08 Avr 2020 10:02

Re: multijoueur sur un seul ordinateur.

Message par Hellocephantom » 07 Mai 2020 10:48

J'avais un problème pour sélectionner des boutons (UI) avec la manette.
Mais j'ai trouvé.
En fait il faut mettre un bouton dans "First Selected" de l'EventSystem.
Mais maintenant j'ai une autre question :
Comment faire pour savoir si une manette est détectée ?

Merci !

Répondre

Revenir vers « Unity le logiciel »