Unity3d 当玩家死亡时摄像机变焦,并聚焦玩家位置c#

Unity3d 当玩家死亡时摄像机变焦,并聚焦玩家位置c#,unity3d,camera,zooming,Unity3d,Camera,Zooming,我正在开发无尽的游戏。当玩家死亡时,摄像机变焦并聚焦到玩家的位置。我尝试了,几乎完成了。要缩放相机,我使用正交大小并将焦点对准使用transform.LookAt()的播放器在玩家死亡时聚焦玩家位置。但问题是当摄影机缩放场景时,整个场景会旋转。我创建了CameraScript并连接到主摄影机 [SerializeField] private Camera gameCam; [SerializeField] private Transform[] target; IEnumerator Zoo

我正在开发无尽的游戏。当玩家死亡时,摄像机变焦并聚焦到玩家的位置。我尝试了,几乎完成了。要缩放相机,我使用
正交大小
并将焦点对准使用
transform.LookAt()的播放器
在玩家死亡时聚焦玩家位置。但问题是当摄影机缩放场景时,整个场景会旋转。我创建了CameraScript并连接到主摄影机

[SerializeField]
private Camera gameCam;

[SerializeField]
private Transform[] target;

IEnumerator ZoomIn(){

    while (gameCam.orthographicSize > 3) {
        yield return new WaitForSeconds (0.01f);
        transform.LookAt (target [index]);
        gameCam.orthographicSize -= 0.1f;
    }

}

public void ZoomCam(){

    StartCoroutine (ZoomIn ());

}

如果有任何错误,请帮助我使用该脚本..谢谢..

我认为这是因为您在调用
transform.look(…)
时没有设置
worldUp
参数

我建议使用相机自身的电流上方向向量作为该参数,即

transform.LookAt (target [index], transform.up);
我希望这有帮助

编辑:
当然,只有当您的相机最初的方向与您预期的方向一致时,这才有效。否则,您必须使用您选择的向量作为第二个参数。

Hmmm…“当摄影机缩放场景时,整个场景都会旋转”-您能澄清一下这是什么意思吗?也许有更多的细节,一个GIF或之前/之后的屏幕截图?在这种情况下,视觉辅助可能会有所帮助。这意味着,当相机在死亡时聚焦到玩家,然后整个场景旋转时,很抱歉,不允许上传游戏截图。@DarshanSoni我建议您查看屏幕。第二个参数指定摄影机上方向向量的方向,从而使其完全按照所需的方向定向。祝你一切顺利!谢谢@andeart,但我已经试过了。使用Vector3.up&所有其他参数作为Lookat()中的第二个参数,但它不起作用。当我运行游戏时,它没有效果。