Bonjour,
Alors voilà avant de commencer n'importe quel tuto, il me semble important de présenter tout ça, Unity, c'est quoi ?
En effet, je me sens pas tout à fait l'âme d'un professeur pour enseigner Unity, mais je peux aider.
La présentation d'Unity n'est pas une tâche facile, s'il y a des points qui vous semble obscurs n'hésitez pas à me l'indiquer, il est assez facile de ne pas être compris. Je pourrais donc reformuler certaines phrases si besoin voir essayer de faire des démonstrations en vidéo.
Commençons donc cette présentation :
Que permet de faire Unity ?Là ou RPG maker permet de faire des RPG, Unity permet de tout faire. Mais il peut avoir le défaut pour certains d'avoir besoin de connaissances en programmation. Là ou la programmation sur RPG maker peut se résoudre à utiliser les évènements proposé par le logiciel sans spécialement avoir besoin de passer par l'éditeur de Script en Ruby, ici Unity oblige quasiment d'avoir cette compétence là. De plus, Unity est un logiciel complet permettant de tout faire, du coup, pour la version 2D aucun Sprite n'est proposé. Sur la version 3D, on peut tout de même générer des Cubes ou des Sphères et autres formes simple sans avoir à connaitre la modélisation 3D.
Bref Unity permet de faire n'importe quel type de jeu, même si j'entends que vous n'allez pas tenté de faire un jeu type FPS en 2D (ça se trouve existe, je sais pas).
Qu'est ce qu'Unity ?En effet, j'aurais peut-être dû commencé par là, mais certains d'entre vous se pose, peut-être, avant tout la question de ce que permet de faire l'outil avant de vouloir savoir ce qu'il est.
Unity est un moteur 3D/2D, ce qui veut dire qu'il va permettre sans programmer de gérer des collisions entre deux objets. En 2D, gérer des collisions d'un point de vue programmation n'est pas évident, je vous laisse imaginer pour la 3D avec des formes complexes. Unity nous enlève déjà une belle épine du pied.
[3D uniquement]Il permet également de générer des lumières et donc des ombres en fonction des objets positionnés. Les objets de lumière ont quelques limitations sur la version gratuite de l'outil mais ça reste quand même suffisant dans l'ensemble.[FIN 3D uniquement]
Unity permet la gestion des hitbox des objets (la zone permettant de déclenché différents évènements), il permet la gestion de système de particule permettant ainsi de modéliser une fontaine ou une flamme pour le peu qu'on sache s'en servir. Des effets tel que le trail renderer, qui permet de laisser une trace derrière un objet lorsqu'il se déplace.
Unity dispose d'un moteur physique, permettant comme dis précédemment de gérer les collisions, mais c'est plus complet que ça.
Il est possible de gérer des masses d'objets ce qui veut dire que si le joueur a une masse de 20 (sur Unity il n'y a pas d'unité précise mais si ça peut vous aider imaginez que c'est en kilo), et qu'une caisse à une masse de 50. Si le joueur se déplace vers la caisse et essaye de la pousser, la caisse se déplacera plus difficilement avec une masse de 50 qu'avec une masse de 1. Plusieurs paramètre sont à prendre en compte pour estimer le déplacement de la caisse, la masse du joueur, la vitesse à laquelle il se déplace vers la caisse (enfin bref c'est la physique classique du monde réel avec les forces qu'on applique aux objets).
Le moteur permet également de créer des objets de différent type, on peut créer un cube et lui affecté un matériau qu'on a créé avec différentes propriété : Est ce qu'il rebondit ? et à qu'elle "puissance de rebond", Est ce qu'il glisse ? Et à quelle puissance etc...
Ainsi on peut former un bloc de glace qui glissera sur une pente. Tandis que s'il n'est pas de glace, en fonction de sa masse etc.. On pourrait soit avoir une sorte de dé qui roule, soit un cube qui se posera sans trop bougé car il sera trop lourd.
Sur quel plateforme tourneront les jeux programmés sur Unity ?Alors là, il y a de quoi dire et c'est là que ça devient intéressant voilà une liste non complète fournissant déjà un bel aperçu :
- PC, MAC, LINUX
- Xbox 360, one, PS4, PS3, PS Vita
- Wii, WiiU
- Réalité virtuelle
- Mobile : IOS, Windows, Android
- Navigateur web
Des supports donc qui n'ont rien à voir les uns des autres
Notez tout de même que pour procéder à un déploiement sur MAC ou autre produit de la célèbre marque, il vous faudra nécessairement avoir à disposition un Ordinateur MAC.
Quelques informations diverses : - Unity utilise le C# ou le JavaScript ou le Boo (dérivé du python) (vous pouvez choisir lequel vous préférez, enfin je trouve surtout du C# sur le net).
- N'hésitez pas à aller ici : https://madewith.unity.com/en/games, vous y trouverez des jeux fait sous Unity permettant de vous donner un ordre d'idée de ce qu'il est possible de faire, et vous vous direz peut être : "Ah bon ce jeu là est fait sous Unity ?"
- Est ce difficile d'apprendre Unity ? je me considère encore comme un débutant, c'est pourquoi je vous invite à aller sur d'autre site pour mieux comprendre ce qu'est Unity, d’agrémenter cette présentation si vous le voulez. Moi ça fait deux mois que j'apprends en regardant des vidéos, lisant des tutos qui explique comment faire un jeu précis permettant ainsi de rentré en douceur dans la pratique. J'ai pris deux mois (avec très peu d'horaire disponible chaque jour) en sachant que je sais déjà développé des sites web et applications mobile, le C# n'était pas mon premier langage de programmation et j'avais des bases en C. Après il ne faut pas se décourager, c'est comme tout si on se donne à fond, on peut tout apprendre !
- Quelques sites pour apprendre :
https://openclassrooms.com/courses/realisez-votre-premier-jeu-video-avec-unity -> Cours d'apprentissage d'Unity 3D uniquement, un cours exclusivement sans aucune programmation. Il faut être inscrit pour voir les vidéos, et êtes limité à 5 vidéos par semaines.
https://openclassrooms.com/courses/apprenez-a-developper-en-c -> Simplement pour apprendre le C#, si vous le souhaitez. Rien ne vous empêche d'apprendre Unity sans savoir coder et d'avoir un codeur à vos côtés.
http://pixelnest.io/tutorials/creer-un-jeu-2d-avec-unity/ -> ça s'est le tuto qui m'a le plus aidé. Il montre des scripts C# en les expliques. Il suffit de suivre pas à pas ce qui est écrit. Facile et pédagogique
Bon après forcément y'a la documentation Unity en Anglais, etc... mais là on peut vite passer dans du technique.
J'espère vraiment que j'ai pas fait trop de fautes d'orthographes. Je penses pas avoir dit de grosses conneries, c'est aussi pour ça que je suis resté sur les bases ^^.
J'espère que ça aura été utile à certain et peut-être suscité des vocations.
Enfin, Ne vous découragez pas parce que l'outil demande de savoir codé pour être pleinement utilisé.
Le coding ça s'apprend, avec du temps certes mais c'est comme tout
PS : je modifierais ce post en fonction des retours qui me sont fait, là je fatigue un peu, je prendrais donc un peu plus de temps pour corriger les fautes d'orthographe demain matin.
Merci d'avoir lu