I have a quick question:
When shaping particles, most of the time you will notice that the effect isn’t really great until a couple seconds into it; when there’s enough particles to, for example, see an actual fire.
My question is: Is there any way to START a particle emitter a couple seconds into the animation?
If not, is it perhaps scriptable?
Any ideas would be greatly appreciated!
-TT
EDIT: Here’s a pic of where I’m trying to get at: the fire from the turret only looks good 1 or 2 seconds into it…
You might want to be a little more patient… 35 minutes is not a long time for someone who knows the answer to your question to see it and answer it.
I personally don’t know of a way to do that… is it possible for you to start the fire animation before you actually see it in the level? For example, you start the level with the character behind some trees, it takes the character two seconds to walk towards the fire, and then by the time the character sees it, it’s already a full flame?
EDIT: I thought of another way that may help, but it’s kind of a hack. For a brief period of time at the beginning of your level, if you change Time.timescale to a larger value, everything in your scene goes faster, including the particles. This may or may not create the effect you’re looking for.
Those are great ideas!
In my particular instance I’m trying to get a turret to blast out some fire-sparks while using it’s falcon canons.
It’s looking AWESOME when the particle effects have had some time to start, however, not when it’s just starting up.
In this case, speeding up the entire scene won’t be of much use, as I’m turning the effect on when the turret starts shooting. So I’m kinda looking for an instant thing… if at all possible :shock:
Thanks Eric5h5, I would have never found that.
Documentation on this one is pretty slim…
Here’s what I tried:
function Awake()
{
particleEmitter.Simulate(Time.time+3);
}
Of course, I also tried putting this in the Start function and also only giving it a number without Time.time.
Attached the script to one particle emitter while the other one stayed the same.
Unfortunately they act exactly the same…
Good question…I’m not actually sure that Simulate() really works. I was hoping someone else would have better luck than me. I tried it for something where it would have been useful, rather than doing the “Time.timeScale = 99.9; yield WaitForSeconds(5.0); Time.timeScale = 1.0” trick, but, although it did do something, it didn’t give the same results. So I went back to using the timeScale trick, which as you mentioned wouldn’t work in the middle of a game, only at the beginning.
I realize that this is an old thread, however I needed a solution to this, and found one here. The simulate does work if you plug in a number that is less than about 5, at least for my effect it does. You dont need to add the Time.time set to it as far as I know.