CharacterControllerでキャラクターを動かす場合、

//キー入力から速度を決める
velocity = Vector3(Input.GetAxis("Horizontal"),0,Input.GetAxis("Vertical"));
velocity *= walkSpeed;

controller.Move(velocity * Time.deltaTime);

こんな感じで実装してるんだけど、ボタンが押された時に加速していって最高値で加速が止まり、離すと徐々に減速してくような動きになってて気持ち悪い。
ボタン押されたら即その値を加算したいんだがどうすればいいですか?
あ、上のコードは黄色のウニ本のやつそのまま持ってきてます。