Код
float coefficient=0;
float currentpoint=0,topoint=1;
float inercy=0;
Vector3[] point = new Vector3[]{new Vector3(0,1,1),new Vector3(1,2,3)};
void FixedUpdate()
{
coefficient += Input.GetAxis("Horizontal");//если будет слишком быстро умножь на Time.deltatime
transform.position = Vector3.Lerp(point[currentpoint], point[topoint], coefficient);
if (coefficient < 0 && currentpoint > 0)
{
currentpoint--;
topoint --;
}
if (coefficient > 1 && currentpoint < point.Length)
{
currentpoint++;
topoint++;
}
}