类似于“火箭联盟”或“王国之心”的东西,其中相机锁定在目标上,但仍将玩家保持在屏幕中央。我已经将相机放置在播放器中,但尝试了其他解决方案后,仍然无法正确放置相机。
public List<Transform> targets;
private void EnemyCam()
{
Vector3 centerPoint = GetCenterPoint();
transform.LookAt(centerPoint);
Vector3 newPos = centerPoint;
transform.position = Vector3.SmoothDamp(transform.position, newPos, ref
velocity, smoothTime);
}
private Vector3 GetCenterPoint()
{
if (targets.Count == 1)
return targets[0].position;
var bounds = new Bounds(targets[0].position, Vector3.zero);
for (int i = 0; i < targets.Count; ++i)
bounds.Encapsulate(targets[i].position);
return bounds.center;
}
答案 0 :(得分:0)
如果您要按脚本移动摄像机,则它不应同时是移动播放器的子级。您正在脚本中设置一些位置,但是与此同时,该位置也会被父对象修改,因此最终结果是不可预测的。