Swinging the axe – Attack Animation HowTo
Hello again,
I’m continuing postmortem posts about our game – Cure4Life.
And in this post I want to explain how we did axe attack animation.
Other weapons behave simpler as they don’t have any animation at all 
First, let me show how weapons are connected to the Player and how each Weapon is organised:

Hero has Weapons game object that is positioned in the middle of his chest.
This way Weapons object can be rotated to aim weapon in some particular direction:

(red dot is the pivot position of Weapons object)
This position is independent of weapon animation and it is also useful to know our weapon aiming to decide which enemies we hit 
Inside Weapons game object we have separate objects for each weapon.
Each weapon contains separate object for it’s sprite and other effects.
For example this is Cure4Life hierarchy:

Animation-wise axe is simple:
We have 3 animation:
- Idle – just one frame
- AxeSwing1 – axe swings from top to bottom
- AxeSwing2 – axe swings from bottom to the top

The interesting part is Animation controller.
We added Fire trigger and set up Idle animation as default.
There are 3 transitions: Idle->AxeSwing2, AxeSwing2->AxeSwing1, AxeSwing1->AxeSwing2.
They all are configured the same:

No exit time, zero transition duration and they are activated on Fire trigger.
This way, each time Fire is triggered, animation will switch between AxeSwing1 and AxeSwing2:

Another crucial part of attack animation is swing particles:

This is done mostly with default particle system and particle texture, which consists of 4 frames.
Here are axe’s swing particle system setting with some explanation:




Activating animation and particle system is pretty simple:
Animator.SetTrigger ("Fire");
Particles.Emit (Random.Range (1, 3));
Add some timeouts and input logic and we get this:

I hope this post is somewhat useful 
Here full Unity 5.5 project archive – Download Sample Project.
P.S. Don’t forget to play, rate and comment our game – Cure4Life 😉
Tags: LD37, postmortem, unity
