Random sprite for each particle?

I’m interested in using a sprite sheet to generate a GPU particle effect. But what I’d like is for each particle to be assigned randomly to a single sprite, rather than animated through the collection. Is this possible? Or am I better off using a different emitter for each sprite and just layering them on top of each other?

Thanks!

Heya Makkuro,

This is def possible (and muuuuch cheaper on drawcalls than using different emitters for each sprite)
If you have a spritesheet that has 8x8 images (equally divided)
make sure to set the following in the required node:

Now add a “SubImage Index” Module and set the distribution like this:

This way on spawn it will select any of the 64 sprites.

And I am sure I dont have to explain which values to alter when you use a sprite sheet with a different amount of sprites.
Additionally if you change the"Random Image changes" to another value in the Required module, the particle will randomly change to another sprite that amount of times. (2 = 2 random changes before particle dies)

Luos, thank you so much for such a detailed response! I’m going to try this first thing and I’ll let you know if it works out.

Thanks again.

Hi I’m trying to use this method you have explained to create a snow-storm effect, with each particle randomly selecting a snow crystal from a texture laid like a sprite sheet. Is it fine to just use the texture in a material that is on the particle emitter, or do i need to do something special to make use of SubUVs?

that will work, though if you use a “sub uv texture” node or whatever its called in the material editor, you can have some additional blending between frames. doesnt sound like you need it in this case though.

That makes sense. I’m still having some trouble with getting it to select anything other than the first sprite in the sheet. All my snow flakes are the same, lol. I wonder if i set an option that is messing it up somehow. Thanks for your guidance, Luos, I’m a big fan of your work!

interpolation method should be on “Random”, not “Linear” with random cimage change set to 1