I have a script here which when you hit the arrow keys it pushes an object between 4 different points, and if you hit two at once it sits the object between the two points. the only issue is that when it moves between the points it moves in a straight line. Would there be a way for me to make the transition be a more circular movement than a straight movement? the script is below:

```
public GameObject OcculusUpPosition;
public GameObject OcculusDownPosition;
public GameObject OcculusLeftPosition;
public GameObject OcculusRightPosition;
if (Input.GetKey(KeyCode.UpArrow))
{
OcculusPosition = OcculusUpPosition.transform.position;
SmoothedOcculusPosition = Vector3.Lerp(transform.position, OcculusUpPosition.transform.position, moveSpeed * 2);
transform.position = SmoothedOcculusPosition;
InUse = true;
transform.rotation = Quaternion.Euler(-90, 0, 0);
}
if (Input.GetKey(KeyCode.DownArrow))
{
OcculusPosition = OcculusDownPosition.transform.position;
SmoothedOcculusPosition = Vector3.Lerp(transform.position, OcculusDownPosition.transform.position, moveSpeed * 2);
transform.position = SmoothedOcculusPosition;
InUse = true;
transform.rotation = Quaternion.Euler(90, 90, 0);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
OcculusPosition = OcculusLeftPosition.transform.position;
SmoothedOcculusPosition = Vector3.Lerp(transform.position, OcculusLeftPosition.transform.position, moveSpeed * 2);
transform.position = SmoothedOcculusPosition;
InUse = true;
transform.rotation = Quaternion.Euler(180, 90, 0);
}
if (Input.GetKey(KeyCode.RightArrow))
{
OcculusPosition = OcculusRightPosition.transform.position;
SmoothedOcculusPosition = Vector3.Lerp(transform.position, OcculusRightPosition.transform.position, moveSpeed * 2);
transform.position = SmoothedOcculusPosition;
InUse = true;
transform.rotation = Quaternion.Euler(-180, -90, 0);
}
if (!Input.GetKey(KeyCode.RightArrow) & !Input.GetKey(KeyCode.LeftArrow) & !Input.GetKey(KeyCode.UpArrow) & !Input.GetKey(KeyCode.DownArrow))
{
OcculusPosition = OcculusIdlePosition.transform.position;
SmoothedOcculusPosition = Vector3.Lerp(transform.position, OcculusIdlePosition.transform.position, moveSpeed);
transform.position = SmoothedOcculusPosition;
InUse = false;
transform.LookAt(Idle_LookatPoint.transform);
}
```