GameDev : VFX Effects (Part II)!
We was on choose of what parameter pass to the animation.
In this case, Trigger I think is the solution, so we click on Trigger, and NAME THE ANIMATION TRIGGER
Now that we have the right parameter to pass, we need to set inside the Animator Inspector the CONDITION to trigger it.
Now the animation is ready.
The logic here is :
“Set the animation parameter or parameters, so we can CALL IT / THEM WHERE WE NEED”.
And because the Animator is a component, in code we use it exactly like other component.
We need a its reference, and we call the animation exactly where we need it.
Let’s do it!!
In Enemy script we create the handle to the Animator and in Start we initialize it and make a Null check.
Then, if we search on Unity documentation the Animator
https://docs.unity3d.com/ScriptReference/Animator.html
Let’s look at methods part, and find a SetTrigger()
https://docs.unity3d.com/ScriptReference/Animator.SetTrigger.html
The thing we have to do is simple call
animator.SetTrigger(“OnEnemyDeath”) where we need it.
Go to TriggerEnter2D, and check when Enemy collide with Player or with Laser
TIP : probably we want the animation start even when Enemy collide with the Shield.
For now I call only when it collide with Laser or Player.
If we make a try
nothing happen.
Why?
Let’s look at code
We check if collide with Player (or Laser), call the Damage() method, start the animation and destroy the object.
The logic is correct, so what’s happen.
The problem is here
In both cases, we try to run the animation, but in the NEXT FRAME we Destroy the object!
Basically, if we try to start the animation, but the object IN THE SCENE DON’T EXIST...
…THE ANIMATION NEVER START!
To fix this type of problem, we can call a delay into Destroy() method, so the object run the animation, THEN DESTROY ITSELF.
To make this “precise”, we can look at animation window and see how long the animation during.
It’s about 2.3f o 2.4f, so we inside Destroy we use a 2.6f, and try it
Let’s test it
The animation now works!
In the next article we finish to set up animation and fix some little bugs!