利用forward和right值从代码中进行控制动画播放。
在代码中灌进去forwardheright值;在灌之前要进行判断(没有lock的状态就和以前一样)当处于forward的时候要重新进行计算值
if (camcon.lockState == false)
{
//坐标系计算+动画补间旋转
float targetRunMulti = ((pi.run) ? 2.0f : 1.0f);//走路到跑步切换加入缓动
anim.SetFloat("forward", pi.Dmag * Mathf.Lerp(anim.GetFloat("forward"), targetRunMulti, 0.5f));//把Dup的值喂给Animator里面的forwad
anim.SetFloat("right", 0);
}
else
{
Vector3 locaDVec = transform.InverseTransformVector(pi.Dvec);
anim.SetFloat("forward", locaDVec.z * ((pi.run) ? 2.0f : 1.0f));
anim.SetFloat("right", locaDVec.x * ((pi.run) ? 2.0f : 1.0f));
}