I'm working on a throwing knife type weapon where a player free aims and then throws a knife. The knife spins through the air and on collision stops spinning and parents itself to the object it collided with. The spinning is handled via animation while the path of the knife is handled by physics.
One problem I'm facing is how to make sure that when the knife collides with an enemy that the knife will be facing towards them. At the moment what is happening sometimes is that the knife embeds into an enemy handle first. Which is obviously unrealistic. At the same time, I think it would be quite unreasonable for the knife to only "hit" the enemy if it collided blade first, since the rate at which the knife spins is beyond the player's control.
I've been watching a lot of slow killcam footage of similar weapons and each time the weapon is thrown it spins through the air and magically always ends up with the blade pointing at its target. For a game where the throwing distance will be consistent, this is quite straight forward to do. But I'm not quite sure how to predict this since there are many unpredictable factors involved eg. direction of the knife, rotation of the knife, position of the enemy, distance from enemy etc. If possible, I would prefer not to have to use complex prediction logic since the game will be for fairly low end devices. Is there a "smoke and mirrors" way to solve this?
Example: https://youtu.be/0fav8lFpBko?t=42s