Функций событий

Функции событий в порядке их выполнения:

Reset() — вызывается для инициализации свойств скрипта, когда он только присоединяется к объекту или когда пользователь нажимает кнопку сброса в контекстном меню инспектора. Данная функция вызывается только в режиме редактирования.

Awake() — эта функция всегда вызывается до любых функций Start и также после того, как префаб был вызван в сцену (если GameObject неактивен на момент старта, Awake не будет вызван, пока GameObject не будет активирован, или функция в каком-нибудь прикреплённом скрипте не вызовет Awake).  Используется для инициализации переменных или состояния игры перед её  началом.

OnEnable

Start

OnApplicationPause


FixedUpdate — вызывается через фиксированные равные промежутки времени и не зависит от fps. В данном событии происходит расчет  обновление физических данных поэтому работать с физикой,  в частности с rigidbody необходимо именно в этом событии.

Update — вызывается каждый кадр поэтому периодичность вызова зависит от fps — количества кадров в секунду, в данном событии необходимо работать с собственными перемещениями объектов;

Time.deltaTime — возвращает время которое прошло между двумя кадрами;

LateUpdate() — вызывается один раз в кадре, после завершения Update(). Любые расчеты, которые осуществляются в Update() будут завершены, при вызове LateUpdate(). Основным использованием LateUpdate() обычно является слежение за камерой от третьего лица. Если Вы осуществите движение Вашего персонажа в событии Update(), то движения камеры и расчётов её месторасположения можете вести в событии LateUpdate(). Это будет гарантировать, что персонаж прошел полностью перед камерой, и закрепил свое расположение.

 


OnPreCull

OnBecameVisible/OnBecameInvisible:

OnWillRenderObject

OnPreRender

OnRenderObject

OnPostRender

OnRenderImage

OnGUI

OnDrawGizmos


 

События coroutine


OnMouseDown — вызывается при нажатии кнопки мыши на коллайдере или элементе GUI;

OnMouseDrag  вызывается при нажатии кнопкой мыши на коллайдере или элементе GUI  и удержании кнопки нажатой, вызывается каждый кадр до тех пор пока кнопка не будет отпущена;

OnMouseEnter — вызывается при наведении курсора мыши на коллайдер или элемент GUI;

OnMouseOver — вызывается каждый кадр пока курсор мыши находится над коллайдером или элементом GUI;

OnMouseExit — вызывается когда курсор мыши покидает пределы коллайдера GUI;

OnMouseUp — вызывается при отпускании кнопки мыши после нажатия по коллайдеру или элементу GUI, данное событие вызывается даже если курсор после клика был перемещен за пределы элемента на котором было совершено нажатие;

OnMouseUpAsButton — как и OnMouseUp вызывается при отпускании кнопки но лишь при условии что курсор остался на том же элементе на котором было произведено нажатие, если курсор был перемещен после нажатия и удержании кнопки за пределы элемента — то событие не будет вызвано;

Функции OnMouse не будут вызываться если объекты принадлежат к слоям которые игнорируют Raycast — отправку «воображаемого» луча из до тех пор, пока он не встретит на пути коллайдер в сцене. Функции могут быть сопрограммами coroutine если использовать оператор yield — событие будет послано всем скриптам привязанным к коллайдеру или элементу GUI.

Пример:

OnDestroy

OnDisable

OnApplicationQuit