Discovered what appears to be a bug with the mesh particle system when using a scaled mesh as a particle.
Pic related is a screenshot taken from my game. I have one particle system with two emitters. These emitters are IDENTICAL, and I do mean IDENTICAL (I literally created one by using the duplicate command on the other) except for which mesh they are set to display.
So, one would expect them to show identical behavior, right? And yet:
As you can see, the “nuts” particles collide properly (more or less, there’s clearly a small amount of error but I assume that inheres in the way particle collision works) while “bolts” particles float above the ground. The thing is, these particles THINK they’ve collided and are at rest; if I spawn these for a while, what you’d see is a bunch of Nuts sitting on the floor and a bunch of Bolts sitting on an invisble plane a few inches off the floor.
So I think to myself “this must have something to do with the difference between the meshes”. So I check them out in UE’s editor, and this is what I find:
Neither particle has any collision data, either generated or external. Both have properly defined origins and bounds; nothing that would indicate that Unreal should be trying to draw one vertically above whatever invisible sphere it uses for particle collision.
So, I go back to try exporting and reimporting the mesh from Blender with it rotated to be laying flat rather than vertical. In so doing, I realize I had exported the mesh with the standard scale of 12 that I’d been using (since then I’ve moved on and set Blender up with proper cm scaling, but at the time I had not), so I fixed that by exporting it at a scale of 1 and setting the particle system to make the particles larger to compensate.
The result? Collision with that particle now works perfectly.
Here’s the rub: The Nut was ALSO exported with scaling, and yet it seems to collide fine. So why the strange behavior with only ONE scaled mesh and not the other?
I couldn’t find a way to debug-draw the collision primitives being used by the particle system (I assume it uses a simple sphere to do its ultra-simplified collision, rather than any kind of defined collision geometry) so I can’t offer more info than that.