如何在 Unity 3D 中实现与 Temple Run 完全一样的相机跟随?

问题描述

当玩家向前移动时,摄像机应该跟随,除非玩家向左和向右移动。此外,当玩家像在寺庙跑步中一样沿着路径旋转 90 度时,相机应该通过平滑地旋转 90 度来跟随玩家。我怎样才能做到这一点?谁能提供一个C#脚本?

解决方法

如果您按照以下步骤操作,它应该可以工作:

1:在您的播放器上添加一个名为“CamPoint”的空游戏对象,并将其放置在您想要相机的位置。

https://i.stack.imgur.com/zIfbe.png

2:在您的相机上创建一个新脚本,将其命名为“CameraFollow”并将此代码放入其中:

    public Transform camPoint;
public Transform player;
public float heightFromGround;
float yPos;

// Update is called once per frame
void Update()
{
    RaycastHit hit;

    if (Physics.Raycast(player.position,transform.TransformDirection(Vector3.forward),out hit,Mathf.Infinity))
    {
        yPos = hit.point.y;
    }

    transform.position = new Vector3(camPoint.position.x,yPos + heightFromGround,camPoint.position.z);
    transform.LookAt(player.position);
}

3:设置从地面到相机高度的高度。

4:将 CamPoint 对象拖到相机上的 CamPoint 插槽,将 Player 对象拖到播放器插槽。

现在你已经完成了,希望这对你有帮助!