2014-11-14 49 views
0

我想在角色变大时改变相机的距离。但我不希望它立即发生,而是让相机移动一两秒钟到位。逐渐将相机转换到另一个位置?

如何在一秒钟内将相机转换到特定位置?有没有一种方法来缓解,缓解过渡?

Vector3 position = new Vector3 (0, 0, -transform.localScale.x); 
    Camera.mainCamera.transform.localPosition = position; 

回答

1

不是每次都直接设置相机的位置,您可以声明一个公共Vector3作为目标。然后在您的更新功能(每帧调用)中,您可以使用Camera.mainCamera.transform.localPosition = Vector3.MoveTowards(Camera.mainCamera.transform.localPosition, targetPosition, speed * Time.deltaTime);

这会逐渐将您的相机移动到目标位置,最多为每帧speed * Time.deltaTime个单位。如果您想确保过渡需要一秒钟,那么您可以在更改目标位置的同时将speed设置为距离。

相关问题