Spawn particles in a static mesh volume?

Hi guys,
Is is possible to use spawn particles inside a static mesh volume? So the particles spawned inside for the shape of the static mesh?

I dont think so. But you can set primitive shapes like sphere and cylinder as emitter location under Location module.

Hi Jacky,
Thanks for the reply but hopefully there is a way.

Cascade has a Location Node for Skeleton Mesh where it can spawn particles from vertexes or polygons so why not from a Static Mesh?
The tech seems to be there plus it’s pretty standard nowadays to be able to do this.

Well i can’t answer that question but you can make a feature request for it in the forums if you like. :slight_smile:

Hey AdrainLazar -

As long as your static mesh has a socket, which can be added from the static mesh editor, you can use the Bone/Socket location module to spawn. Skeletal or Static though you would still be spawning from a singular point which doesn’t sound like what you want to achieve. If you can give me a drawing of exactly what you are looking for, or a close approximation, I will look into trying to generate the exact effect.

Thank You

Ketchum

Hi ,
Thanks for the answer.

What I basically need is a way to use a static mesh / skeletal mesh as particle emitter location with two options:

  • Emit from mesh surface - so let’s say with enough particles I could cover the entire mesh
  • Emit inside mesh volume - so again, with enough particles I could fill the entire mesh
    6
    Here you can see this implemented in Unity though AFAIK it only works with static meshes:

Hey AdrianLazar -

I have let our developers know that we want to add this feature, but I have a reasonable workaround for the Mesh Surface. You can import a SM as a Rigid Mesh Skeletal Mesh and then set a Translucent Material on the Skeletal Mesh. You will get something like this:

I will keep you informed -

Thank You

Ketchum

I’d love a feature where I can use a cube or a sphere as a particle spawner: have the cube or sphere spawn particles at random locations inside of it.

Prantare, I have attached some pseudo code for a cube emitter, for some reason it wouldn’t let me put it in a comment.

I have a question .
I imported static mesh as skeletal mesh.
and attached material.
would you please tell me nextstep at cascade?

Assuming you have enough Vertices in the Skeletal Mesh, you can assign the Mesh to the Skeletal Mesh actor of the Skel Vert/Surf Loc Location Module.

Creating Visual Effects in Niagara for Unreal Engine | Unreal Engine 5.3 Documentation

Ketchum

Assuming you have enough Vertices inthe Skeletal Mesh, you can assign the Mesh to the Skeletal Mesh actor of the Skel Vert/Surf Loc Location Module.

Hi ,

I use the Skel Vert/Surf Loc Location Module method to spawn a particle system from a static mesh. In the particle system I uncheck ‘[x]Use Local Space’ because I don’t want the particles to be locked to the mesh movement when it falls. This works fine.

However, if I [Add] the particle system to a blueprint (rather than dragging it directly into a scene next to its mesh) it behaves as if ‘Local Space’ is active.
(I.e. if I move the BP then particle system moves with it lock-step).

Is there a way to make a BP particle system use world space and not BP local space?

How I suggest you to solve it:

  1. Make your emitter spawn only one/few particle, then destroy itself.
  2. Make and actor that uses “Random point in Bounding Box” to spawn your emitter where ever you want.

Of course it does not work for any mesh, but you can make most of the shapes quite well by using more of these and setting up the delay time accordingly. You can also make other shapes like a ball, a cylinder or others depending on your patience with math.

If it is necessary for it to be very accurate and/or you mesh is animated, then I have an other idea, but I don’t know if it’d use too much computation or not:

Make this bounding box base as before, but make this/these so big that it covers your mesh at any given moment. Then after choosing a random point in the box, check if it’s overlapping with your mesh or not. If not then make it find a new random point instantly.

Hi some news about that? Something else, the example you showed is in the content examples?

Was this ever implemented? I need it for a project that I am working on spawning the particles just along the surface does not suffice for my needs.

If anyone is still looking for this I think I found something useful for y’all:
Create a Mesh Particle Effect in Niagara | Unreal Engine 4.27 Documentation