On the other hand, with the following setup (skel mesh instead of static mesh), the pawn goes through everything in the world that does not use “Simulate Physics”
Between these 2 setups there is nothing changed except the mesh (from static to skeletal).
I have an animated skeletal Suzanne that I am using for this second example.
*Note: When I use the skeletal mesh, I am setting the collision preset to “Pawn” on it, otherwise it will not collide with anything because the default preset is “NoCollision”
Also, in PhAT, I’ve set a capsule around the mesh and the simulation works just fine.
Ok, so I’ve fiddled a bit with this and it seems that sweep only works with skeletal meshes if the Collision Box is the root of the pawn.
This works:
Basically, if you take the example with the static mesh from the question, replace that mesh with a collision box, then add the skeletal mesh as a child, sweep will work.
Is this the correct behavior or should sweep also work with skeletal meshes as the root?
Unreal is encouraging devs to move everything to World space in the future. (hearsay, but I recall that local spaces will be deprecated in the future. Don’t quote me on that)
Anyway… here’s the API Doc for Add Actor World Offset as well, which indicates that “Only the root component is swept and checked for blocking collision, child components move without sweeping. If collision is off, this has no effect.”