Character controller movement

I am making third person shooter. I want to use character controller, it is given in manual about - input getaxis , horizontal or vertical whatever it is. But my problem is → I am able to move it correctly but want to play separate animations for movin’ forward or backwards. I want a code which moves my player in a specific direction if a key is pressed, not like getaxis so that i can play different animations for different moves. AND USE CHARACTER CONTROLLER. As like transform.Translate but using character controller and Input.GetKey.
Make it like

If (Input.GetKey(KeyCode.UpArrow))

// code to move forward using character controller not transform.Translate(0,0,0.1)


Seems like you need animation.CrossFade();

An example of its use can be found in the Unity Scripting Ref:

// Makes a character contains a Run and Idle animation 
// fade between them when the player wants to move
function Update () 
        if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1)