我正在尝试在确定的时间内跨越特定指定距离的某些物品。我正在使用 Time.DeltaTime 来实现帧率独立。但是,当借助性能非常密集的功能(将帧速率降至理论上的 10-15fps)强制延迟时,我的对象移动速度比应有的慢得多,即使它们应该在恒定时间内移动,与帧速率无关(它们需要大约两倍长,4 秒而不是 2 秒)。
更奇怪的是,计算出的 FPS (1.0f/Time.deltaTime) 保持不变(大约 66 FPS)。当我显示 lerp 完成所需的时间(将 time.deltaTimes 相加)时,它显示 2 秒(这是所需的时间,但实际花费的时间至少是该时间的 2 倍)。
谁能帮我弄清楚发生了什么?
var startTime = 0.0;
while(startTime < 2.0){
yield;
startTime += Time.deltaTime;
transform.localPosition = Vector3.Lerp(Vector3(0.0,0.0,0.0), Vector3(0.0,10.0,0.0), startTime/2.0);
}