How to make projectile hit SkeletalMeshComponent and not CapsuleComponent for Character

I’ve searched and read everything I could but I’ve not been able to find a solution to this. Anytime it has come up, it appears that no solution exists.

What I have is a Blueprint derived from the Character class. I only have the standard components: CharacterMovement, [Root] CapsuleComponent, ArrowComponent, and SkeletalMeshComponent. Everything works great for this character. They collide with static geometry, they animate as intended, the use the navigation system to get around, etc. They are a NPC in my game.

I also have my player that can fire a projectile. Right now this projectile is just a small sphere with a ball as a mesh. This all works as intended: the projectile fires into the scene and hits things. I receive Hit events as expected, and all is well.

However, when it comes to my NPC, the projectile nearly always hits the NPC’s CapsuleComponent (as determined by the projectile’s “Event Hit” event graph). Sometimes I manage to hit the SkeletalMeshComponent, but this is only when the NPC’s bones animate outside of the CapsuleComponent’s bounds (such as the arms sticking out to the side). So it seems that I have everything in my SkeletalMeshComponent set up correctly to trigger a hit with my projectile.

What I would like to have happen is for the projectile to never hit the NPC’s CapsuleComponent, and always only hit the SkeletalMeshComponent. This seems like a common task, such as determining if I’ve hit the NPC’s head for a headshot, etc.

To set this up, I have my projectile object (just derived from Actor) with its CollisionComponent set with the Projectile collision presets. For the NPC, their CapsuleComponent is set with the Pawn collision presets except that I’ve set the Projectile collision response to ignore. The NPC’s SkeletalMeshComponent is set with the CharacterMesh collision presets.

Please help? This is with 4.4.2. Thanks!

In the defaults tabs.
For the projectile Set the collision preset to pawn world dynamic. Check simulate generates hit events is on
For the capsule set the collision to pawn then change to custom then set to ignore world dynamic. Check simulate generates hit events is off
For the mesh set the collision to character mesh and check it blocks world dynamic. Check simulate generates hit events is on.
You can then use the break hit result to get the head bone for dealing some serious damage and enjoy popping caps.
These settings are from memory and took a long time to get the collisions right so try it then let me know how you get on. Any problems I can check my project tomorrow.

1 Like

Thanks for the suggestion. It worked! I wouldn’t have guessed to use World Dynamic for this. I’m disappointed that manipulating Projectile collision responses wouldn’t just work, as that seems the intuitive thing to do.

I’m having the same problem and wasn’t able to fix that. Gnometech can you please point out which collisions are on Cylinder and which on Projectile?