I’m trying to spawn particles on meshes that have been already spawned in the same particle system. The idea would be similar to use mesh location but using a mesh rendered particles from another emitter instead of external meshes.
I thought that was a pretty simple task but I found myself lost in a pile of stages, attribute readers and scratch pads.
Probably exist an easy solution a workaround or a different approach to achieve the same results, but I’m not able to find it.
You can set array of points from mesh to spawn particles at same location and can add some movement if needed.
Cause component render is too buggy and not well optimized.
I would simplify it. Don’t actually read position from the meshparticle. Recreate the same data.
Read the orientation, scale and location from the particle that has the meshrenderer. Store that as a Particles attribute on the emitter you want to “sample positions” to.
Sample a static mesh that’s using the same mesh as the renderer. Apply positions.
Orient, scale and offset the positions. It should now match.
If you have multiple potential meshes, either use an array on the recieving emitter, or set up one emitter per mesh if that feels easier.
Edit. Yep, that worked.
Try this, then it should be easy enough to expand to multiple particles and meshes. Have fun.
Thanks for sharing this method, it was really useful
I’ve upgraded to unreal 5.4, and this method no longer works. They’ve changed the initial position to a Quaternion, that no longer allows any conversion
I wondered if anyone has found a way to get particles to spawn from a particles mesh surface in 5.4?
They’ve also updated the Static Mesh Location module, which comes with some handy features. But it prevents the Sampled Mesh Normal & Sampled mesh Position being explicitly set
If someone has a solution that works with version 1.1 of the Static Mesh Location module too, that would be great!