I found that guide: https://thinhhb.wordpress.com/2016/03/27/unity3d-optimization-make-atlas-textures-for-particlesystem-reduce-drawcall-why-not/ which is quite clever.
As far as I know, we can't batch
ParticleSystems with different materials, for example:
- A star (Particles/Additive)
- A smoke (Particles/Additive)
give 2 draw calls.
The guide points, that we can use a
TextureSheet trick to achieve batching of different graphics on multiple
ParticleSystems like that:
- We create a spritesheet manually and cut it in Unity's SpriteEditor into a grid, and create a material:
- Then, we create our
ParticleSystemsand attach generated sprites into
Texture Sheet Animation Module:
And here the magic happens. They batch.
My question is, what is the overhead behind this? Is the
If I have 15 different sprites, their
ParticleSystems create 15 batches, which is quite expensive on mobile.
Is it wise, to move to TextureSheet and save these 14 batches?