k12th
@k12th
console.log(`You're pulling my leg, right?`);

Почему Unity3D рекомендует считывать ввод в Update, а не в FixedUpdate?

Update вызывается каждый фрейм. То есть если мы считываем ввод в Update, то отзывчивость управления будет зависеть от FPS, не так ли? Я бы предпочел, чтобы мой персонаж продолжал двигаться и стрелять, хотя бы и вслепую, даже если на сцене большой замес и FPS упал до 15.
  • Вопрос задан
  • 998 просмотров
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Потому что значения Input обновляются в Update. Если вы, например, завяжете какой-то код на Input.GetKeyDown, то он внутри FixedUpdate может сработать у вас несколько раз на одно и то же событие. Вы вообще подходите к этому не с той стороны, отзывчивость управления в любом случае будет зависеть от Update и того, что выводится на экран, если у вас фпс падает до 15, то надо игру оптимизировать, а не костыли придумывать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kreo_OL
@kreo_OL
Медузко -_-
Потому что Апдейт происходит каждый кадр, а ФикседАпдейт фиксированное кол-во раз, по дефолту 30 раз в секунду.
Если ввод считывать в фиксированном апдейте, то он станет не отзывчивым.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы