Bewegen Sie den Player zum genauen Ort des Berührungs- / Mausklicks

In meinem 2D-Unity-Spiel versuche ich, mein Sprite an die Position meiner Berührung / meines Cursors zu bewegen (im Moment ist es ein Mausklick).

Mein Sprite befindet sich am Speicherort (173, 48, -52,1). Wenn ich jedoch auf einen Ort klicke, der wahrscheinlich ein paar Pixel entfernt ist, wird meine Position auf (399, 129, 0) geändert und mein Sprite wird anscheinend in das unendliche Unbekannte geschleudert.

if (Input.GetMouseButtonDown(0))
{

    //fingerPos =  Input.GetTouch(0).position;
    fingerPos = Input.mousePosition;
    transform.position = fingerPos;
    Debug.Log(transform.position);
}

BEARBEITE

Aktueller Code

if (Input.GetMouseButtonDown (0)) {
        fingerPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); //Desktop
        transform.position = fingerPos;
        Debug.Log (transform.position);
    }   

Aktualisiere. Wenn ich auf die Position klicke, die aufgezeichnet wird (und in die das Sprite verschoben wird), befindet sich dies direkt auf der Kamera. Siehe Bild

Antworten auf die Frage(2)

Ihre Antwort auf die Frage