对我来说,在视频中,相机似乎围绕着一个固定在播放器上的枢轴点(绿色)。然后摄像机指向玩家和选定敌人之间的确切中间位置(橙色点)。当敌人跳跃时,它看起来也有一个最大角度。

使用我制作的代码快速验证概念。然而,代码实际上只是一个概念证明:

public class CameraScript : MonoBehaviour
{
public Transform enemy;
public Transform player;
public float cameraSlack;
public float cameraDistance;
private Vector3 pivotPoint;
void Start()
{
pivotPoint = transform.position;
}
void Update()
{
Vector3 current = pivotPoint;
Vector3 target = player.transform.position + Vector3.up;
pivotPoint = Vector3.MoveTowards(current, target, Vector3.Distance(current, target) * cameraSlack);
transform.position = pivotPoint;
transform.LookAt((enemy.position + player.position) / 2);
transform.position -= transform.forward * cameraDistance;
}
}