Godot Version
Godot 4.5
Question
So I’m a little confused how to implement a specific type of animation into my game. I currently making some simple temporary animations for a prototype sword fighting game I’m working on and animations have been for the most part pretty straight forward. However I’m a little confused on how to implement a blocking animation.
Currently in my game, if a strike is blocked by shield, the swords damage collider turns off and the current “swing” animation instantly returns to idle. However, that instant transition is obviously very jarring. What I want to do add a sort of impact animation on the sword when it hits a shield before it returns back to idle.
The issue is that the swing animation isn’t always blocked in the same spot. The block can be triggered at the beginning, middle, or end of the swing animation depending on when the sword enters the shields area3d. How do I make whatever impact animation I make start at the spot where sword was blocked?
I know I can get the position in seconds of where the current “swing” animation is at the time it’s blocked, but it seems like overkill to make multiple “impact” animations for every single possible point the swing can be blocked at.
How is this usually done?