# Making an enemy face the Player

 0 I am trying to make the enemy look at the player and follow him, however I can't just use transform.LookAt since I want the motion to be realistic and not immediately snap to face the player. so what I was doing is calculate the angle between the player and the enemy an rotating the enemy with a certain speed to that angle, like so: `````` angleToTarget = Mathf.Atan((moveTo.x - transform.position.x) / (moveTo.z - transform.position.z)) * Mathf.Rad2Deg; transform.eulerAngles = new Vector3(0, Mathf.MoveTowardsAngle(transform.eulerAngles.y, angleToTarget, Time.deltaTime * horizontalRotation), 0); ``````This is working for certain angles but at some point (I can't figure out when exactly) the enemy rotates exactly the opposite way that it should be facing.Can anyone help please ? more ▼ asked Oct 11 '11 at 10:29 AM jonathan.sant 16 ● 8 ● 8 ● 9 two suggestions: 1) make sure the enemy forward is Z+ axis, not Z- axis 2) angles are 360 for a circle, why not just add or subtract 180 from the result? Oct 11 '11 at 10:44 AM BerggreenDK Sorry but I didn't get your first comment. moveTo is the player's position in this case while the transform is that of the enemy. As for the second one, I thought of that but the problem is that I can't figure out exactly when it suddenly decides to rotate to the other way. Oct 11 '11 at 11:06 AM jonathan.sant hmm ... oh yeah ... Tan and ATan only give values from 90 to -90 that's why Oct 11 '11 at 11:40 AM jonathan.sant add new comment (comments are locked) 10|3000 characters needed characters left ▼ Viewable by all users

 0 Since Tan and ATan can only return values between 90 and -90 I had to use ATan2 like so: ``````angleToTarget = Mathf.Atan2((moveTo.x - transform.position.x), (moveTo.z - transform.position.z)) * Mathf.Rad2Deg; transform.eulerAngles = new Vector3(0, Mathf.MoveTowardsAngle(transform.eulerAngles.y, angleToTarget, Time.deltaTime * horizontalRotation), 0); `````` more ▼ answered Oct 11 '11 at 12:10 PM jonathan.sant 16 ● 8 ● 8 ● 9 add new comment (comments are locked) 10|3000 characters needed characters left ▼ Viewable by all users

By Email:

Topics:

x2166
x653
x211
x97

asked: Oct 11 '11 at 10:29 AM

Seen: 1081 times

Last Updated: Oct 11 '11 at 12:10 PM