Hello all, I am implementing a player controlled quadruped character (it is a horse). In order to get more accurate collision detection between skeletal mesh component of character and static mesh actors in the world, I am trying to use the physics asset assigned to skeletal mesh component. But it is not working.
I have ensured that
1- I am using correct collision presets for character and static mesh actors (both have “Block” for each-other’s object type)
2- Character skeletal mesh component has following (please refer to attached photos, "skm_*)
- “Collision Enabled (Query and Physics)”
- “Simulation Generates Hit Event” set to true
- “Simulate Physics” set to true
- Physics asset assigned to it
- In the blueprint, I have “On Component Hit” event which would print a string if a hit was detected
3- Static mesh component has following (please refer to attached photos, "static_mesh_*)
- Simple collision geometry
- “Collision Enabled (Query and Physics)”
In the attached photo (PIE_show_collision_1) you will see that physics asset shapes are present on horse but it is only the capsule component (thick blueish cylinder) which stops the horse from going further into the wall (PIE_show_collision_2). I was hoping that physics asset shape on the head of the horse would detect the collision and stop the horse from overlapping the wall; that didn’t happen (skeletal mesh “On Component Hit” event didn’t fire either).
Only time collision between head of the horse and the static mesh (wall) was detected was when I enabled “Simulate Physics” on the static mesh (even with “Simulate Physics” set to false on the horse!!). I don’t want to use “Simulate Physics” on static mesh actors because of performance reasons (and I don’t need physics on them in any case).
I am now wondering if it is possible at all to use skeletal mesh physics asset to detect collisions with static meshes ? If the answer is yes, what am I missing ? I would really appreciate any help (I have spent several days searching online and trying different things but nothing has worked yet). I am comfortable adding/modifying C++ code if that is needed. Just need some direction where to look.