向某个点发送一个rigidbody2d

时间:2017-04-01 15:07:34

标签: c# unity3d game-physics rigid-bodies

我在屏幕外面产生一个物体,我想把它发送到中间。 DrawLine向我展示了目标方向是正确的。但是这个目标随意向任何方向发展。我的计算有什么问题?

// add force towards center of screen
    var targetPosition = new Vector3(Random.Range(-3, 3), Random.Range(-3, 3),00);
    var forceAmount = 10f;
    rb2d.AddForce((bigasteroid.transform.position - targetPosition).normalized * forceAmount);
    Debug.DrawLine(targetPosition, bigasteroid.transform.position,Color.red,3f);

1 个答案:

答案 0 :(得分:0)

您似乎正在向AddForce传递相反的方向。试试这个:

rb2d.AddForce((targetPosition - bigasteroid.transform.position).normalized * forceAmount);