how to make an object follow the player in unity
Add this to the zombie(s):
//You may consider adding a rigid body to the zombie for accurate physics simulation
private GameObject wayPoint;
private Vector3 wayPointPos;
//This will be the zombie's speed. Adjust as necessary.
private float speed = 6.0f;
void Start ()
{
//At the start of the game, the zombies will find the gameobject called wayPoint.
wayPoint = GameObject.Find("wayPoint");
}
void Update ()
{
wayPointPos = new Vector3(wayPoint.transform.position.x, transform.position.y, wayPoint.transform.position.z);
//Here, the zombie's will follow the waypoint.
transform.position = Vector3.MoveTowards(transform.position, wayPointPos, speed * Time.deltaTime);
}
//Add this to the player
//In the editor, add your wayPoint gameobject to the script.
public GameObject wayPoint;
//This is how often your waypoint's position will update to the player's position
private float timer = 0.5f;
void Update ()
{
if(timer > 0)
{
timer -= Time.deltaTime;
}
if(timer <= 0)
{
//The position of the waypoint will update to the player's position
UpdatePosition();
timer = 0.5f;
}
}
void UpdatePosition()
{
//The wayPoint's position will now be the player's current position.
wayPoint.transform.position = transform.position;
//Now, create an empty gameobject and make its position equal to the player's position, however, do NOT parent it. Name the empty gameobject "wayPoint". Within the editor, add the waypoint to the player. Be aware that this is a VERY basic script.
}