I’ve got an Enemy blueprint that goes into ragdoll when it dies. Once it’s set to die, it disables the collision of its capsule, sets the mesh object type to Ragdoll (custom collision channel that ignores ALL collision except for WorldStatic), and then the mesh Simulates Physics. Ideally, this should allow enemies to pass through the dead enemy’s mesh and ignore it while walking through it entirely, as the enemy collision capsule and mesh are both set to ignore the Ragdoll collision channel. However, the enemies’ meshes jitter whenever a nearby enemy dies - they seem to step up onto the dead enemy’s mesh very briefly and then snap back to the ground. The enemies’ capsules do not seem to jitter, only the mesh. I’ve set the “Can Character Step Up On” to No for both the capsule and the mesh.
Things I’ve done to try and fix this:
Adjust step height in the character movement to 0
Detach the mesh before ragdoll
Set Simulate Physics on a timer/on next tick so it ensures the capsule component disables first
Messed with imparting velocities
Set default enemy mesh collision to No Collision and updating to “Physics only” prior to ragdoll
Additional Context:
Enemies move with AI Move To
Enemies do not simulate physics otherwise
Enemy Capsule and Mesh start with Object Type “Pawn”
The enemies don’t drag around the dead enemy mesh - they otherwise ignore it.
If needed I can try and get a video of the behavior, but I figured the post was long enough for now. If anyone knows what might be going on, I’d really appreciate any insight, because this has been bothering me for way longer than I’d like to admit.
It’s set to false for all the Enemy components. I checked in the game and it doesn’t look like any of the navmesh changes when an enemy dies (at least that I can tell), but I’m not sure of a way that I can rule it out entirely. I appreciate the idea
That’s something I hadn’t thought to check. I am using avoidance, and I tried turning it off and messing with the avoidance values but still no luck unfortunately.
You got me thinking about what I’ve added to the enemy characters, which is just a health bar widget and a socket. The widget was hidden, so I tried turning it visible to see what it was doing on enemy death. It sorta flopped around on the floor in a way that looked like the area that was affected. I had it set to hide on enemy death, so I destroyed it instead and it fixed the issue. For some reason the enemies were getting stuck on the health bars of all things, despite the widget also being set to the Ragdoll object type with no collision. The widget is a child component of the mesh so maybe simulating physics on the mesh also affected the widget and messed with its collision properties or something. I’m not really sure, but at this point I’ll gladly accept the fix.
Thanks for all the suggestions Auran, you’re a real one. This has been bugging me for so long, I love you