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.