Auteur : Sagaert Auguste

Chapitre 3 TD 8 – Unity / Systèmes de particules

Résumé

Dans ce TD, on transforme une scène « cabane sous la neige » en un petit diorama vivant grâce aux systèmes de particules d’Unity : fumée de cheminée, neige qui suit le joueur, et une touche de vent.

1. Objectifs

Nous allons créer deux systèmes de particules principaux – la fumée et la neige – tout en comprenant quel module influence quel résultat visuel (émission, forme de l’émetteur, tailles et durées de vie, couleur au fil du temps, forces appliquées). La neige sera parentée au First Person Controller afin de rester cohérente autour de la caméra lorsque le joueur se déplace.

Vue d'ensemble

2. Fumée de cheminée

Commencez par créer un Particle System renommé Smoke, puis positionnez l’émetteur exactement dans la cheminée.

Configuration :

  • Créez un matériau Mat_Smoke en shader Particles (Additive ou Particles/Unlit en transparence)
  • Assignez une texture de fumée douce
  • Taille de départ : environ 5
  • Durée de vie : proche de 15 secondes
  • Size over Lifetime : courbe qui démarre à 0,3 et grandit progressivement
  • Shape : Cone avec un angle proche de 10°
  • Color over Lifetime : fondu de l’alpha jusqu’à zéro en fin de vie
  • Force over Lifetime : légère brise sur X et Z

Configuration fumée 1

Configuration fumée 2

3. Neige qui tombe

Créez un second Particle System nommé Snow :

  • Orientez-le avec X à 90° pour que les particules « tombent » vers le bas
  • Shape Box : suffisamment large au-dessus du joueur (ex: 20 × 20)
  • Max Particles : environ 2000
  • Rate : environ 200
  • Start Size : proche de 0,2
  • Force over Lifetime : légère brise sur X et Z
  • Parent : FPC (First Person Controller) pour que le volume suive la caméra

Configuration neige

4. Questions théoriques

4.1. À quoi servent les particules ?

Les particules servent à simuler tout ce qui serait trop lourd à modéliser une par une : fumée, pluie, neige, étincelles, poussière, etc. Dans Unity, on émet des petits sprites très légers et on les pilote avec des modules. Le Particle System gère le flux et recycle les particules automatiquement.

4.2. Optimisation des systèmes de particules

Les principales contraintes viennent du :

  • Fill-rate (overdraw) : les sprites transparents se superposent
  • Nombre de particules et de systèmes actifs
  • Multiplication des matériaux qui accroît les draw calls
  • Shaders coûteux (soft particles, normal maps, refraction)

Optimisations recommandées :

  • Unifier les matériaux
  • Limiter Max Particles et Rate
  • Mettre en place des LOD
  • Arrêter les systèmes hors champ
  • Travailler en Simulation Space = Local
  • Privilégier des shaders simples

4.3. Interaction particules avec l’environnement

Pour que la scène vive, il faut que les particules réagissent :

  • Activer la Collision (sur le monde ou des colliders)
  • Déclencher des Sub-Emitters au contact
  • Utiliser des External Forces/Force Fields pour créer des zones de vent locales
  • Passer des Custom Data au shader pour faire varier couleur/taille

4.4. Personnalisation & créativité

  • Fumée rustique : taille qui grandit doucement, gris discret, Noise léger
  • Effet magie : trails fins, dégradés vifs, Sub-Emitters en étoiles
  • Poussière d’intérieur : vitesse quasi nulle, faible opacité
  • Neige scintillante : flipbook de flocons variés avec palette froide

4.5. Avancées & tendances

Le VFX Graph (GPU) permet des nuages de particules énormes, avec collisions SDF, mesh sampling et événements côté GPU. Les Force Fields et External Forces apportent des vents locaux. Shader Graph et les Lit Particles aident à intégrer les particules dans l’éclairage du pipeline.


← Retour à Sagaert Auguste