Adding rotation data to wapoints script
Hi, I'm using the following script to make a waypoints system. I seems to work fine apart from that it doest take the rotation of the waypoint in to account, any idea on how I add this?I would lie it to smoothly look in each waypoint's X axis direction.
Thanks
using UnityEngine;
using System.Collections;
public class WaypointsMover : MonoBehaviour {
public Transform[] waypoints;
public float waypointRadius = 1.0f;
public bool loop = true;
public float speed = 2.0f;
private Vector3 currentHeading,targetHeading;
private int targetwaypoint;
private Transform _transform;
protected void Start () {
enabled = false;
_transform = transform;
if(waypoints.Length <= 0) {
Debug.Log("No waypoints on " + name);
enabled = false;
}
targetwaypoint = 0;
}
protected void Update() {
if(Vector3.Distance(_transform.position, waypoints[targetwaypoint].position) <= waypointRadius) {
targetwaypoint++;
if(targetwaypoint >= waypoints.Length) {
targetwaypoint = 0;
if(!loop)
enabled = false;
}
}
_transform.position = Vector3.MoveTowards(_transform.position, waypoints[targetwaypoint].position, Time.deltaTime * speed);
}
// Draws red line between waypoints, and sphere with radius
public void OnDrawGizmos() {
if(waypoints == null)
return;
for(int i=0;i< waypoints.Length;i++) {
Gizmos.color = new Color(0.9f, 0, 0, 0.3f);
Gizmos.DrawSphere(waypoints[i].position, waypointRadius);
Gizmos.color = Color.red;
Vector3 pos = waypoints[i].position;
if(i>0) {
Vector3 prev = waypoints[i-1].position;
Gizmos.DrawLine(prev,pos);
}
}
}
}
Comment
Your answer
Follow this Question
Related Questions
TopDown Look at mouse 0 Answers
LookAt only rotates on one axis inside particular block of code 0 Answers
make a self-driving car, combine Navimesh and waypoint? 1 Answer
Multiple patrolling enemies 0 Answers
How to update part of an A* grid 1 Answer