如何在团结一致时平滑相机?

时间:2016-03-16 03:44:32

标签: unity3d camera

我正在努力进行一场无休止的跳投,变成一种更加糟糕的比赛。上升的相机是超级顺畅的,但在下来的路上它非常生涩。

我不知道如何使用脚本跟随播放器而不是混蛋。

相机正在上升:

 float newHeightOfCamera = Mathf.Lerp(currentCameraHeight, playerHeightY, Time.deltaTime * 10);
 transform.position = new Vector3(transform.position.x, newHeightOfCamera, transform.position.z);

相机停机:

 float newHeightOfCamera = Mathf.Lerp(currentCameraHeight, playerHeightY - fallCamera, Time.deltaTime);
 transform.position = new Vector3(transform.position.x, newHeightOfCamera - cameraFallLocation, transform.position.z);

在向下的路上,播放器会移动到屏幕顶部并设置为固定速度。

 pc.GetComponent<Rigidbody2D>().velocity = new Vector2(0, fallSpeed);  //changes falling speed

2 个答案:

答案 0 :(得分:0)

我仍在等待回复我的评论,但是对于90%的问题,只需将所有代码示例从Update移至LateUpdate(或甚至从{{1到FixedUpdate)。在大多数情况下这就足够了。但是,我们还需要了解更多细节,以确保它是解决方案。

答案 1 :(得分:0)

对不起,我从这个游戏中休息了,因为它令人沮丧。这就是我想出来的

这是为了堕落。我最终不需要相机赶上我只是想让它静止。

        float newHeightOfCamera = playerHeightY - fallCamera;
        transform.position = new Vector3(transform.position.x, newHeightOfCamera - cameraFallLocation, transform.position.z);

fallCamera是相机的位置。我希望角色在上升时位于屏幕底部,在下降时位于屏幕顶部。