Menu
CoddyTech

Порядок вызовов жизненного цикла

Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 58 из 67.

Unity вызывает методы скрипта в фиксированном порядке: с момента появления объекта до момента его уничтожения:

  1. Awake(): один раз, когда объект загружен или создан.
  2. OnEnable(): сразу после этого и затем каждый раз, когда объект становится видимым.
  3. Start(): один раз, перед первым кадром скрипта.
  4. FixedUpdate(): по часам физики, по умолчанию 50 раз в секунду, поэтому в каждом кадре вызывается ноль, один или несколько раз, всегда до Update() этого кадра.
  5. Update(): один раз за кадр.
  6. LateUpdate(): один раз за кадр, после каждого Update().
  7. OnDisable(): каждый раз, когда объект скрывается, и перед его уничтожением.
  8. OnDestroy(): один раз, когда объект уничтожается.

Шаги с 4-го по 6-й повторяются в каждом кадре, пока объект активен. Созданный объект проходит тот же список: Instantiate вызывает Awake() и OnEnable() копии до возврата, а Start() копии вызывается до её первого Update().

Из этого порядка следуют два правила. Код в Awake() настраивает собственные поля объекта вовремя, чтобы они были готовы к вызову Start() всех остальных объектов. А код физики помещается в FixedUpdate(), шаги которого всегда разделены интервалом в 0.02 секунды, независимо от того, насколько быстро или медленно идут кадры.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы скриптинга в Unity