我知道如何随时间移动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(大约)。
你知道为什么会发生吗?
预先感谢