if (Input.GetKey("w"))
{
fw = true;
}
if (Input.GetKey("a"))
{
l = true;
}
if (Input.GetKey("d"))
{
r = true;
}
}
input key nie będzie rozpoznawał tego, żę "w", "a", "d" to są zdarzenia na klawiaturze sprawdz
Input.GetKey(KeyCode.W)
Input.GetKey(KeyCode.A)
Input.GetKey(KeyCode.D)
Druga sprawa, spradwziłbym jak odwzorowywane są obliczenia jeśli jednak do nich dochodzi, czy nie są ujemnymi wartościami i po prostu zmiany wychodzą w wymiar którego nie ma,
ostatnią sprawą są momenty wywołań funkcji, których tutaj akurat nie umieściłęś