“Utilisation d’outils externes dans un projet Unity 2D” par Christophe Luro

Dans cet article, je vais vous décrire comment se simplifier la vie et gagner du temps en utilisant des frameworks ou plugin créés par la communauté Unity. Je suis développeur amateur et j’ai très peu de temps pour me consacrer à mon jeu “Ximista the Warrior” et pour moi tout ce qui me décharge sur des aspects techniques trop complexe est bienvenu. Bien sûr, sur certains aspects du jeu je créé mes propres scripts, mais on peut aussi détourner certains plugins pour en tirer de la créativité.


Mon jeu, créé sous Unity, a un rendu 2D et utilise les plugins suivants :

– Unity 2D Platformer Controller

Voilà un framework qui comme son nom l’indique vous permet d’intégrer un contrôleur de personnage gérant les déplacement, le saut, le dash, les plateformes mouvantes, les walljumps L’avantage est que tous les scripts sont accessibles et peuvent être modifiés facilement. Il est très complet et extrêmement paramétrable dans l’éditeur d’Unity.


– Gaf converter

Le système d’animation 2D d’Unity est intéressant mais a encore ses contraintes. Venant de l’animation Flash, j’ai trouvé ce fantastique outil qui permet de convertir une animation Flash en animation intégrable dans Unity. L’outil se compose de 2 parties.

  • Un convertisseur Flash vers Gaf qui transforme un swf au format d’animation GAF.
  • Un plugin Unity pour lire ce format. Ce dernier existe soit en version gratuite, soit dans une version payante qui fournit les scripts pour les modifier.

Le gros avantage est de pouvoir intégrer toutes vos animations dans un seul fichier Flash et de les différencier par des noms d’étiquettes. De plus, vous pouvez ajouter des événements sur la timeline afin de déclencher des scripts dans Unity. De plus, l’export des images se fait en png mais sur une seule texture (ou plusieurs si l’animation est très grosse) et vous pouvez en gérer la qualité.

J’utilise la version gratuite et le seul reproche que je puisse lui faire est que le plugin Unity force des modifications de shaders. Utilisant des lumières dynamiques et des shaders particuliers, j’ai du bidouiller pour arriver à certains résultats, cependant je vais surement l’acheter pour pouvoir modifier les scripts.


– Sprite Dlight

Dès le début de mon projet, l’objectif était d’avoir des lumières dynamiques sur les sprites afin de se différencier du rendu aplat classique. Pour cela, je vais utiliser une normalMap sur le material du sprite pour lui donner du volume. Unity intègre un générateur de normalMap classique qui donne un rendu trop plat à mon sprite. J’utilise donc Sprite DLight qui permet de calculer une normalMap volumétrique et plus “arrondie” pour que la lumière soit plus réaliste. L’outil est génial et dispose de divers paramètres pour créer à façon ses textures.


– Toony Colors Pro

Voulant un rendu type dessin animé japonais, j’utilise cet outil génial permettant d’avoir un rendu cartoon. Après une légère modification pour la gestion des sprites, il me permet de générer des shaders intégrant à façon une quantité impressionnante de paramètres comme les rampes, les normalMaps, le paramétrage des ombres et des couleurs, le specular, l’illumination, le rim et plein d’autres. C’est l’outil vraiment central qui me permet d’accomplir la vision graphique que j’avais dans la tête au départ du projet.


– Game Analytics

Étant en phase d’alpha test, j’ai décidé dès le début d’intégrer un système d’analyse des données. J’ai testé dans un premier temps Unity Analytics mais celui-ci est très limité. Je me suis orienté vers le service gratuit Game Analytics qui est une plateforme permettant de recueillir toutes les données envoyées par votre jeu et d’en faire des statistiques. Son utilisation est très simple, on s’inscrit, on télécharge un pack de scripts pour Unity et on se laisse guider pas à pas dans l’éditeur.

Vous pouvez scripter votre jeu pour envoyer au serveur tout type de données. Dans mon cas, je remonte le nombre de connexions journalières et les erreurs de scripts rencontrées par les joueurs. Incroyablement utile !

Mais vous pouvez avoir par exemple, le temps de jeu, les zones visitées, les ventes, les scores, et vous générer de beaux tableaux Excel.


En conclusion, quand vous êtes une petite équipe, il ne faut pas hésiter à faire un travail de récupération, ça permet de ne pas réinventer la roue mais aussi de comprendre comment certaines choses fonctionnent. Dans mon cas, c’est un énorme gain de temps qui me permet de peaufiner graphismes et gameplay.

Vous pouvez contacter et suivre Christophe Luro via son compte Twitter : @krysGeek64

Laisser un commentaire