- Home /
 
Zombie is working fine but it's prefab is creating issue in animation in unity,Zombie is working fine but it's prefab is creating issue in animation in unity Ask Question
I am creating a FPS shooter game in unity.Bellow is the script i have used on zombie and it's working fine but when i create prefab of that zombie it also works but it stops doing the attack animation and other things are working fine what should i do now? Please help me.....I have used three different zombies and used same script on them all are working great but when i create prefab of those zombies they again create issue and stops doing attack animation although my health is decreasing when they come closer. please help me out in this i don't know if my code is wrong or i have done any mistake in unity settings but it's very difficult to do it and make it correct what should i do guys it's my final year project project and i am stuck in this very hard situation.
using System.Collections; using System.Collections.Generic; using UnityEngine;
 public class PlayerChaseWithoutFaceFollowing : MonoBehaviour {
     public Transform player;
     static Animator anim;
     // Use this for initialization
     void Start()
     {
         anim = GetComponent<Animator>(); // assigning component
     }
     // Update is called once per frame
     void Update()
     {
         Vector3 direction = player.position - this.transform.position; //to get the direction 
       
         if (anim.GetBool("Death"))
         {
             anim.SetBool("isWalking", false);
             anim.SetBool("isIdle", false);
             anim.SetBool("isAttacking", false);
         }
         else
         {
             if (Vector3.Distance(player.position, this.transform.position) < 10 )
             {
                 direction.y = 0;
                 this.transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(direction), 0.1f); // rotate enemy to player
                 anim.SetBool("isIdle", false); // no more idle state
                 if (direction.magnitude > 3) // start walking
                 {
                     this.transform.Translate(0, 0, 0.5f);
                     anim.SetBool("isWalking", true); //start walking animation
                     anim.SetBool("isAttacking", false);
                 }
                 else
                 {
                     anim.SetBool("isWalking", false);
                     anim.SetBool("isAttacking", true);
                 }
             }
             else
             {
                 anim.SetBool("isIdle", true);
                 anim.SetBool("isWalking", false);
                 anim.SetBool("isAttacking", false);
             }
         }
      
     }
 },I am creating a FPS shooter game in unity.Bellow is the script i have used on zombie and it's working fine but when i create prefab of that zombie it also works but it stops doing the attack animation and other things are working fine what should i do now? Please help me.....I have used three different zombies and used same script on them all are working great but when i create prefab of those zombies they again create issue and stops doing attack animation although my health is decreasing when they come closer. please help me out in this i don't know if my code is wrong or i have done any mistake in unity settings but it's very difficult to do it and make it correct what should i do guys it's my final year project project and i am stuck in this very hard situation.
 
               using System.Collections; using System.Collections.Generic; using UnityEngine;
 public class PlayerChaseWithoutFaceFollowing : MonoBehaviour {
     public Transform player;
  
     static Animator anim;
     //bool pursuing = false;
     // Use this for initialization
     void Start()
     {
         anim = GetComponent<Animator>(); // assigning component
     }
     // Update is called once per frame
     void Update()
     {
         Vector3 direction = player.position - this.transform.position; //to get the direction 
     
         if (anim.GetBool("Death"))
         {
             anim.SetBool("isWalking", false);
             anim.SetBool("isIdle", false);
             anim.SetBool("isAttacking", false);
         }
         else
         {
             if (Vector3.Distance(player.position, this.transform.position) < 10 )
             {
                 direction.y = 0;
                 this.transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(direction), 0.1f); // rotate enemy to player
                 anim.SetBool("isIdle", false); // no more idle state
                 if (direction.magnitude > 3) // start walking
                 {
                     this.transform.Translate(0, 0, 0.5f);
                     anim.SetBool("isWalking", true); //start walking animation
                     anim.SetBool("isAttacking", false);
                 }
                 else
                 {
                     anim.SetBool("isWalking", false);
                     anim.SetBool("isAttacking", true);
                 }
             }
             else
             {
                 anim.SetBool("isIdle", true);
                 anim.SetBool("isWalking", false);
                 anim.SetBool("isAttacking", false);
              
             }
         }
     }
 }
 
              Your answer
 
             Follow this Question
Related Questions
how to call the animation of prefab 0 Answers
Change transform of a prefab having an animation 1 Answer
how to replace multiple game objects with different transform component with same prefab? 1 Answer
Creating a weapon database from prefabs 1 Answer
A Question about applying changes to nested prefabs 0 Answers