Les 3 techniques pour ajouter une intro à votre jeu - Esprit Unity

Les 3 techniques pour ajouter une intro à votre jeu

On a tous envie d’avoir un petit clip d’animation au lancement. Vous savez, une intro qui présente un logo, un nom, ou même une animation plus complexe. C’est cool, ça fait « pro », et ça donne un certain prestige. Bon, il faut assurer après, mais ça c’est un autre sujet.

Le truc, c’est que vous avez plusieurs façon de créer cette « introduction ».

En voilà quelques unes :

  • Utiliser le système de splashscreen intégré
  • Créer une séquence d’animation dynamique directement dans le moteur
  • Créer une vidéo dans un éditeur externe et la lire dans Unity

Mais concrètement… quelle solution choisir pour VOTRE projet ? Et pourquoi ? Non parce que c’est bien gentil de savoir tout ça, mais c’est quand même mieux d’utiliser des outils pertinents non ?

Je vous propose donc de décortiquer dans cet article les avantages et inconvénients de chaque solution. Il n’y a pas de bonne ou de mauvaise approche. Elles sont toutes acceptables, mais il faut comprendre ce qu’elles impliquent pour ne pas vous lancer sans savoir où vous allez.

En parlant d’y aller, c’est parti on y va.

Utiliser le système de splash screen

La première technique est la plus simple et la plus rapide. Le système intégré de splash-screen peut vous permettre d’afficher simplement un logo au lancement de votre jeu. La seule limitation est que le logo d’Unity sera affiché aussi (sauf si vous avez la version Plus).

Tout est déjà préparé pour vous, il ne vous reste qu’à créer votre logo et effectuer le paramétrage. Pour ça, ouvrez les Player Settings via le menu Edit > Project Settings > Player Settings puis ouvrez la section Splash Image :

PlayerPrefs pour paramétrer le logo de splash screen

Dans cette section, vous pouvez ajouter un logo et tester le rendu avec le bouton « Preview »:

Bouton pour prévisualiser l'animation de splash screen

Une fois votre paramétrage effectué, c’est tout bon. En 5 minutes, votre intro est faite et les joueurs verrons le logo de votre studio en lançant votre jeu !

Avantages :

  • Pas besoin de coder
  • Très rapide à mettre en place

Inconvénients :

  • L’animation est limitée à une image

 

Créer une séquence d’animation

Ensuite, vous pouvez penser « all-in ». Unity comprend un moteur d’animation assez complet, alors pourquoi ne pas l’utiliser ?

Que ce soit avec Mecanim ou la Timeline, vous pouvez alors jouer au réalisateur et créer une animation en temps réel. Pour mettre cette solution en place, c’est assez « simple » en pratique :

  1. Créez une scène « introduction »
  2. Mettez-y toutes vos animations dedans avec le scripting associé
  3. Mettez cette scène en haut de la liste des scènes exportées (fenêtre Build)

Vous comprendrez que la phase 2 n’est pas « simple ». C’est la structure de cette solution qui est simple. Créer une animation type « cinéma » de toute pièce dans Unity, c’est un sacré boulot, mais ça peut valoir le coup. Je ne détaillerai pas cette partie dans cet article mais si ça vous intéresse de savoir comment faire, laissez un commentaire plus bas !

Avantages :

  • Vous pouvez réutiliser les Assets de votre projet dans l’intro : économie de place !
  • Totale liberté de création dans les limites du moteur (autant dire que vous avez carte blanche)

Inconvénients :

  • Il faut construire l’animation de toute pièce dans Unity : modèles, textures, mouvements de caméra, transitions, etc.
  • Comme c’est une scène, attention au framerate pour qu’elle puisse tourner sur votre plateforme cible.

 

Créer une vidéo et l’intégrer à Unity

Ce qui nous amène à la troisième solution abordée ici : lire une vidéo. Unity peut importer tout plein de types d’Assets différents, y compris des formats vidéo. A partir de là, cette vidéo peut être affichée comme n’importe quelle texture devant une caméra. Vous pouvez donc tout à fait créer une vidéo d’intro avec After Effects par exemple (ou iMovie), et vous en servir comme intro de votre jeu.

La mise en place est fondamentalement la même que pour la solution #2 :

  1. Créez une scène d’introduction
  2. Ajoutez votre lecteur de vidéo
  3. Mettez cette scène en haut de la liste des scènes exportées (fenêtre Build)

Pour mettre en place cette solution, vous devrez utiliser le VideoPlayer. C’est un composant qui permet de… lire des vidéos. Il se présente sous cette forme :

Composants de visualisation d'une vidéo dans Unity3D

Il y a un point important à comprendre ici. Lorsque vous voulez afficher une image à l’écran, vous avez besoin de trois choses : une Texture, un Material et un Quad. La texture sera alors « projetée » sur le Quad via un Material :

Schéma explicatif d'affichage d'une texture dans Unity3D

Le VideoPlayer va utiliser le même principe. Vous aurez donc une texture « source » qui sera projetée sur un Quad. Et cette texture va varier au fil du temps pour afficher chacune des images de la vidéo. Le truc c’est que dans ce cas, on ne peut pas utiliser une texture classique. Il faut passer par une RenderTexture.

Il y a plein d’utilisations possibles du RenderTexture mais le principe est toujours le même :

  1. Dessiner quelque chose dans une texture « tampon »
  2. Se servir de ce qui est dans la texture pour en faire quelque chose : l’afficher, faire un effet visuel, calculer des trucs, etc.

Dans ce cas précis, il va vous permettre de dessiner chaque image de la vidéo dans une texture afin de l’afficher dans votre jeu. Concrètement, ça se passe comme ça :

Schéma explicatif d'affichage d'une vidéo dans Unity3D

Pour afficher une vidéo, il vous faudra donc :

  • Un Asset vidéo dans votre projet
  • Un Asset de type RenderTexture (vous pouvez en créer un comme n’importe quel autre type d’Assets)
  • Un Material qui utilise comme canal d’entrée ce RenderTexture (champ Albedo)
  • Un Quad sur votre scène qui a comme Material celui pointant vers le RenderTexture
  • Un composant de type VideoPlayer qui prend en entrée votre vidéo et va la dessiner dans le RenderTexture.

Avantages :

  • Sky is the limit : vous pouvez faire virtuellement tout ce que vous voulez.
  • Le rendu sera indépendant du terminal sur lequel l’intro sera lue

Inconvénients :

  • Une vidéo ça pèse lourd alors attention au poids. Gardez quand même en tête que cette vidéo, c’est juste l’intro !
  • Selon votre plateforme cible (PC / mobile), tous les formats vidéo ne sont pas supportés. Attention à ça.

A vous de jouer

Voilà, vous avez maintenant des pistes pour ajouter une introduction à votre jeu !

Si vous en êtes encore au début de votre projet, ne vous attardez pas trop sur ce sujet. Vous pouvez simplement ajouter un SplashScreen temporaire et le changer plus tard pour mettre en place les solutions #2 ou #3.

Partagez ces astuces sur Facebook et Twitter. Et surtout, Happy Gamedev !

>