Top.Mail.Ru
Ответы

Unity yield return new WaitForSeconds(1f) не сходится с реальным временем

Почему при выполнении кода
yield return new WaitForSeconds(1f);
почему задержка по коду не совпадает с реальным секундомером?
Т. Е я одновременно запустил задержку и секундомер и разница почти на треть. Код выполнился, а на секундомере уже 1.4 сек, хотя явно указано, что задержка РОВНО 1 СЕКУНДУ.

По дате
По Рейтингу
Аватар пользователя
Новичок

https://docs.unity3d.com/ScriptReference/WaitForSeconds.html
Официальный док четко говорит:
Suspends the coroutine execution for the given amount of seconds using SCALED time.
The real time suspended is equal to the given time divided by Time.timeScale. See WaitForSecondsRealtime if you wish to wait using unscaled time.

Аватар пользователя
Мыслитель

Где то косяк у тебя в скрипте. Через консоль выведи в функции waitForSecond время выполнения. Вероятно всего это не из за этой функции. На выполнение чего то другого у тебя тратится время.