On a vu que lorsque ma sphere touche le sol, cela provoque une explosion. Pour ajouter un peu plus d'effet, je vais ajouter une lumière qui va donner un côté plus réaliste à l'explosion en eclairant les objets envirronnants.
Pour cela, c'est très simple, sur mon objet explosion, je vais ajouter un objet "Point Light" qui est une lumière sphérique d'une intensité de 5 et d'un range de 13. Cette lumière apparait en même temps que l'explosion et je vais créer un script qui va baisser son intensité au fur et à mesure que les flammes disparaissent . Je place ce script sur l'objet explosion :
private var lightHalo:Transform; // variable qui contiendra l'objet lumière
function Start(){
lightHalo = transform.Find("lightHalo"); //On cherche l'objet lumière du nom de "lightHalo" dans l'objet explosion
}
function FixedUpdate(){ // dans cette boucle infinie
lightHalo.light.intensity=lightHalo.light.intensity-0.1; // on diminue l'intensité de l'objet lightHalo de 0.1
if(lightHalo.light.intensity<=0){// si l'intensité est inférieure ou égale à 0, elle vaudra 0
lightHalo.light.intensity=0;
}
}
Dans l'éditeur d'Unity 3D, vous pouvez voir le jeu image par image, ce que je fait dans la vidéo ci-dessous pour voir l'effet réalisé :