No gravity on NPC. Floating above the ground.

I have a problem with NPC grounding… cant seem to make them stay on the ground at the moment.

The guy Jeremy Boggs, he is floating above the ground. The code for the NPC waypoint walking is below.

var waypoint : Transform[];
var speed : float = 1.5;
private var currentWaypoint : int = 0;
var loop : boolean = true;
var player : Transform;
private var character : CharacterController;

function Start ()
{
    character = GetComponent(CharacterController);
}

function Update () 
{       
    if(currentWaypoint < waypoint.length)
    {
        var target : Vector3 = waypoint[currentWaypoint].position;
        target.y = transform.position.y; // keep waypoint at character's height
        var moveDirection : Vector3 = target - transform.position;
        if(moveDirection.magnitude < 1)
        {
            transform.position = target; // force character to waypoint position
            currentWaypoint++;
        }
        else
        {
            transform.LookAt(target);
            transform.rotation.x = 0;
			transform.rotation.z = 0;
			
            character.Move(moveDirection.normalized * speed * Time.deltaTime);
            
        }
    }
    else
    {
        if(loop)
        {
            currentWaypoint=0;
        }
    }

}

how can I make the NPC stick to the ground no matter what the terrain is. He seems to just float at a certain y axis and if he hits any collider he bumps up higher but never falls back to the ground.

What am I missing or doing wrong?

Thanks in advance,
Roman

I fugured this out by adding a character controller to the NPC and changing the patrol script to use the CC and not a rigid body.

See this link http://forum.unity3d.com/threads/181705-GroundNPC?p=1241872#post1241872 . I hope this help