Unity Character Controller 人物向前平滑移动一小段距离

Unity Character Controller平滑移动 当按钮按下的时候人物平滑的向前移动一小段距离。我是用来做人物翻滚动作时没有根位移只能自己写,但是用角色控制器的话只能用Move( ),和SimpleMove( )函数来写移动,这两个写出来要么像瞬移,要么按住之后一直位移。我想要的效果时按一下平滑的位移一小段距离,求大神帮忙解答

float timer = 0;
void SkillOne()
{
Debug.Log(anim.GetCurrentAnimatorClipInfo(0)[0].clip.name);
//获取Animator当前播放的动画Name
//if(anim.GetCurrentAnimatorClipInfo(0)[0].clip.name!="evadeSword")
if (!anim.GetCurrentAnimatorStateInfo(0).IsTag("skill"))
{
anim.SetTrigger("triSkillOne");
timer = 0;
StartCoroutine("EvadeMove");
}
}

float evadeSpeed = 5f;
//翻滚
IEnumerator EvadeMove()
{
    yield return new WaitForEndOfFrame();
    timer += Time.deltaTime;
    cc.Move(transform.forward * evadeSpeed * Time.deltaTime);
    if (timer < 0.5f)//在0.5秒内每帧调用一次
        StartCoroutine("EvadeMove");
    else//大于0.5秒不在移动
        StopCoroutine("EvadeMove");

}