Hi,
This is a great community and this is my first post. I apologise in advance if I made any mistakes in posting this here.
In my project I’m using a MeshParticleEmitter with Particle Renderer and Animator on almost all of my objects. I would like to turn these emitters off when they are not seen in the camera view. The way I dealt with this was as follows: I attached a script “A” to every object that had an emitter. Through script “A” I can manage all my particles and shut them off when they are outside of a BoxCollider attached to my camera.
Now, I have a bunch of questions about this:
- Is it more efficient to use the
new ParticleSystem? - Is there an automatic/built-in way
of turning these particles off
without the script I have. Did
someone write a script for this
already? Does Unity have a box I can
check for this? - When I use my method I have to
either check the objects on
TriggerEnter/Exit and turn them
on/off or I have to check and go
through all the objects I saved in a
list with a CoRoutine every t
seconds, checking if they are
colliding with the box. Which way is
more efficient? - Would it be more efficient to
deactivate the object that carries
the ParticleEmitter or put the emit
to false? - Am I capable of manipulating the
new ParticleSystem the same way I
did with the old one through
scripting? Which one should I rely
on? - I have a background object that
emits particles everywhere and
encapsulates the camera… If I stop
it’s emitter by making it false, it
stops altogether. Is it possible to
cull the particles that stay outside
of the camera view?
In a nutshell is there a better way to optimize the performance when using particles?
Thanks!