Rotacja obiektu 2D względem kursora myszy

W tym przykładzie będziemy obracać obiektem 2D względem pozycji kursora na ekranie.

    Camera cam;
    void Start()
    {
        cam = Camera.main;  
    }

    void Update()
    {
        Vector3 mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
        Vector3 diff = mousePos - transform.position;
        diff.Normalize();
        float rotZ = Mathf.Atan2(diff.y, diff.x)*Mathf.Rad2Deg;
        transform.rotation = Quaternion.Euler(0f,0f,rotZ);
    }

Kursy GameDev Unity

Przewiń do góry