I’ve set up a character with an outer physics hull, and deeper in the same hierarchy, some ragdoll bodyparts are attached to various bones. When the app begins, I get E_PHYSICSCOLLISIONSTART twice, which is specifically about the Foot Bodies touching the ground.
But I never get E_PHYSICSCOLLISIONEND during walk cycles - it seems the fact that a parent body that remains in contact with the ground, prevents the E_PHYSICSCOLLISIONEND event from being issued in child bodies. I’ll be able to confirm this very soon, by disabling the outer physics hull, but I wanted to know if this is a known issue before I go digging around to find out why this is happening.
I’m subscribing anonymously to these events, as they are not sent to any node.
I also plan to move to node events, but I suspect the same issue will apply.
I should have added - I set up the collision layers and masks carefully.
This is for a Non Player Character:
Outer Hull has CollisionFilter::NonPlayerCharacter, CollisionFilter::Static
Bodyparts have CollisionFilter::NonPlayerCharacter, CollisionFilter::Static || CollisionFilter::PlayerCharacter
Finally, here’s my physics filters:
enum CollisionFilter
{
Default = 1,
Static = 2,
Kinematic = 4,
Debris = 8,
Trigger = 16,
PlayerCharacter = 32,
NonPlayerCharacter = 64,
Everything = -1 //all bits sets: DefaultFilter | StaticFilter | KinematicFilter | DebrisFilter | SensorTrigger
};