Hi,
I am actually new to Unity and i have a question.
I actually have a first person controller and a weapon attached to it.
I put a particle system on my scene (Unity Asset Store - The Best Assets for Game Making) and i would like to activate it when I press ‘fire’
This is my script (on my first person controller)
public Transform origin;
public Object bullet;
public ParticleSystem detonator;
private float lastShoot = 0;
// Update is called once per frame
void Update ()
{
// pas de spamm de clic
if (Input.GetButton ("Fire1") && Time.realtimeSinceStartup - lastShoot > (1.0/4.0)) {
lastShoot = Time.realtimeSinceStartup;
// animation
detonator.enableEmission = true;
detonator.Play();
}
}
Nothing appens, my particle system is not playing.
If you have any ideas…
Have a good weekend
Put you ParticleSytem Prefab in you Resource folder.
Then Load it into the Scene.
Then use Instantiate(). I’m using the Elementals Particle System myself: Unity Asset Store - The Best Assets for Game Making
Your case is simpler, since you only need to Instantiate the Particle System on the Weapon’s tip and parent it to the weapon: use particle.transform.parent = weapon.transform;
Here’s my code. It gets a bit more complicates here, as I make the splash as the cannons hit the water, but it’s useful if you want to add explosions to wherever the bullets hit.
public Object Splasher;
void Start()
{
Splasher = Resources.Load(“Splash”);
}
public void Make_a_Splash(GameObject canonball)
{
GameObject particle = GameObject.Instantiate(Splasher, canonball.transform.position, Quaternion.identity) as GameObject;
StartCoroutine(Cleanup_a_Blast(particle));
}
void Update()
{
if(Input.GetKeyUp(KeyCode.Alpha1))
...Make_a_Splash(GameObject canonball)
//adds the splash to where the cannons hit.
//Cannons need to have a collider as a trigger attached.
}
public IEnumerator Cleanup_a_Blast(GameObject blast)
{
yield return new WaitForSeconds(2);
GameObject.Destroy(blast);
}