pretty sure that whenevery you raycast towards a something, you get the normal value. you might wanna look at those gun tutorials that leave bulletholes
if the dummy goes too fast against a thin wall it is likely to go straight through without detecting a collision. for projectile collision detection, using raycasting is always reccomended.
what you can do for instance, is to define a nextpos, raycast between the currentpos and the nextpos, and if there’s nothing in between, you could put it there.
Looks like there’s a raycast method for that. If you’re still not considering raycast, your option is limited to the so-called cross product to get the normal.