我试图在一段确定的时间内在某个指定距离上搜索某些项目。我正在使用Time.DeltaTime来实现帧速率独立性。然而,当在一个非常高性能的功能的帮助下强制滞后(将帧速率降低到理论上的10-15fps)时,我的对象移动得比它们应该慢得多,即使它们应该在恒定时间内移动,与帧速率无关(它们需要大约两倍,4s而不是2s。
更奇怪的是,计算出的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);
}
答案 0 :(得分:1)
如果您的最大允许TimeStep足够高,请检入您的项目时间设置(在编辑 - >项目设置 - >时间下)。此值应足够高,以允许您所需的最小FPS。例如,Max.Timestep为0.1将全部为10FPS。