使用按钮移动变换

时间:2018-10-04 12:58:42

标签: unity3d vector lerp

我知道如何随时间移动GameObject,但是我有一个奇怪的错误。

我正在尝试创建漂亮的动画,使相机在单击按钮时向前移动,在单击第二个按钮时向后移动。

我正在使用here中的代码来制作动画,并且遇到了奇怪的问题。

这是我的代码:

private float time = 5, current;
public void MoveBackward()
{
   StartCotoutine(MoveTo(Vector3.zero));
}

public void MoveForward()
{
   StartCotoutine(MoveTo(new Vector3(0,0,15)));
}
private IEnumerator MoveTo(Vector3 target)
{
   current=0;
   while(transform.position!=target)
   {
     transform.position = Vector3.Lerp(transform.position, target, current/time);
     current = Mathf.Clamp(current+Time.deltaTime,0,time);
     yield return null;
   }
}

向前运动效果很好,但是由于某些原因,当我尝试向后运动时,它运动得太快。 我尝试打印结果(当前/时间),并且在向后移动时,转换到达目标位置时,结果为0.1(大约)。

你知道为什么会发生吗?

预先感谢

0 个答案:

没有答案