- 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