- Home /
Ai for Enemy
Hi, I'm new to Unity and I'm moving in enemy AI I known a script but do not shoot my enemy can still help me?
var waypoints : Transform[]; var speed:float = 20; private var currentWaypoint : int; var loop : boolean = true; var player : Transform; var dontComeCloser = 5; var range = 20; var guMuzzleFlash : Renderer;
function Update () { if(currentWaypoint < waypoints.length) { var target : Vector3 = waypoints[currentWaypoint].position; var moveDirection : Vector3 = target - transform.position; var distanceFromPlayer : Vector3 = player.position - transform.position;
var velocity = rigidbody.velocity;
if(moveDirection.magnitude<1)
{
currentWaypoint++;
}
else if(distanceFromPlayer.magnitude <= dontComeCloser)
{
gunMuzzleFlash = false;
velocity = Vector3.zero;
target = player.position;
Fire();
}
else if(distanceFromPlayer.magnitude < range && distanceFromPlayer.magnitude > dontComeCloser)
{
velocity = Vector3.zero;
target = player.position;
velocity = (player.position - transform.position).normalized * speed;
if((player.position - waypoints[currentWaypoint].position).magnitude > 50)
{
target = waypoints[currentWaypoint].position;
velocity = moveDirection.normalized * speed;
}
}
else
{
velocity = moveDirection.normalized * speed;
}
}
else
{
if(loop)
{
currentWaypoint = 0;
}
else
{
velocity = Vector3.zero;
}
}
rigidbody.velocity = velocity;
transform.LookAt(target);
}
function Fire() { gameObject.Find("EGunpoint").SendMessageUpwards("FireGun"); }
Your answer
Follow this Question
Related Questions
A node in a childnode? 1 Answer
How do I make the enemy stop walking and shoot the player? 1 Answer
Enemy turn AI 2 Answers
how to make gunshots 0 Answers
Shoot Bullet At Touch Position : 2D 1 Answer