Why is my character's y axis randomly changing?

Okay, so I made a character, with a character controller. It’s walking on a plane (the geometric figure of course). But what’s really weird is that it randomly started looking like he’s walking on a slightly bumpy terrain. What could be going wrong? Here’s the script. (The other stuff is my gun system in progress)
var speed = 1.0;
var rotateSpeed = 3.0;
var gunon = 0.0;

function Update () 
{
	if (Input.GetAxis("Vertical") && Input.GetAxis("Horizontal"))
		transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);
		
   if (Input.GetAxis("Vertical") > 0.2)
   {
       var controller : CharacterController = GetComponent(CharacterController);
	   animation.CrossFade("Walk");
	   var forward = transform.TransformDirection(Vector3.forward);
       var curSpeed = speed * Input.GetAxis ("Vertical");
       controller.SimpleMove(forward * curSpeed);
	}
   else
   {
       if (gunon == 0.0)
			animation.CrossFade("Idle");
	}
	
	if (Input.GetAxis("Gun Pose"))
		gunon = 1.0;
	
	if (gunon == 1.0)
		animation.CrossFade("GunPose");
		if (Input.GetAxis("Gun Pose"))
			gunon = 0.0;
}

@script RequireComponent(CharacterController)

1 Answer

1

Nevermind. As for anyone who had this problem also. In the character controller change the step offset to 0. Thanks anyways everyone!