The way I have always done it is just enabling and disabling collision shapes as the animation changes.
If you are using Godot 3, you can use the disabled
property on CollisionShape
and CollisionShape2D
nodes. If you are using Godot 2, then you'll need to use the set_trigger
function, I think. It's been awhile since I've used Godot 2.
Then you can make a collision shape for each of the animations that need different collision shapes, like one for standing and another for crouching. Then when you change animations, you'll need to disable all of the collision shapes and then enable the specific collision shape you need for that animation.
Hopefully this helps :smile: