- Home /
Make that muzzle flash? How?
Hello :}
Okay so I'm attempting to create a FPS game set within space. At a stage where code needs to be implemented. Trying to figure out how to make a muzzle flash? I've made a plane so far and don't know what is additional required in terms of code?
Help anyone?
Thanks :}
Answer by Tommynator · Dec 02, 2010 at 11:27 AM
You can create muzzle flashes easily by using textured planes in front of the camera. Alternatively you can use animated meshes, or particle effects. No matter which effect you will choose, you can show the effect by using a simple script that is sitting on the muzzle gameobject like:
public class MuzzleFlash : MonoBehaviour { private float _muzzleFlashEnd = 0;
public void Show(float time)
{
//enable renderer/animations
gameObject.SetActiveRecursively(true);
//add some variations
transform.localRotation = Quaternion.Euler(0, 0, Random.Range(0, 360));
//set a duration for the effect
_muzzleFlashEnd = Time.time + duration;
}
private void Update()
{
if (_muzzleFlashEnd < Time.time)
{
gameObject.SetActiveRecursively(false);
}
}
}
Now activate the effect by something like
if(input.GetMouseButtonDown(0))
{
_myMuzzleFlash.Show(0.1f);
}
The gameobject will activate and deactivate itself when the effect is over. That way it will not consume any resources when not in use.
Its says reference script on this behaviour is missing? Did I do something wrong ;/ I created the gameObject and linked with new script...
Your answer
![](https://koobas.hobune.stream/wayback/20220613085358im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Crosshair? How? 6 Answers
Space Skybox implementation 5 Answers
click shooting how do i do it? 1 Answer