How can I make enemy rotate and go towards the target position automatically instead of using
Input.GetAxis
I tried
Enemy2.rotation = Quaternion.Lerp(Enemy2.rotation, Quaternion.LookRotation
(target.position - Enemy2.position), rotationSpeed*Time.deltaTime);
Which worked almost perfect when I had my target and enemy Transforms.
The only problem with that was that when rotating it was also spinning.
// FALLOW TARGET AND RESET BACK TO TOP
var target : Transform; //the enemy's target
var moveSpeed = 6; //move speed
var rotationSpeed = 0; //speed of turning
var MinSpeed : float;
var MaxSpeed : float;
var currentSpeed : float;
var Enemy2 : Transform; //current transform data of this enemy
function Start()
{
target = GameObject.FindWithTag("Player").transform; //target the player
}
function Update () {
//rotate to look at the player
Enemy2.rotation = Quaternion.Lerp(Enemy2.rotation,
Quaternion.LookRotation(target.position - Enemy2.position), rotationSpeed*Time.deltaTime);
//move towards the player
Enemy2.position += Enemy2.forward * moveSpeed * Time.deltaTime * 1.5; // <-- Adjust Speed Going Down
if (transform.position .y <= 0) // <-- Adjust Speed Up Atack Distance
{
transform.Translate(Vector3.down * .08, Space.World);
}
if (transform.position .y <= -4.2) // <-- Adjust When To Reset Position Back To Top
{
currentSpeed = Random.Range(MinSpeed, MaxSpeed);
x = Random.Range(-6f, 6f);
y = 7.0f;
z = 0.0f;
transform.position = new Vector3(x, y, z);
}
}