I. Introduction▲
Au cours de cet article, vous allez apprendre à créer un effet de feu grâce au système de particules de Unity.
Vous pouvez retrouver les autres épisodes de cette série dans le sommaire dédié.
II. Vidéo▲
Unity - Effets visuels avec le système de particules - Effet de feu
Unity - Effets visuels avec le système de particules - Émission et couleur
Unity - Effets visuels avec le système de particules - Mouvement
Unity - Effets visuels avec le système de particules - Étincelles
III. Résumé▲
III-A. Trucs et astuces avec l'éditeur▲
Avec Unity, vous pouvez avoir deux instances de l'inspecteur. Pour cela, faites un clic droit sur le titre de l'onglet de l'inspecteur puis « Add Tab » → « Inspector ».
Aussi, il y a un bouton représentant un cadenas. Si vous cliquez dessus, la vue de l'inspecteur restera toujours sur le même objet et ne changera pas, même si vous en sélectionnez un autre.
III-B. Effet de feu▲
L'effet de feu est composé de trois éléments :
- un système de particules pour les flammes ;
- un système de particules pour les étincelles ;
- un système de particules pour simuler une lumière ayant la même couleur que les particules.
III-C. Création des flammes▲
Deux possibilités s'offrent à vous pour créer un nouveau système de particules :
- faire un clic droit dans la hiérarchie et sélectionner « Particle System » ;
- créer un objet vide (« Empty ») et lui ajouter le composant « Effects » → « Particle System ».
III-C-1. Configuration▲
Le système de particules sera configuré de la sorte :
- « prewarm » activé afin que l'effet soit directement en place (et qu'il n'ait pas besoin de quelque temps pour démarrer) ;
- la durée de vie initiale est définie à 4 ;
- la vitesse initiale est définie à 0. En effet, le mouvement des flammes est réalisé grâce au module « Noise » ;
- la taille initiale est définie à 2 ;
- la vitesse de simulation est définie à 2. Ce paramètre impacte l'intégralité du système de particules ;
- l'émission est définie à 5 (« Rate over time ») ;
- les particules sont émises dans un cercle (« Shape ») de rayon 0.65 ;
Il est possible de modifier le type de paramètre pour la vélocité sur le temps (« Velocity over Lifetime »). Ici, nous utilisons une courbe (« Curve »). Seule la courbe pour la valeur pour la coordonnée y nous intéresse. La courbe voulue démarre à 0 et croit doucement pour atteindre la valeur 1. Aussi, l'espace de coordonnées « Space » doit être dans l'espace monde (« World »).
Ensuite, nous déterminons la couleur sur le temps (« Color over Lifetime »). Définissez-y un dégradé orangé.
Aussi, nous souhaitons changer la taille en cours de vie des particules (« Size over Lifetime »). La courbe démarre de 1 et décroît progressivement vers 0.
III-C-2. Mouvement▲
L'effet obtenu est correct, mais il manque quelque chose pour lui donner plus de dynamisme. Cela peut être obtenu grâce au module bruit « Noise ».
Le paramètre « Strenght » vous permet de déterminer la force de l'altération du système de particules. Le paramètre « Frequency » permet de modifier le côté aléatoire de l'altération. Le paramètre « Octave » indique le nombre de passes effectuées pour générer le bruit. Ensuite, vous pouvez configurer le bruit indépendamment pour chaque axe de mouvement. Finalement, si vous souhaitez un bruit dynamique, vous pouvez utiliser le paramètre « Scroll Speed ».
La texture affichée à côté des paramètres représente les données générées par les fonctions de bruit et qui sont appliquées aux particules.
III-C-3. Texture▲
Dans le module de rendu « Renderer », vous pouvez changer la texture appliquée sur les particules. Si votre texture est une feuille de sprites (en vue d'obtenir une animation), il vous faudra donc l'indiquer à Unity à travers le module « Texture Sheet Animation ».
III-D. Création des étincelles▲
Un deuxième système de particules est utilisé pour les étincelles. Celui-ci est enfant du système de particules des flammes.
III-D-1. Configuration▲
Nous appliquons la configuration suivante :
- une vie initiale aléatoire entre 0.5 et 3 ;
- une vitesse initiale aléatoire entre 1 et 2 ;
- une taille initiale aléatoire entre 0.05 et 0.1 ;
- une couleur initiale 255,176,90 ;
- un taux d'émission à 20 ;
- une forme d'émission en cône ayant un angle d'ouverture de 32 et un rayon de 0.7. Les particules sont émises dans l'intégralité du volume. La longueur de ce dernier est 0.12.
Ensuite, configurez un dégradé pour la couleur sur le temps.
Pour ajouter du dynamisme, utilisez le module « Noise » avec les paramètres :
- 0.5 pour « Strength » ;
- 0.5 pour la vitesse de défilement « Scroll Speed » ;
- le « Damping » activé.
Pour finir, configurez le rendu pour utiliser le matériel adéquat et modifiez le mode de rendu pour utiliser le mode « Stretched Billboard ».
III-E. Création de l'effet de lumière▲
Finalement, ajoutez un dernier système de particules, enfant des flammes.
III-E-1. Configuration▲
Nous appliquons la configuration suivante :
- une durée de 3 secondes ;
- une durée de vie initiale de 3 secondes ;
- une vitesse initiale de 0 ;
- une taille initiale de 0.1 ;
- un taux d'émission de 0. L'émission se fait à travers le paramètre « Bursts » avec les valeurs 0 pour « Time », 1 pour « Min » et 1 pour « Max ». Ainsi, vous allez avoir une particule dont la position change toutes les trois secondes ;
- désactiver le module « Shape ».
Pour la couleur sur le temps, configurez un dégradé dont la couleur est unie, mais dont la transparence varie légèrement. Cette couleur sera utilisée par la lumière. La transparence sera utilisée pour affecter l'intensité de la lumière.
Activez le module pour la lumière « Lights ». Pour ce module, vous avez besoin d'un préfabriqué de lumière. Celui utilisé n'est qu'une lumière ponctuelle dont la couleur est blanche. Elle ne produit aucune ombre.
Le paramètre « Ratio « doit être mis à 1, le paramètre « Range Multiplier » à 15, le paramètre « Intensity Multiplier » à 3 et le paramètre « Maximum Lights » à 1.
IV. Sauvegarder en mode jeu▲
Si vous quittez le mode jeu après avoir modifié la scène, les éléments que vous avez modifiés seront perdus. Pour les sauvegarder, copiez l'objet, quittez le mode jeu et collez votre objet dans la hiérarchie.
V. Ressources▲
Vous pouvez télécharger les ressources pour ce projet ici.
VI. Commenter▲
Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum.