- Home /
shuriken particle system not rendering particles when off screen
When the particle system moves out of the current camera's view the particles stop rendering. This causes all of the current particles to disappear. It even occurs when in scene view. Any thoughts on how I could fix this?
I also have the same issue with Unity 4 beta... Looking for an answer here...
I'm using Unity 4 as well, and this issue is a significant problem for me. Is this a bug, and if so, will it be fixed, and is there any workaround?
Hmm... I just tried this myself, and the particle system worked just fine. Is there something that all of your projects have in common?
$$anonymous$$y project is still pretty basic at this point, I haven't customized anything in my culling or rendering options. The particle system I'm using is fairly straightforward as well - emitting a smoke trail (in worldspace) over a short distance on a rocket launch.
I'm using the latest version of Unity (4.0.0f7) and it happens on both my PC and $$anonymous$$ac, so if it's not a bug, it must be some sort of configuration issue.
Answer by MephsUK · Apr 03, 2013 at 04:33 PM
I have had exactly this problem. In my case it was occurring even if none of the game objects related to the particle system were scaled.
I did however find a workaround. If you enable "Sub Emitters" on the particle system, it will work correctly when offscreen. So I'm pretty certain this is a bug in Unity as that is not what I would have expected to fix the issue.
Hope this helps others stuck with the same problem.
"enable SubEmitters" worked for me. Thanks! Btw. you need enable SubEmitters on all particle systems, which are on your object..
Thank you so much! Stupid bug had me stumped for hours...
"enable SubEmitters" worked for me. Thanks! Btw. you need enable SubEmitters on all particle systems, which are on your object..
Aug 29 '13 at 09:54 A$$anonymous$$
This worked for me too, I also found another sub emitter bug before(Sometimes birth SubEmitter can't emit another birth SubEmitter correctly) which have been already reproduced and confirmed by Unity. I think they must be some sort related.
Is there a way of enabling the subemitters programatically in C#? Because it's a bit of a hassle to make sure it's enabled for all your particle systems manually...
I tried this and it didn't work for me. What did work was changing the scale of the particle system (it was set to 0, 0, 0 and displayed fine until the emitter went off camera).
I did a lot of different tests and found out that you don't need to change the scale to 1. I just changed it from 0 and it worked (I'm using 0.03 to keep the effect looking similar, but tried it at 1 and 10 and they all worked).
Strangely, anything smaller than 0.022 in my tests seem to cause it to keep disappearing. At 0.021 it flickered and at 0.02 it would disappear completely. $$anonymous$$y parent is scaled to 9, 9, 0 (it is a 2D sprite) in case that matters.
Answer by rumorgames · Nov 28, 2012 at 06:38 AM
It appears that this happens when the transform a particle system is attached to is scaled.
In my case, my rocket was scaled (for example, 0.2 in every dimension), and the particle emitter was attached to a child object with a scale of 1 (but an inherited scale of 0.2 as well). When I changed the child's scale to 5 offset the parent's, the particles no longer disappear when the emitter is off-screen.
I'm still not sure exactly why this happens. It seems like a bug, since it's not particularly useful behavior (nor is it documented). Still, try making sure your transform has no scale, or make a child game object with a corrective scale and control your particle size with MaxParticleSize and other Shuriken properties.
Thanks for this answer. I had a ParticleSystem that worked fine when set to simulate in local space, but the particles would randomly disappear for a frame or two when simulating in world space.
$$anonymous$$y ParticleSystem had a scale of (-150,-150,1) for some reason, and setting it to (1, 1, 1) fixed it completely.
This worked for me - ParticleSystem's local scale set back to (1, 1, 1) and it worked. Thank you!
This worked in my case. Note, that I had the PS under a canvas object, and the canvas will scale it in some cases, but the Scale will still show (1, 1, 1) or whatever you have it set to.
Yep this method worked for me. Parent was too small at (0.04,0.04,0.04) and my particle scale was at (1,1,1) ... thus the particles disappear from screen.
In the end i made my particle scale obscenely large (13.01,13,13) ... and now its visible in game. (Note in another thread, others have suggesting offsetting the scale size of the particle system)
Answer by djarcas · Feb 12, 2013 at 06:06 PM
The best way to fix this is to untick Resimulate, ensure you tick Simulate in World space, and ensure the transform of the particle system is in front of the camera (replace it after emitting from a given position)
yes thank you. this was making me crazy and your solution worked for me.
Answer by Witcher92 · Oct 19, 2015 at 11:38 PM
Old question, however I had the same symptoms, but in my situation fix was needed somewhere else. I am adding particles manually (since i have positions from other particle system), so in my code i forgot to specify axisOfRotation
. That's why shuriken renderer does not know how to behave when camera moves within different angles... So i needed to specify:
particle.axisOfRotation = new Vector3(0, 1, 0);
Answer by jojogogo · Apr 17, 2013 at 10:38 PM
For me the problem is that when you are using "Stretched Billboard" and set "start speed' to , also enabled "Velocity over Lifetime", the bug appears. So whatever you do , don't leave the start speed to 0. That should solve the problem.
hope this would help.
PS. I think shuriken programmers couldn't do anything unless they can reproduce the bug... so here you go, fix it please.