Comment améliorer le feeling de votre jeu avec des effets visuels

Comment penser et créer des effets visuels percutants dans Unity3D

Dans un jeu vidéo, le plus dur, c’est de créer un lien avec le joueur, d’arriver à l’impliquer émotionnellement. Pour ça, il faut appeler les effets visuels à la rescousse. C’est quelque chose que vous ressentez assez vite dans un jeu sans pour autant arriver à facilement mettre des mots dessus.

Vous vous êtes sans doute déjà dit : « il manque quelque chose, mais je sais pas quoi ». Ne cherchez pas plus loin, ce qu’il vous faut, ce sont des feedbacks.

Votre objectif en tant que créateur est d’arriver à atteindre une sorte de zone de « confort » pour le joueur. Dans ce lieu magique, le joueur est entièrement transporté dans le jeu, la limite entre réel et irréel devient floue. Voilà l’objectif. On va pas se mentir, c’est complexe à atteindre. Mais pas impossible.

Alors comment faire ? Il va falloir se pencher sur les mystères du cerveau humain…

Une double perception

Le cerveau humain traite énormément de données à la seconde. Beaucoup, beaucoup plus que ce dont vous vous rendez compte consciemment. Pourtant, ces flux d’informations sont quand même pris en compte par votre cerveau lorsqu’il analyse l’environnement.

Il vous est sans doute arrivé d’avoir un « mauvais pressentiment » Vous n’êtes pas bien mais vous ne savez pas pourquoi. C’est votre cerveau qui a analysé des éléments de perception que vous n’avez pas consciemment interprété. Il n’est pas question que de la vue mais des 5 sens physiques (ainsi que d’autres).

Vous allez donc consciemment interpréter l’essentiel de ce que vous voyez, mais pas tout. Le reste va passer sous le radar, mais sera tout de même utilisé d’une autre manière.

Application au jeu vidéo

Quel rapport avec le jeu vidéo me direz-vous ? Parce que c’est précisément sur ce tableau que vous allez devoir jouer.

Vous allez avoir la couche de communication consciente : on voit votre personnage, il se déplace, etc. Et en parallèle, de façon beaucoup plus discrète, voir presque invisible, vous allez avoir une couche de communication inconsciente. Vous allez « parler » au joueur et lui donner des informations de manière subtile.

Ce qui va se passer est alors fascinant. Même si le joueur ne se rendra pas consciemment compte qu’il se passe quelque chose, son cerveau va l’analyser quand même. Cette perception en tâche de fond va renforcer l’immersion et les sensations ressenties.

Bien maniée, cette communication peut faire la différence entre un jeu plat sans profondeur et une expérience de jeu presque symbiotique.

Les feedbacks

Maintenant que vous comprenez le « pourquoi », on va arriver sur le « comment ». Comment faire pour mettre en place ce canal de communication subtile ? Vous allez devoir créer des feedbacks.

Un feedback, c’est un petit quelque chose associé à une action du joueur. Il peut être visuel, sonore, tactile (vibration), etc. Par exemple, passer sa souris sur un bouton va changer son visuel. C’est un feedback. Le joueur comprend alors instantanément que son curseur survole tel bouton. C’est un point qui est assez ancré dans les principes de la UI, mais il ne faut pas s’arrêter là et le prendre en compte dans le gameplay également.

Prenons un grand classique avec Mario Kart. Lorsque vous faites un dérapage il se passe ça :

En pleine partie, ce n’est pas quelque chose auquel vous allez faire attention. Mais regardez bien l’effet visuel au niveau des roues. Premièrement on voit une ombre qui permet instantanément de comprendre que le kart est dans les airs : perception de la 3D.

Le second point intéressant est la fumée qui se dégage des roues lorsqu’on fait un dérapage. Le sprite est changé pour être un peu plus de côté, mais il y a également ce petit détail supplémentaire de fumée qui permet instantanément de comprendre que l’on est effectivement en drift.

Tout ça, ce sont des feedbacks que vous donnez au joueur et qui accentuent l’immersion.

Créer des effets visuels dans Unity3D

Ce qui nous amène au coeur du sujet : comment faire ça dans Unity. Vous avez différents moyens de faire des feedbacks dans Unity. Le plus simple est d’afficher des sprites supplémentaires à des instants clé. Comme ça par exemple :

Vous voyez le petit « poc » visuel ? Voilà. C’est un feedback. C’est pas cher, mais ça fait passer un message sur ce qui se passe. Afficher un sprite à l’écran est relativement simple, on ne va donc pas en parler ici.

Vous pouvez également avoir des feedbacks qui sont plus complexes visuellement. Dans ce cas, il faut plutôt vous tourner vers un composant bien particulier d’Unity : le Particle System. Un système de particules est un composant qui permet de gérer de manière optimisée un très grand nombre de sprites à l’écran. L’objectif derrière est de créer via tous ces sprites un effet visuel.

Les fondamentaux du Particle System

Lister ici tous les paramètres du Particle System n’a pas d’intérêt. Déjà parce que la liste est très longue, et ensuite parce qu’il est plus important de comprendre le fondement du système plutôt que d’apprendre toutes ses fonctionnalités. Si vous comprenez ça, vous pourrez expérimenter et découvrir des trucs par vous même.

Le point le plus important est la génération de particules. Le Particle System va faire apparaître des sprites à l’écran. Deux composantes à ça :

  • Le temps : à quel moment faire apparaître des sprites
  • L’espace : où, physiquement dans l’espace, faire apparaître les sprites

Le second point concerne les particules générées. Une fois générées, vous allez pouvoir y appliquer tout un tas d’effets pour changer leur apparence.

Ces deux points combinés, vous pourrez construire des effets visuels. Note : vous pouvez combiner plusieurs Particle System entre eux pour avoir des effets encore plus complexe.

Enfin, le système a une « durée de vie ». C’est la durée de sa « boucle » au bout de laquelle il recommencera son cycle de génération s’il est paramétré pour être répété plusieurs fois. Il en va de même avec les particules en elle mêmes : elles ont une durée de vie au terme de laquelle le Particle System va les faire disparaître sans plus de procès.

Le Spawn de particules : le temps

La façon de faire apparaître les particules peut être paramétrée dans l’onglet « Emission » :

Paramétrage de l'emision d'un Particle System pour créer des effets visuels

Vous avez là deux sections. Par défaut, vous avez un « rate over time » de renseigné (ici 10). Cela signifie que la génération de particules se fera en continu à hauteur de 10 particules par seconde. Le second paramètre « rate over distance » est légèrement différent. Au lieu de faire apparaître des particules au fil du temps qui passe, les particules seront générées lorsque le GameObject auquel il est attaché va se déplacer dans l’espace.

Là on commence déjà à avoir des trucs cools sous la main non ? Essayez de jouer un peu avec ces valeurs pour voir ce que ça donne.

Le second mode de génération est le « burst », ou éruption / explosion : d’un coup, un certain nombre de particules sera généré. Vous pouvez programmer une ou plusieurs « explosions » de particules à un instant T via la liste proposée. C’est très pratique pour faire un effet visuel rapide dans le cadre d’un feedback visuel.

Le spawn de particules : l’espace

Maintenant que vous avez vu comment gérer le spawn dans le temps, voyons comment changer la façon dont elles apparaissent dans l’espace. Pour cela, il vous faudra utiliser une autre section : « Shape » :

Paramétrage de la forme d'un Particle System pour créer des effets visuels

Visuellement sur la scène, vous avez un Gizmo qui s’affiche vous montrant la forme géométrique utilisé pour le spawn des particules :

Gizmo d'un Particle System sur la scène

La forme géométrique peut bien évidemment être modifiée selon vos besoins. Vous avez une belle liste déroulante à disposition :

Types de formes d'emission d'un Particle System

Encore une fois, prenez le temps de voir chaque forme, comment il est possible de la paramétrer et ses effets. Tester et expérimenter est le meilleur moyen de visuellement comprendre les possibilités que vous avez.

Appliquer des effets visuels sur les particules

Le dernier point concerne les particules en elle même. Vous allez jouer avec elles en leur appliquant des modifications. Modifications au fil du temps, de leur vitesse, si elles touchent quelque chose, etc. Vous avez pas mal de choix à ce niveau là :

Modificateurs à appliquer sur un Particle System pour créer des effets visuels

Petite note importante. Pour utiliser un effet, vous devez cocher la petite case correspondant au bloc !

Note importante #2 : si vous désactivez l’un des blocs « emission », « shape » ou « renderer », plus rien ne s’affichera !

Exemple de particules qui disparaissent

Pour illustrer un exemple simple, jouons avec la taille des particules sur leur durée de vie. Selon si la particule est au début ou à la fin de sa « vie », on va demander au Particle System de modifier leur taille.

Exemple d'utilisation du Particle System

Comme montré, on peut utiliser une courbe pour gérer la taille (c’est un composant vraiment cool). On a donc une particule qui commence sa vie avec une taille nulle puis grandit d’un coup, avant de rétrécir jusqu’à la fin de sa vie. On obtient l’effet visuel suivant :

Exemple d'effets visuels avec le Particle System

En quelques clics, on peut rapidement arriver à des effets simples mais au rendu sympa. Vous pouvez changer les textures, jouer sur leur couleur, leur vitesse… A vous d’expérimenter maintenant !

Aller plus loin

Avec le Particle System, vous pouvez rapidement et simplement créer des effets visuels très simples qui viendront supporter le reste de votre gameplay. Vous pourrez parler à l’inconscient de votre joueur et donc améliorer son expérience de jeu.

Alors évidemment, vous pouvez utiliser plein d’autres astuces pour créer des feedbacks. Mais pour créer des effets visuels, le Particle System fera parfaitement le travail. Prenez un peu de temps pour expérimenter. Découvrez les effets, le résultat visuel. Combinez les effets entre eux pour créer des cocktails improbables.

Définir les feedbacks, c’est typiquement quelque chose que vous pouvez faire lors de la rédaction de votre GDD. Plus vous y penserez tôt, plus vous pourrez être cohérent dans leur mise en place

 

C’est tout pour cet article sur les feedbacks et le Particle System. Maintenant, choisissez votre réseau social préféré et partagez-le !

Si vous avez eu l’occasion de mettre en pratique tous ces conseils dans votre projet, partagez votre expérience dans les commentaires !

Happy Gamedev.

>