La programmation sur Unity requiert au préalable la bonne maîtrise du logiciel de création de jeux vidéo. Ensuite, vous pouvez vous servir des moyens disponibles sur la plateforme pour créer votre jeu vidéo.
Avec Unity, vous pouvez programmer en vous servant :
- du visual scripting qui consiste à programmer sans coder ;
- du langage de programmation C sharp (ici, vous devez savoir coder).
Chacune de ses méthodes de programmation a ses avantages et ses limites. Êtes-vous curieux de savoir comment faire de la programmation avec Unity ? Nous vous expliquons tout.
Quels sont les moyens disponibles sur Unity pour programmer des jeux vidéo ?
Vous demandez vous comment bien commencer sur Unity ? Sachez que pour faire de la programmation avec Unity, vous disposez de deux moyens. Le premier est la programmation sans ligne de code (visual scripting). Le second consiste à coder avec le langage C sharp.
Visual scripting, qu’est-ce que c’est ?
Le visual scripting est une solution qui permet de faire de la programmation de façon visuelle. À la différence de la manière traditionnelle de coder, ici, ce sont des éléments graphiques qui servent à programmer.
Le résultat que vous obtenez avec la programmation visuelle est quasi similaire à celui obtenu en tapant des lignes de code. Pour utiliser cette solution, vous reliez des boîtes entre elles grâce à un système de glisser-déposer.
Chaque boîte comprend des actions qui vous permettent de contrôler les game objects. Ce sont ces boîtes reliées les unes aux autres qui forment votre jeu vidéo. Le code de ce dernier au lieu d’être du texte ressemblera plutôt à un schéma.
Les GameObjects sont des objets logiques qui permettent de regrouper des éléments 3D, des animations et des scripts. Ils peuvent être structurés sous forme de hiérarchie dans l’éditeur pour guider le raisonnement logique du jeu.
La programmation visuelle est la solution toute trouvée pour les débutants en création de jeux vidéo. Il convient aux artistes, aux graphistes et à ceux qui ne désirent pas apprendre un langage de programmation.
Quels sont les avantages de la programmation visuelle avec Unity ?
Outre le fait qu’il semble plus simple que de coder, le visual scripting dispose de plusieurs autres avantages.
La création d’une logique de script
Il est beaucoup plus simple pour les membres d’une équipe de créer une logique de script avec la programmation visuelle. Ainsi, la collaboration entre développeurs, concepteurs et artistes est plus transparente. Ceci aide à un prototypage ainsi qu’à des itérations beaucoup plus rapides.
Les designers et les artistes bénéficient d’un meilleur contrôle du projet
Avec la programmation visuelle, les graphistes et les artistes peuvent tester leurs idées avec plus de facilité. Le visual scripting leur permet de faire des modifications ou de garder le contrôle de leur travail dans Unity. Ils vont mieux comprendre les besoins de leur développeur et mieux échanger avec lui sur les problématiques du projet.
La responsabilisation des membres de l’équipe
Grâce à la programmation visuelle, tous les membres de l’équipe peuvent travailler ensemble. Ils pourront mieux se compléter que ce soit au moment du prototypage ou au cours de la production. Le chef de projet pourra ainsi responsabiliser ses collaborateurs et rationaliser la collaboration entre ces derniers.
Un coup de pouce vers l’autonomie
La compréhension de votre projet qu’apporte la programmation visuelle représente un tremplin vers l’autonomie. Plus vous comprenez et plus, vous découvrirez les outils dont vous avez besoin pour répondre aux problématiques de votre jeu vidéo.
Vous serez ainsi amené à faire plus de recherche et à découvrir d’autres notions. De fil en aiguille, vous finirez par acquérir assez de connaissances pour devenir autonome.
Quels sont les inconvénients de la programmation visuelle ?
Certains aspects du visual scripting constituent une barrière à son adoption par tous. Les voici !
Problème de performance
Les scripts faits de manière graphique ont une exécution beaucoup plus lente que les scripts réalisés avec du code. Leur utilisation se doit donc d’être parcimonieuse. Ils sont à éviter dans les endroits où le jeu requiert de grandes performances.
Cette insuffisance emmène les programmeurs à utiliser cette solution pour ne réaliser que les prototypes des jeux vidéo. Au cours du développement du jeu, il remplace les scripts visuels du prototype par du code.
Difficultés dans la lecture et le maintien du script visuel
La programmation visuelle est idéale quand il s’agit de produire de petits scripts. Pour un script composé de dizaines ou centaines de nœuds, la lecture et la compréhension deviennent compliquées.
Il devient en effet difficile de trouver du sens à un trop gros script. La personne qui l’a produite peut même s’y perdre. Maintenir un tel script devient complexe. Il faut donc le décomposer en un groupe de plusieurs petits scripts.
Ce qui s’avère souvent chronophage. Vous pouvez aussi recourir à un professionnel qui maîtrise un langage de programmation pour le transformer en code source.
Une solution limitée
Il est souvent difficile de se servir de la programmation visuelle pour la création complète d’un jeu vidéo. Il en est ainsi, car certains composants des jeux vidéo ne peuvent être créés avec un script visuel.
De plus, tous les systèmes de programmation visuelle ne sont pas égaux. Il en existe de très puissants et très robustes. Au même moment, certains ne prennent pas en charge certaines fonctionnalités avancées. Plusieurs de ces systèmes ont des difficultés avec des fonctionnalités comme le débogage ou le flux de contrôle.
Qu’est-ce que le langage de programmation C sharp ?
Le C# est un langage de programmation créé par Microsoft. De la famille des langages C et C++, il est assez proche du JAVA. À la différence de ce dernier, il permet la surcharge des opérateurs.
Il s’agit d’un langage orienté objet avec un typage fort. Avec le C#, la déclaration des types de données de toutes les variables doit être faite de manière explicite.
Assez accessible, ce langage de programmation reste facile à apprendre. Pour coder avec du C# dans Unity, il vous faut disposer de Visual Studio. Il s’agit d’un IDE (environnement de développement intégré) fourni avec le logiciel de création de jeux vidéo.
Pourquoi utiliser C sharp pour coder avec Unity ?
C sharp dispose de nombreux atouts qui poussent à apprendre à l’utiliser. Ce sont ses avantages qui le rendent très pratique pour développer des jeux sur Unity.
Un langage de programmation facile d’utilisation et bien lisible
Le développeur passe plus de temps à lire et à comprendre du code qu’à en écrire. Il est donc important que le langage de programmation utilisé soit lisible. Un bon langage est celui qui permet au programmeur d’exprimer ses idées de façon claire et nette.
Un code compact, lisible et élégant participe à l’optimisation de la création d’applications et de jeux modernes. C’est dans cette optique que C sharp a été créé. Ce langage simple a été conçu en s’inspirant des meilleures parties du C, du C++ et du JAVA.
Le C# est facile et rapide à apprendre. Vous pouvez déjà vous mettre à taper du code juste en acquérant quelques notions de base de ce langage. Apprendre des fonctionnalités plus avancées aide à devenir plus efficace. Cependant, même sans cela, vous pouvez être opérationnel.
Une grande rapidité d’exécution
Ce langage de programmation dispose d’un grand nombre de fonctionnalités qui permettent aux développeurs d’optimiser les performances de leurs jeux vidéo. Sachez que le C# dispose d’un compilateur JIT qui génère du code machine à l’instant où le code est exécuté. De même que le C et le C++, il génère parfois du code qui se révèle plus rapide que le code compilé au préalable.
Un langage multiplateforme
Le C sharp fonctionne sur toutes les plateformes. Vous pouvez l’utiliser sur Windows, Mac et Linux. Il fonctionne aussi sur les systèmes mobiles tels IOS et Android.
Un langage de programmation qui tire parti d’une vaste collection de bibliothèques
Le framework .NET de Microsoft fournit une bibliothèque de classes de base. Celle-ci représente une grande aide pour les programmeurs en C sharp.
Il existe en fait une grande collection de types qui permet la mise en œuvre des tâches les plus fréquentes. C# peut donc s’appuyer dessus pour :
- l’envoi et la réception de données sur le réseau ;
- utiliser le système de fichiers ;
- exécuter des opérations cryptographiques et mathématiques ;
- etc.
Le gestionnaire de paquets par défaut de la plateforme .NET (NuGet) fournit plus de 232 000 paquets. Ces paquets uniques sont disponibles et peuvent s’utiliser de manière instantanée dans les applications et jeux C sharp.
C sharp est bien documenté
Ce langage est adopté par un grand nombre de développeurs que ce soit sur Unity ou sur d’autres plateformes. De fait, il existe de nombreux tutoriels pour orienter les débutants et ceux qui rencontrent des obstacles en l’utilisant.
En plus, Microsoft a prévu une documentation officielle pour apprendre le C#. Ce dernier est très bien rédigé et simple à comprendre. Vous trouverez aussi sur Unity et sur Microsoft un ensemble de sujets pertinents pour mieux cerner ce langage de programmation.
Il s’exécute dans n’importe quel navigateur
Le framework Blazor ajouté à .NET permet au langage C# de s’exécuter dans un navigateur. Ainsi, les utilisateurs n’ont plus besoin de recourir à des plugins pour exécuter ce langage de programmation dans n’importe quel navigateur.
Un langage open source
Même s’il appartient à Microsoft, le C# est un langage avec un développement open source. Tous les utilisateurs peuvent y apporter leur contribution en commentant les fonctionnalités existantes ou en proposant des nouvelles. Un partage public de tout ce qui a été retenu lors des réunions officielles de conception est fait avec la communauté.
C# : quels inconvénients ?
Il est difficile de trouver des inconvénients à un tel langage qui semble parfait. Cependant, il y a quelques caractéristiques de ce dernier qui sont moins aimées.
Sur beaucoup d’outils, il est remarqué que C sharp reste encore un langage propriétaire. Nous notons aussi que certains anciens frameworks de .NET rencontrent des incompatibilités avec le langage. Ce qui peut s’avérer être un grand problème pour de vieilles infrastructures.
Comment programmer avec C# dans Unity ?
Si vous vous demandez comment créer un jeu sur Unity, sachez que coder soi-même est le meilleur moyen. Bien avant de commencer à programmer avec C sharp, vous devez au préalable installer Visual Studio et le relier à Unity.
Installer l’IDE Visual Studio
Cet environnement de développement intégré aide les programmeurs en C sharp à augmenter leur productivité. Grâce à cet outil, les erreurs commises au cours du développement de jeux vidéo sont réduites.
Il sert à développer, mais aussi à déboguer et à compiler tous les projets de développement C sharp. Avec cet IDE, un grand nombre de tâches sont automatisées.
Pour l’installer, il faut tout d’abord le télécharger. Il vous faudra utilisez la version 2019 ou 2022 en édition « Community (Communautaire) ». Ouvrez ensuite votre dossier de téléchargement. Vous y verrez le set up vs community.exe. Cliquez dessus deux fois afin de lancer son exécution.
Acceptez la politique de confidentialité de Microsoft ainsi que les termes du contrat de licence. Vous pouvez personnaliser votre installation à l’étape suivante. Il vous sera demandé de choisir les charges de travail. Il s’agit en fait des fonctionnalités que vous pensez nécessaires pour votre projet.
Cochez ensuite le bloc .NET desktop development. Il est utile à la création des clients lourds. Cochez aussi ASP.NET and web development. Il servira dans la création de sites, d’applications, de jeux, etc.
Sur l’interface de sélection de langues, choisissez le français. Cliquez enfin sur le bouton INSTALL. Microsoft Visual Studio va effectuer le téléchargement et l’installation de toutes les fonctionnalités demandées.
À la fin de l’installation, faites un double clic sur l’icône de l’environnement de développement pour le lancer. Vous pouvez commencer votre projet de développement.
Reliez Visual Studio à Unity
Pour que Visual Studio puisse fonctionner avec Unity, il vous faut les relier. En outre, cela permet d’obtenir l’autocomplétion du code. Voici les étapes à suivre pour faire le lien entre ces deux outils.
Si vous avez installé Visual Studio à travers l’installateur de Unity.
Avant de procéder, vérifiez que vous avez bien installé les outils Visual Studio pour le développement sous Unity. Pour ceci lancez « Visual Studio Installer », l’application permettant de gérer les installations Visual Studio, et cocher l’option « Game development with Unity », puis lancez la mise à niveau.
Rendez-vous dans votre projet Unity. Allez dans EDIT, onglet PREFERENCES puis EXTERNAL TOOLS. Vous verrez EXTERNAL SCRIPT EDITOR. Sur cette page, choisissez votre IDE, en l’occurrence Visual Studio. Il est possible qu’il ne vous propose pas le nom « Visual Studio » mais seulement « devenv.exe » selon votre version de Unity.
Lancez ensuite l’ouverture d’un script de votre projet dans Visual Studio. Patientez quelques secondes. Des indications de références devraient apparaître dans le script. Si ce n’est pas le cas, c’est peut-être parce que vous les avez désactivées.
Pour vérifier que la liaison est effective entre Unity et votre IDE, tapez le mot Game dans la fonction ‘’void Start()’’. Si la liaison est faite, Visual Studio vous proposera ‘’GameObject’’.
Créer et utiliser des scripts dans Unity
Dans un jeu vidéo, le contrôle des GameObjects est possible grâce aux composants. Unity en propose de très polyvalents. Toutefois, pour ajouter des fonctionnalités propres à votre projet, il faudra mettre en place vos propres composants.
Pour réaliser cette tâche, il vous faut créer des scripts. Ces derniers servent à la modification des composants, au déclenchement d’évènements de jeu, etc.
Comment créer un script ?
Pour créer un script, vous devez vous rendre dans le menu CREER dans Unity. Il se trouve dans la partie supérieure gauche du panneau projet. Vous pouvez aussi cliquer sur ACTIFS à partir du menu principal. Cliquez ensuite sur CREER et SCRIPT C#.
Le script créé est conservé dans un dossier que vous devez choisir dans le panneau projet. N’oubliez pas de nommer le fichier script.
Pour qu’un script puisse se connecter au fonctionnement interne d’Unity, il faut qu’une classe dérivée de MonoBehaviour soit implémentée. MonoBehaviour est une classe intégrée d’Unity.
Une classe, c’est comme un modèle qui sert à la création d’un nouveau type de composant. Pour contrôler un GameObject, il faut que son composant lui soit attaché. Pour cela, le nom du fichier script et le nom de la classe se doivent d’être identiques.
Pour que tout fonctionne bien, vous devez faire attention aux fonctions qui sont définies dans une classe. Il s’agit de la fonction Update et de la fonction Start.
La première est le lieu qui accueille le code qui assure la gestion de la mise à jour du cadre pour GameObject. C’est cette fonction qui s’occupe de tout ce qui se fait dans le jeu au fil du temps. Il s’agit entre autres de la réponse aux entrées du joueur, du déclenchement d’action, des mouvements, etc.
Le bon fonctionnement de cette fonction dépend de la configuration des variables à laquelle il faut veiller. Il dépend aussi de l’établissement de connexion avec d’autres objets de jeu, des préférences, etc.
Unity appelle la fonction Start avant que le jeu ne démarre. De fait, cette fonction est appelée avant la fonction Update. Ce qui fait d’elle, un bon endroit pour une initialisation.
Comment contrôler un GameObject ?
Comme nous l’avons mentionné dans les lignes précédentes, un script ne contrôle un GameObject que grâce à un composant. Ce dernier doit être attaché au GameObject. Sans cela, le script n’est qu’un plan.
Pour joindre un script à un objet de jeu, sélectionnez le game object. Dans le panneau inspector ou hiérarchy, faites ensuite glisser la ressource du script vers le GameObject.
Dès que le script est attaché à l’objet du jeu, il est prêt à fonctionner. Il suffit d’appuyer sur Play pour que le script se mette en marche. Le jeu est ainsi lancé.
Pour retrouver tous les scripts présents dans votre projet, rendez-vous dans le menu composant. Allez ensuite dans SCRIPTS.