- Home /
Enemy AI Script Acting Abnormal
Hi!
I have this problem with my AI that I can't seem to fix...I have it set so it chases the player and dodges objects while it can't see the player so then it can get to the player and start chasing again.
All that works great but I have the problem where when the player runs behind a wall (the ai would being going to where he last say the player at this time and then when getting there...chasing the player if it can see him)
and then runs behind another wall, the ai comes to where it last saw the player and starts to chase him again only if it can see him (which in this case...it can not) So the problem is when the player is behind another wall after running away for the enemy and the ai can't see the player once it is already where it say him last, the ai freaks out. Now in this case I wanted the ai to start to "wander" around again in search for the player but when I tell the ai to start to wander sence it can't see the player...IT FREAKS OUT.
I don't know why and I can't figure it out. The ai freaks out by spinning in circles and continously picking new waypoints...any ideas? please help and Thank You! (Code Below for the part I know is the problem.)
if(chasing == false && GetComponent(EnemyWander).Wander == false && AtPosition == false) {
var distance3 = (GetComponent(EnemyRaycast).LastPlayerPosition - myTransform.position).magnitude;
myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(GetComponent(EnemyRaycast).LastPlayerPosition - myTransform.position), rotationSpeed*Time.deltaTime);
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;;
if(distance3 <= 0.5) {
AtPosition = true;
chasing = true;
GetComponent(EnemyDodge).Attack = true;
}
}
if(GetComponent(EnemyRaycast).CantSee == true && AtPosition == true) {
chasing = false;
GetComponent(EnemyDodge).Attack = false;
GetComponent(EnemyWander).Wander1();
GetComponent(EnemyWander).Wander = true;
if(distance3 >= 2) {
AtPosition = false;
}
}
If more info is needed..just comment! (I have 4 scripts...One for dodging, one for the raycast, one for the wandering, and one for shooting and general stuff)