Create ELDEN RING in Unity ► EP. 1 Netcode For Gameobjects

Sebastian Graves
29 Mar 202324:47

Summary

TLDRCette vidéo tutoriel guide les utilisateurs intermédiaires dans la création d'un projet multijoueur avec Unity et Netcode for GameObjects. Le créateur montre comment configurer le NetworkManager, préparer les préfabriqués de joueurs, et organiser l'interface utilisateur du menu principal avec des boutons pour démarrer le jeu. Les concepts de host et client sont expliqués, et des scripts singleton assurent la persistance des objets et la gestion des scènes entre le menu et le monde de jeu. Enfin, le tutoriel démontre comment tester une connexion multijoueur avec plusieurs clients et prépare le terrain pour ajouter des contrôles et la locomotion des personnages.

Takeaways

  • 😀 Assurez-vous d'avoir des connaissances intermédiaires en Unity et Netcode pour GameObjects avant de suivre ce tutoriel.
  • 😀 Le tutoriel utilise Unity 2021.3.1f1 avec le modèle URP vide et le package Netcode pour GameObjects 1.0.2.
  • 😀 Installez Netcode pour GameObjects via le gestionnaire de paquets d'Unity, en cherchant dans le registre Unity et en l'ajoutant au projet.
  • 😀 Utilisez Peril Sync pour cloner votre projet, ce qui simplifie le test de votre jeu en lançant plusieurs instances sans avoir à faire des builds répétés.
  • 😀 Le Network Manager gère les connexions réseau, permettant à un hôte (qui est aussi le client) de démarrer un jeu, tandis qu'un client se connecte à un hôte.
  • 😀 Organisez votre projet avec des dossiers comme 'art', 'models', et 'prefabs' pour garder les fichiers et les objets bien structurés.
  • 😀 Ajoutez un prefab pour le joueur et assurez-vous qu'il possède un NetworkObject pour l'intégration du réseau.
  • 😀 Créez un écran de titre avec un bouton 'Démarrer' qui initialise la connexion réseau et le démarrage du jeu en mode hôte.
  • 😀 Pour gérer les scènes, utilisez 'DontDestroyOnLoad' afin que les objets, comme le joueur, survivent aux changements de scène.
  • 😀 Implémentez un gestionnaire d'UI pour gérer les interactions entre les menus, comme le passage du rôle d'hôte à celui de client pour tester la connectivité réseau.
  • 😀 Testez la fonctionnalité du jeu en réseau en clonant le projet ou en créant une build et en vous assurant que les joueurs peuvent se connecter et interagir dans le monde du jeu.

Q & A

  • Quel est l'objectif principal de cette série de tutoriels ?

    -L'objectif principal de la série est d'aider les développeurs à devenir plus compétents dans l'utilisation de Unity et Netcode pour les objets de jeu, tout en explorant des aspects avancés de la gestion du réseau et du développement de jeux multijoueurs.

  • Pourquoi le tutoriel recommande-t-il aux débutants de ne pas suivre cette série ?

    -Le tutoriel s'adresse aux développeurs intermédiaires qui ont déjà une compréhension de base de Unity, comme les types de variables, les co-routines, et les principes fondamentaux du développement. Les débutants pourraient avoir des difficultés à suivre sans ces connaissances préalables.

  • Quel outil a été recommandé pour faciliter le test en mode multijoueur ?

    -L'outil recommandé est Peril Sync, qui permet de cloner le projet Unity, facilitant ainsi les tests en mode multijoueur sans avoir à effectuer une nouvelle construction du jeu à chaque essai.

  • Quel est le rôle du 'Network Manager' dans ce projet ?

    -Le 'Network Manager' est responsable de la gestion de la communication réseau entre les différents joueurs. Il gère les rôles de l'hôte, du serveur et du client, permettant à un joueur de démarrer en tant qu'hôte et de connecter d'autres joueurs en tant que clients.

  • Qu'est-ce qu'un 'Prefab' et pourquoi est-il utilisé dans ce projet ?

    -Un 'Prefab' est un modèle réutilisable d'un objet ou d'un personnage dans Unity. Dans ce projet, un 'Prefab' est utilisé pour le modèle de joueur, ce qui permet de l'instancier facilement chaque fois qu'un nouveau joueur rejoint la partie.

  • Pourquoi le 'Canvas' du titre est-il configuré avec une résolution de 1920x1080 ?

    -Le 'Canvas' est configuré à cette résolution pour s'assurer que l'interface utilisateur est correctement dimensionnée et adaptée à un écran standard Full HD, offrant une expérience visuelle cohérente et fluide.

  • Que fait la fonction 'start Network as host' dans le script du gestionnaire d'écran de titre ?

    -La fonction 'start Network as host' démarre le réseau en tant qu'hôte, ce qui signifie que l'instance de jeu agit à la fois comme serveur et comme client, permettant ainsi à un joueur de rejoindre la partie en tant qu'hôte.

  • Quelles sont les différences entre un 'hôte', un 'serveur' et un 'client' dans ce contexte ?

    -Dans ce projet, un 'hôte' agit à la fois comme serveur et comme client, hébergeant la partie et jouant. Un 'serveur' est une machine distante qui gère les données de la partie, tandis qu'un 'client' est une machine qui se connecte à un serveur pour jouer sans gérer les données du serveur.

  • Que signifie l'ajout de la ligne de code 'dontDestroyOnLoad' dans les scripts ?

    -La fonction 'dontDestroyOnLoad' empêche un objet de jeu d'être détruit lorsqu'une nouvelle scène est chargée. Cela permet aux objets comme le joueur ou le gestionnaire de sauvegarde de persister entre les scènes sans être réinitialisés.

  • Pourquoi le bouton 'Start Game' dans l'écran de titre est-il configuré pour démarrer le jeu en tant qu'hôte ?

    -Le bouton 'Start Game' lance le jeu en tant qu'hôte pour permettre à un joueur de commencer à jouer tout en hébergeant la session pour d'autres joueurs. Cette fonctionnalité est essentielle pour établir la partie multijoueur dès le début.

Outlines

plate

Cette section est réservée aux utilisateurs payants. Améliorez votre compte pour accéder à cette section.

Améliorer maintenant

Mindmap

plate

Cette section est réservée aux utilisateurs payants. Améliorez votre compte pour accéder à cette section.

Améliorer maintenant

Keywords

plate

Cette section est réservée aux utilisateurs payants. Améliorez votre compte pour accéder à cette section.

Améliorer maintenant

Highlights

plate

Cette section est réservée aux utilisateurs payants. Améliorez votre compte pour accéder à cette section.

Améliorer maintenant

Transcripts

plate

Cette section est réservée aux utilisateurs payants. Améliorez votre compte pour accéder à cette section.

Améliorer maintenant
Rate This

5.0 / 5 (0 votes)

Étiquettes Connexes
UnityNetcodeMultijoueurDéveloppementJeu vidéoTutorielNetworkingC# UnityGestion de scèneInterface utilisateurDébutant