{"value":{"slug":"comment-faire-un-simple-projet-unity-first-personne-multiplayer","title":"Comment faire un (simple) projet Unity First Personne Multiplayer","content":"
Hello !
\nApr\u00e8s un an d’absence au sein du club, je reviens doucement avec un nouveau petit projet \u00e0 r\u00e9aliser sur Unity entre deux commandes web. <\/p>\n
Une amie artiste me contacte r\u00e9cemment et me dis: <\/p>\n
\n(mon amie)
\nHey devine quoi, je peux plus exposer… Avec tes geekeries, tu me ferais pas une salle d’expo incroyable ?<\/p>\n<\/blockquote>\n\n(moi)
\nLet’s gooo !<\/p>\n<\/blockquote>\nEntre temps je me rappelle avoir achet\u00e9 un bundle (-> humble bundle) de formation Unity sur gamedev.tv<\/a>. Je suivais depuis quelque temps les cours de math\u00e9matiques, en anglais \u00e7a fait dr\u00f4le. En fouillant dans mon achat, je d\u00e9couvre une section Unity Multiplayer: Intermediate C# Coding & Networking<\/strong>. Dainm, je n’ai jamais fait \u00e7a ! Je me suis dit que c’\u00e9tait le moment d’apprendre et d’int\u00e9grer \u00e7a au projet.<\/p>\n
Histoire de m’encrer tout \u00e7a dans mon cerveau, j’ai d\u00e9cid\u00e9 de vous partager ce que j’apprends en r\u00e9digeans ce tuto: Comment faire un (simple) projet Unity First Personne
Shooter<\/del> Multiplayer.<\/strong>
\nPersonnellement je vais int\u00e9grer \u00e7a dans mon projet d’exposition, mais libre \u00e0 vous de faire autre chose !<\/p>\nDonc l’id\u00e9e de ce tutoriel est de r\u00e9aliser une sc\u00e8ne Unity avec un Player contr\u00f4lable \u00e0 la premi\u00e8re personne, puis d’ajouter la possibilit\u00e9 de rejoindre cette sc\u00e8ne avec quelqu’un de distant. <\/p>\n
Pour r\u00e9aliser cela nous allons utiliser le plugin Unity Mirror<\/strong>.<\/p>\n
Voici le programme:
\n1- Cr\u00e9ation du projet et import de Mirror
\n2- Mirror et les networkings
\n3- Network Manager, le chef d’orchestre
\n4- Network Identity
\n5- Le HUD
\n6- Le player
\n7- Bouger le player
\n8- D\u00e9buguer et tester
\n9- First Personne controller MthFcker!!!<\/p>\n
\nDisclaimers<\/h3>\n
1- J’apprends en ce moment m\u00eame donc, je ne suis pas s\u00fbr 100% de ce que je vous raconte. Corrigez moi et signalez moi toute erreur potentielle (je ne sais pas encore comment…).
\n2- C’est un tuto relativement avanc\u00e9, je n’aborde pas les bases de Unity. Il y a moultes tutoriels en ligne pour \u00e7a !
\n3- Je suis sur MacOS, donc tous les chemins que je donne sont peut \u00eatre diff\u00e9rents sur windows ou Linux, je ne sais pas… \ud83e\uddd0<\/p>\n
\nTout d’abord un peu de vocabulaire:<\/p>\n
\n
- Host:<\/strong> Instance accueillant les joueurs en ligne<\/li>\n
- Client:<\/strong> Celui qui se connecte \u00e0 l’host<\/li>\n
- Server:<\/strong> Ordinateur connect\u00e9 internet avec certain port ouvert pour communiquer avec d’autres clients<\/li>\n
- Port:<\/strong> entr\u00e9e de communication du serveur, permet de distinguer diff\u00e9rents interlocuteurs<\/li>\n
- Ip:<\/strong> L’adresse du serveur<\/li>\n
- API:<\/strong> Un truc qui nous permet de faire plein de truc<\/li>\n<\/ul>\n
Ensuite, pourquoi Mirror ?
\nQue ce soit Unity, Unreal ou m\u00eame Bitsy, tout outil prend de l’int\u00e9r\u00eat lorsqu’il y a une communaut\u00e9 derri\u00e8re qui taffe de ouf pour combler les manques ou cr\u00e9er des failles dans lesquelles s’engouffrer. Ma premi\u00e8re d\u00e9couverte dans le genre c’\u00e9tait Shader Forge, un plugin Unity, aujourd’hui gratuit et qui n’est plus maintenu, d\u00e9velopp\u00e9 par une seule personne, Freya Holm\u00e9r la bosse. Ce plugin permettait de coder de mani\u00e8re nodale des shaders, chose normalement super complexe.
\nBref, Mirror est Open source, gratuit et pens\u00e9 pour rester facile d’utilisation. Une solution officiel existait (maintenant d\u00e9pr\u00e9ci\u00e9e), Unet, aujourd’hui abandonn\u00e9e par Unity. Mirror semble \u00eatre la solution gratuite la plus populaire aujourd’hui. <\/p>\nQu’est ce que Mirror ?<\/p>\n
\nMirror is a high level Networking API for Unity, supporting different low level Transports.
\nC’est donc un machin qui nous permet de faire pleins de trucs en ligne facilement dans Unity.
\nBalaise le traducteur !<\/p>\n<\/blockquote>\nSi vous voulez compl\u00e9ter vos connaissances en termes d’outils Unity pour du multi, il y a un très bon article sur le Blog de Unity.<\/a><\/p>\n
Ok, donc on est parti ! <\/p>\n
Cr\u00e9ation du projet et import de Mirror<\/h2>\n
Je suis sur la derni\u00e8re version stable de Unity 2020.3.1f1 LTS.
\nPeu importe le type de projet que vous cr\u00e9ez, 2D, 3D, vous allez pouvoir int\u00e9grer Mirror.<\/p>\n<\/div><\/figure>\n