Сегодня - коротко про Time.fixedDeltaTime.
Time.fixedDeltaTime - это значение фиксированного шага физики (Fixed Timestep). По умолчанию - 0.02, то есть FixedUpdate вызывается 50 раз в секунду.
Логично подумать, что в FixedUpdate нужно использовать именно Time.fixedDeltaTime.
Но это не обязательно.
Time.deltaTime достаточно умный. Документация говорит:
When this is called from inside MonoBehaviour.FixedUpdate, it returns Time.fixedDeltaTime.
То есть внутри FixedUpdate: Time.deltaTime и Time.fixedDeltaTime вернут одно и то же значение. Разница - только в читаемости кода.
Тогда зачем вообще Time.fixedDeltaTime?
1️⃣ Чтобы изменить частоту FixedUpdate
Time.fixedDeltaTime = 0.01f;
Было 0.02 → 50 вызовов в секунду.
Стало 0.01 → 100 вызовов в секунду.
Меняем шаг физики - меняется частота FixedUpdate.
2️⃣ Если нужно получить фиксированный шаг вне FixedUpdate
Например, в специфических расчетах, где важно знать именно физический timestep.
Во всех остальных случаях можно спокойно использовать Time.deltaTime.
Чаще всего Time.fixedDeltaTime вам пригодится:
• либо при тонкой настройке физики
• либо чтобы блеснуть знанием на собеседовании 🙂
В следующем посте разберём, что происходит с Update и FixedUpdate, когда игра подвисает.
🚀 Пост Guru Unity: @Minerope
