相机跟随玩家问题(2d)

时间:2016-11-19 18:41:22

标签: unity3d

我正在制作2D太空游戏,类似于Roid Rage。我有一个航天飞机。班车将自由移动,避开障碍物。我成功地完成了梭子的运动和旋转部分(使用rigidbody2d)。但现在我无法让相机跟随梭子。 首先,我试着让相机成为穿梭机的孩子。通过这种方式,摄像机跟随了航天飞机。但它没有显示任何旋转的旋转,因为我猜相机也会在这种情况下随梭子旋转。 然后我这样做了:

public Transform shuttle;
private Vector3 offset;

void Start() {
    offset = transform.position;
}

void LateUpdate() {
    transform.position = shuttle.transform.position + offset;
}

在这种情况下,摄像机跟随航天飞机,但是当我点击屏幕并且航天飞机应该转弯时(在路径轨道上),它只是围绕自己的轴旋转。

最后,我改用了它:

void LateUpdate() {
    transform.position = Vector3.Lerp(transform.position, shuttle.position + offset, 0.125f);
}

现在,结果是航天飞机非常不稳定。解决这个问题的方法是什么?

2 个答案:

答案 0 :(得分:0)

像这样非常简单的事情不起作用吗?这是在相机脚本中,没有附加到GameObject。

public GameObject MyShuttle;

void LateUpdate() {
    this.transform.position = MyShuttle.transform.position;
}

答案 1 :(得分:0)

在论坛上搜索后找到解决方案。由于我使用Rigidbody2D来移动梭子,我不得不将其Interpolate属性从None打开到Interpolate。振动由此确定。