鼠标外观向右转向鼠标指针

时间:2017-03-31 11:23:52

标签: c# unity3d rotation 2d-games euler-angles

我试图让我的GameObject指向鼠标。它有一个带有精灵的子对象。所有zxis上的childs旋转都设置为0。精灵在开始时指向上方(正X)。 GameObject随鼠标指针一起旋转,但它总是将其右侧朝向鼠标指针。此外,当我向前添加力时,它会在精灵指向的相同方向上加速,如前所述,这不是鼠标的方向。我的代码丢失了什么?

  var cam = Camera.main;

    // Distance from camera to object.  We need this to get the proper calculation.
    float camDistance = cam.transform.position.y - transform.position.y;

    // Get the mouse position in world space. Using camDis for the Z axis.
    Vector3 mouse = cam.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, camDistance));

    float AngleRad = Mathf.Atan2(mouse.y - transform.position.y, mouse.x - transform.position.x);
    float angle = (180 / Mathf.PI) * AngleRad;

    rb2d.rotation = angle;

1 个答案:

答案 0 :(得分:1)

由于计算解决角度的方式,您的形状会旋转90度,您可以使用以下方法解释此问题:

rb2.rotation = angle - 90;