- Home /
Question by
inaudiblefuzz · Feb 19, 2019 at 01:21 AM ·
scripting beginnerenemy aienemies
Enemy AI Script He's Going in the wrong direction
I'm working on an Enemy AI script. I'm at the very beginning. This is what I have so far... (Attached).
When I go toward him instead of going at me he goes away from me. If I switch over from time.deltatime to a LookRotation(direction), 0.1f); it fixes the issue but I think that's the 'wrong' way to go about it?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chase : MonoBehaviour
{
public Transform player; //Access Player character
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Vector3.Distance(player.position, this.transform.position) < 10) //Distance between Player and Enemy
{
Vector3 direction = player.position - this.transform.position; //Direction from Player to Enemy
direction.y = 0; //Enemy only turns left and right
this.transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(direction), .1f * Time.deltaTime); //Enemy rotates toward Player
if (direction.magnitude > 5) //Minimum distance between Enemy and Player
{
this.transform.Translate(0, 0, 0.05f); //Moves Enemy forward
}
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Setting up a wave system 1 Answer
Player and Enemy Collision Problem 0 Answers
How to make enemies follow the player like arc shape 0 Answers
Help with falling enemy Unity 3D 0 Answers
Help with enemy scripts 0 Answers