- Home /
Is there oneshot particle settings in Unity 4.1.5?
Hi, I'm just learning Unit3D. I have version 4.1.5. I'm following the tutorial in this link https://www.youtube.com/watch?v=KPdHwQAK9k0&list=PLD47A8BE52CD8B4E5∈dex=15. It's very good but uses an older version of unity. So, is there a similar setting in Unity 4.1.5 that allows for particle setting "oneshot". If so, what were is it? If not, how can I do a "oneshot" particle effect in ver 4.1.5? Thank in advance for your help. Jeff link text
Answer by Steven-1 · Aug 22, 2013 at 08:38 PM
Under the Emission-tab, set Rate to 0 and use Bursts instead. The bursts will emit particles at specific times (so if you set time to 0 it will emit once at the creation of the particle system)
Answer by JeffreyD · Aug 22, 2013 at 09:47 PM
Hi, Thanks for this. I just tried it and it still emits particles. I set burst time to 0, particles to 1 (It was set to 10), Rate is 0. Loop is off.
What I'm trying to do is instantiate the particle effect when my ball hits something. The effect instantiates correctly (i.e., when the ball hits the wall), but because there is no oneshot setting it continues to emit even after the ball continues to bounce around. The result is particles spraying around at every place the ball has hit something. It looks cool but it's not what I want. I've tried to Destroy the particle instantiation but that doesn't seem to work either. I'm guessing that is because I don't know how to find the instantiated game object in order to destroy it. I can destroy the Ball (the gameObject) but I don't know how to Destroy the instantiated Particle effect. Here's the code.
var particle_splash : GameObject;
// var def at top of file. I "attach" this to GameObject particle_sparks in the Inspector window. The unity GameObject particle_sparks in the project folder area has the emitter particle_sparks (same name as the GameObject) attached to it.
// Collision detection handler for the Ball... // The emitter is instantiated when the ball hits something, which is handled by this function. // This script is attached to the Ball GameObject via the Inspector.
function OnCollisionEnter(collision : Collision)
{
// start the particle effect - This works.
Instantiate (particle_splash, transform.position, transform.rotation);
// In an attempt to destroy the particle effect, since the oneshot does not exist // I tried this Destroy set to delay 1 second before doing the destroy. // This does not work. Even though particle_splash is defined as a GameObject above.
Destroy(particle_splash, 1);
// When I try to destroy the gameObject (i.e., Destroy(gameObject);) // I end up destroying the Ball, which make sense since the script is connected to the ball
}
So, I'm open to learning how to either 1) Create a "OneShot" that works via the emitter settings. or 2) Learn the Java code to locate the particle_splash game object that was instantiated so that I can destroy it.
Thanks again in advance for all your help.
Your answer

Follow this Question
Related Questions
How to make particles move along a path in a particle system? 0 Answers
Performance drop when particle systems occupy the most part of the screen. 0 Answers
Another Scripting Question 1 Answer
How to make touch one frame in a 2D unity Game? 1 Answer
my partical fade away when the emitter moving fast ? 0 Answers