- Home /
What's causing my NPC Controller to invert? Please Help!!
I'm trying to make a NPC Controller race along a track using waypoints to guide it. I've checked to make sure that the waypoints themselves have the same y value, are in order in the inspector, and are all at the same rotation. But, as soon as I play my game, the NPC Controller immediately rotates vertically, and transforms it's y value so that it's positioned nose down and vertical above the water. I don't know what's causing this, but I wanted to see if it's maybe something in the code. If anyone would be willing to either provide new code/inform me of what to edit, it would be greatly appreciated. Here's the code for reference. Thank you so much!!
var currentWP: int = 0;
//the array of waypoints in order of visiting
//can be made up of any game objects
var waypoints: GameObject[];
var speed: int = 5;
var rotationSpeed: int = 2;
//how close to get to the waypoint to consider having reached it
var accuracy: Number = 5;
function Update ()
{
if(waypoints.length == 0) return;
if(Vector3.Distance(waypoints[currentWP].transform.position,transform.position) < accuracy)
{
currentWP++;
if(currentWP >= waypoints.length)
{
currentWP = 0;
}
}
//rotate towards target
var direction = waypoints[currentWP].transform.position - transform.position;
transform.rotation = Quaternion.Slerp(transform.rotation,Quaternion.LookRotation(direction), rotationSpeed * Time.deltaTime);
transform.Translate(0, 0, Time.deltaTime * speed);
}
Comment