- Home /
Attack Animation Trigger
Hello, I have animation, animation code and enemy health code.
Animation Code
void Update () {
if(Input.GetButtonDown ("Fire1"))
{
CurrentWeapon.animation.CrossFade("P_axe_anim");
}
Health Code
void OnTriggerEnter (Collider other)
{
if (other.collider.tag == "Weapon")
{
Health--;
Debug.Log (Health);
}
}
This is health code but Health variation never decrease. It's my problem. And this codes in different files.
I am assu$$anonymous$$g you are putting a collider on your weapon and have a collider on the enemy. Based off that your goal is to detect when the collider of the weapon collides with an enemy collider, then apply damage.
Some things you should note:
-$$anonymous$$ake sure your attack animation is not too fast (if your attack animation's amount of frames is too small (maybe your attack is 3-5 frames or something), your collider will jump from pointA in frameA, pointB in frameB, etc... potentially jumping "through" the enemy collider.
-$$anonymous$$ake sure your physics options (edit>project settings>physics) are set up to allow for the layers to collide
Solutions:
If your collider is in fact jumping through the enemy collider because there simply isnt enough frames in your animation: you should either get a new animation that has more frames per second, or set up a system that does not rely on the collision of objects (detect the angle of attack, raycast, etc)
If your physics options arent set up correctly, doing so will fix your issue
Your answer
Follow this Question
Related Questions
Where is the problem? 0 Answers
How to play an animation on button press only in trigger stay? 1 Answer
How do I trigger an animation using a button? 3 Answers
Optimize hundreds of objects 2 Answers
Unity 5.0 and alternative for triggering complex meshes. 2 Answers