void Update() { playerPos = movement.getPlayerPosition(); transform.position = ClampMagnitude(transform.position - playerPos, 2.5f, 2.5f) + playerPos; transform.RotateAround(playerPos, Vector3.up, deltaTheta.x); transform.RotateAround(playerPos, movement.getSpeedVector(2), -deltaTheta.y); transform.RotateAround(playerPos, movement.fwdWrtPlayer, -transform.rotation.eulerAngles.z); }