C# 摄影机Lerp似乎在增加每个循环

C# 摄影机Lerp似乎在增加每个循环,c#,unity3d,C#,Unity3d,我有7个位置,我想在它们之间迭代,它们在x轴上都有4.5的差异,所以位置0=0,位置1=4.5,位置=9,依此类推 然而,当我从位置0到位置1时,x似乎继续增长4.5。对数组的迭代有效,但每帧仅增加4.5次。我做错了什么 void Start () { _positionArray[0] = position0; _positionArray[1] = position1; _positionArray[2] = position2; _positionArray[3] = po

我有7个位置,我想在它们之间迭代,它们在x轴上都有4.5的差异,所以位置0=0,位置1=4.5,位置=9,依此类推

然而,当我从位置0到位置1时,x似乎继续增长4.5。对数组的迭代有效,但每帧仅增加4.5次。我做错了什么

    void Start () {
 _positionArray[0] = position0;
 _positionArray[1] = position1;
 _positionArray[2] = position2;
 _positionArray[3] = position3;
 _positionArray[4] = position4;
 _positionArray[5] = position5;
 _positionArray[6] = position6;
 endPosition = position0;
}

public void changeDestination() 
{
if (_leapManager.swipePerformed)
{
  swipeDirection = _leapManager.swipeDirection;
  if (swipeDirection == "left" && posInArray >= 0 && posInArray < 5)
  {
    Debug.Log("called");
    posInArray++;
    endPosition.position = _positionArray[posInArray].position;
  }
  else if (swipeDirection == "right" && posInArray <= 5 && posInArray > 0)
  {
    posInArray--;
    endPosition.position = _positionArray[posInArray].position;
  }
}
}

// Update is called once per frame
void Update () {
transform.position = Vector3.Lerp(transform.position, endPosition.position, speed * 3.0f * Time.deltaTime);
}
void Start(){
_positionArray[0]=position0;
_位置数组[1]=位置1;
_位置阵列[2]=位置2;
_位置数组[3]=位置3;
_位置阵列[4]=位置4;
_位置数组[5]=位置5;
_位置阵列[6]=位置6;
endPosition=位置0;
}
公共目标()
{
如果(_leapManager.swipperformed)
{
swipeDirection=\u leapManager.swipeDirection;
如果(swipeDirection==“left”&&posInArray>=0&&posInArray<5)
{
Debug.Log(“被调用”);
posInArray++;
endPosition.position=\u positionArray[posInArray].position;
}
else if(swipeDirection==“right”&&posInArray 0)
{
波西纳雷;
endPosition.position=\u positionArray[posInArray].position;
}
}
}
//每帧调用一次更新
无效更新(){
transform.position=Vector3.Lerp(transform.position、endPosition.position、speed*3.0f*Time.deltaTime);
}

您可以尝试通过制作一个基本的钳制功能来钳制运动(由于浮点不准确,我以前对所有Lerp都是这样做的),为什么在行程分数区域中使用增量时间?我使用增量时间在Lerp上获得从快到慢的平滑效果。是的,我可能会尝试,但我只是想知道为什么它会随着位置轴不断增加,而不是变成它。很可能分数会超过1'速度*3.0f*时间。deltaTime>1'