I have a problem. I try to make a AI that has a rout, marked with WayPoints. But I also want it to look for the player and as soon as it is near the AI it should hunt it. But when the AI get to far a way from his next WayPoint it goes back there! this is all working fine, but now i try to get a Raycast setup working. I want the AI to hunt the Player only if he can "see" him. this is the code i am using right now. The AI is now only going his path and shows no reaction to the player. can somebody help?
var waypoint : Transform [];
var speed : float = 20;
private var currentWaypoint : int;
var loop : boolean = true;
var dist = 60;
var hunt = 100;
var player : Transform;
var hit : RaycastHit;
var see: boolean;
function Update () {
if(currentWaypoint < waypoint.length){
var target : Vector3 = waypoint[currentWaypoint].position;
var moveDirection : Vector3 = target - transform.position;
var distFromPlayer : Vector3 = player.position-transform.position;
var velocity = rigidbody.velocity;
if(moveDirection.magnitude<1){
currentWaypoint++;
}
else if(distFromPlayer.magnitude < dist && see == true){
velocity = Vector3.zero;
target = player.position;
velocity= (player.position-transform.position).normalized * speed;
if((player.position - waypoint[currentWaypoint].position).magnitude >hunt){
taget = waypoint[currentWaypoint].position;
velocity = moveDirection.normalized * speed;
}
}
else{
velocity = moveDirection.normalized * speed;
}
}
else{
if(loop){
currentWaypoint = 0;
}
else{
velocity = Vector3.zero;
}
if(Physics.Raycast(transform.position, moveDirection,hit,dist) &&hit.collider.gameObject== player.gameObject){
see = true;
}
}
rigidbody.velocity = velocity;
transform.LookAt(target);
}