- Home /
Particles collision Stopped working after a while
I have a particle system that fires out a bullet once the player presses the left mouse button to detect fast moving object collision, at first it worked out well and the bullet would collide and send a callback message to OnParticleCollision.
However after a while it stopped working, im using a method called Emit that emits out a bullet from the particle system when the player presses the left mouse button, strangely due to my continuous firing it worked again
This is the script attached to the particle system to detect the callback message
public ParticleSystem cannonParticleSystem;
ParticleSystem.Particle[] particles;
void Start()
{
particles = new ParticleSystem.Particle[cannonParticleSystem.maxParticles];
}
void OnParticleCollision(GameObject hittedobject)
{
cannonParticleSystem.GetParticles(particles);
if (hittedobject.GetComponent<EnemeyAI>())
{
hittedobject.GetComponent<EnemeyAI>().DecreaseHealth(PlayerInventory.instance.playerItemInHand.weaponDamage);
hittedobject.GetComponent<EnemeyAI>().GetComponent<Renderer>().material.SetColor("_Color", Color.red);
for (int x = 0;x < particles.Length;x++)
{
if (Mathf.Abs(Vector3.Distance(particles[x].position,hittedobject.transform.position)) < 6f)
{
particles[x].lifetime = 0f;
break;
}
}
}
cannonParticleSystem.SetParticles(particles, cannonParticleSystem.maxParticles);
}
This is the method that instantiate the bullet at another script
public virtual void InstantitateBullet(Transform currentTransform, WeaponItem weapon)
{
if (currentTransform.GetComponent<PlayerShooting>())
{
currentTransform.GetComponent<PlayerShooting>().bulletParticleSystem.Play();
currentTransform.GetComponent<PlayerShooting>().bulletParticleSystem.Emit(1);
currentTransform.GetComponent<PlayerShooting>().bulletParticleSystem.Stop();
}
}
Your answer
Follow this Question
Related Questions
Particle System Collision Problem 0 Answers
3D Particles collision don't work 0 Answers
How to detect which exact particle element from a particle system hit a collider? 0 Answers
How to make OnParticleCollision affect multiple GameObject 1 Answer
How can I restrict Z axis in 2D particle collision? 0 Answers