- Home /
,,SeekSteer" problem...
I took the SeekSteer script from the http://www.unifycommunity.com/wiki/index.php?title=SeekSteer site.
using UnityEngine; using System.Collections;
public class SeekSteer : MonoBehaviour {
public Transform[] waypoints;
public float waypointRadius = 1.5f;
public float damping = 0.1f;
public bool loop = false;
public float speed = 2.0f;
public bool faceHeading = true;
private Vector3 currentHeading,targetHeading;
private int targetwaypoint;
private Transform xform;
private bool useRigidbody;
private Rigidbody rigidmember;
// Use this for initialization
protected void Start ()
{
xform = transform;
currentHeading = xform.forward;
if(waypoints.Length<=0)
{
Debug.Log("No waypoints on "+name);
enabled = false;
}
targetwaypoint = 0;
if(rigidbody!=null)
{
useRigidbody = true;
rigidmember = rigidbody;
}
else
{
useRigidbody = false;
}
}
// calculates a new heading
protected void FixedUpdate ()
{
targetHeading = waypoints[targetwaypoint].position - xform.position;
currentHeading = Vector3.Lerp(currentHeading,targetHeading,damping*Time.deltaTime);
}
// moves us along current heading
protected void Update()
{
if(useRigidbody)
rigidmember.velocity = currentHeading * speed;
else
xform.position +=currentHeading * Time.deltaTime * speed;
if(faceHeading)
xform.LookAt(xform.position+currentHeading);
if(Vector3.Distance(xform.position,waypoints[targetwaypoint].position)<=waypointRadius)
{
targetwaypoint++;
if(targetwaypoint>=waypoints.Length)
{
targetwaypoint = 0;
}
}
}
// draws red line from waypoint to waypoint
public void OnDrawGizmos()
{
Gizmos.color = Color.red;
if(waypoints==null)
return;
for(int i=0;i< waypoints.Length;i++)
{
Vector3 pos = waypoints[i].position;
if(i>0)
{
Vector3 prev = waypoints[i-1].position;
Gizmos.DrawLine(prev,pos);
}
}
}
}
But when my car reaches the first waypoint it keeps moving on and crashes into the first wall...it goes directly forward. Why my car keeps going on and doesn't stop at the first waypoint?
Comment
Answer by AbsoluteBreeze · Mar 02, 2011 at 06:58 PM
Adjust your waypoint radius to something much greater.
Your answer
![](https://koobas.hobune.stream/wayback/20220613094831im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Traffic Script 1 Answer
Good AI for vehicles 3 Answers
Car Ai - Calculate max corner speed 1 Answer
Animay play in editor 0 Answers
AI Script attached to Enemy and is Rotating around player 0 Answers