hi, I am writing a npc code. how can I stop at a certain point? thanks…
WAYPOINT CODE:
var lastPos: Vector3;
function OnDrawGizmos () {
var waypoints = gameObject.GetComponentInChildren(Transform);
for (var waypoint : Transform in waypoints ){
Gizmos.color = Color.red;
Gizmos.DrawSphere(waypoint.position,.5);
Gizmos.color = Color.yellow;
Gizmos.DrawLine(waypoint.position,lastPos);
lastPos = waypoint.position;
}
}
NPC CODE:
var spawnPoints : Transform;
var targetPoint : Transform;
private var waypoint = new Array ();
private var distance : float;
private var counter : int = 0;
function Start () {
var i = 0;
for (var child : Transform in spawnPoints){
waypoint[i] = child;
i++;
}
}
function Update () {
distance = Vector3.Distance(transform.position,waypoint[counter].position);
var relativePos = waypoint[counter].position - transform.position;
var rotation = Quaternion.LookRotation(relativePos);
transform.rotation = Quaternion.Slerp(transform.rotation,rotation,Time.deltaTime * 2);
transform.Translate(Vector3.forward/10);
if(distance<=1){
counter++;
}
if(distance){
animation.CrossFade("walk");
}
if(counter>=waypoint.length){
counter=0;
}
}