Randomized mesh data in particles

I was wondering if there’s a way to make a particle systems mesh data select from an array of different static meshes, or a way to combine multiple static meshes into one and have the particle system select between which mesh it uses per-particle.

Here’s the five meshes I want to randomly select between.

And here’s the particle system itself using only Smoke_03.

Is this something I can do by somehow making a static mesh that contains all the shapes and letting the effect decide which ones are visible, like a bodygroups deal? Or can I control something like this through a blueprint?
I appreciate any help with this!

I would duplicate the emitter on your particle system for each mesh you want to use. You’ll probably have too many so then scale back spawn rate.

Is that the only solution? When I was working in the source engine I was able to compile a model with submodels so each submodel was a different mesh, then I could remap the submodel number to anything else and make it randomly choose a different mesh per-particle. It was really useful for making varied looking effects

The best solution is what RyanGadz wrote, although I’d add that you should use module instancing to make the job easier. (See Cascade Particle Editor Reference | Unreal Engine Documentation for details.)

If you don’t want to do that then you could have a single, somewhat dense sphere as your mesh and use vector displacement textures to deform it to different shapes. The way to generate such textures depends on your 3D application, here is how it’s done in Modo: Vector Displacement - YouTube

EDIT: I mean that you can have multiple displacement textures in a texture atlas and use a particle property (like particle color’s Red component) to control which one is applied to the sphere.

To add to that, each mesh in cascade is a drawcall, and you could achieve what you want with one or two of those meshes, and just add scale, rotation, and rotation rate to them.

Not the best example since I used a mesh I made years ago, and isnt up to snuff but: [UE4] -FightCloud- Luos's A Particle A Day For A Year! 25/356 - YouTube
now change that into a better shaped mesh like you have, and I highly doubt people can tell you only use one (or two) meshes.

that said, Id love the possibility of an array of meshes in cascade or niagara.
I should @unrealalexander this :stuck_out_tongue:

That’s a shame that it’s not possible by default, thanks anyway. Also thanks for posting here! I wish I had known about your work earlier! All the videos of you actually building your effects are so helpful!!

Aw, that’s a shame. Thank you for the help though, I’ll try out the displacement method sometime.
I wish there was a way to use multiple meshes in the same way that the sprites are randomized when using a subuv method, but thank you anyway!

If you found an answer helpful then please mark it as accepted. :slight_smile: