问题描述
当玩家向前移动时,摄像机应该跟随,除非玩家向左和向右移动。此外,当玩家像在寺庙跑步中一样沿着路径旋转 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 对象拖到播放器插槽。
现在你已经完成了,希望这对你有帮助!