Я пишу код C# для своей игры Unity, позволяющий переместить объект влево. В онлайн-учебнике мне сказали, что мне нужно умножить преобразование позиции на deltaTime, чтобы гарантировать, что компьютеры, работающие с разной частотой кадров, по-прежнему перемещают мой объект с одинаковой скоростью, независимо от их частоты кадров, а вместо этого основываясь на времени. .
Вот код:
Код: Выделить всё
void Update()
{
transform.posititon = transform.position + (Vector3.left * moveSpeed) * Time.deltaTime;
}
Что меня смущает, так это то, как умножение Time.deltaTime гарантирует, что на нас по-прежнему не будет влиять частота кадров? Поскольку мы не делим и не избавляемся каким-либо иным образом от какого-либо параметра частоты кадров, не умножит ли умножение Time.deltaTime просто проблему?
Я следовал онлайн-руководству, и вот что получилось. поручил мне это сделать, но мне хотелось бы знать, почему.
Подробнее здесь:
https://stackoverflow.com/questions/785 ... in-unity-c