1
The issue most likely has to do with the skin & bone animation. The polygon collider will not update itself every frame while the sprite is animating.
Your best option would be to use a simple collider instead, but if you really need it to be very accurate, you'll need the colliders to be placed on the objects and updated as they rotate/move around.
1
You can use Leshy's tools to split non uniform spritesheets: https://www.leshylabs.com/apps/sstool/
Your spritesheet is 32x32. I've used it before:
Only top voted, non community-wiki answers of a minimum length are eligible
Related Tags
sprites × 1036unity × 260
2d × 229
animation × 139
spritesheet × 91
libgdx × 90
c# × 87
xna × 87
java × 73
android × 66
textures × 58
collision-detection × 45
c++ × 37
javascript × 36
rendering × 36
movement × 36
opengl × 35
rotation × 34
graphics × 29
tiles × 23
pygame × 23
andengine × 23
monogame × 22
box2d × 21
cocos2d × 21