В Unity большинство игровых объектов управляется с помощью
скриптов на C#. Почти каждый скрипт, создаваемый
вручную, наследуется от базового класса MonoBehaviour
.
Именно этот класс позволяет Unity управлять поведением объектов:
вызывать код при запуске игры, каждый кадр, при столкновениях и в других
ситуациях.
Чтобы создать такой скрипт:
CSharpScript
Вы увидите примерно такой шаблон кода:
using UnityEngine;
public class CSharpScript : MonoBehaviour
{
// Start вызывается один раз при запуске объекта
void Start()
{
}
// Update вызывается каждый кадр
void Update()
{
}
}
using UnityEngine;
— подключает основные функции Unity.
public class CSharpScript : MonoBehaviour
— создаёт класс с
именем, которое должно совпадать с названием файла.
Unity требует этого для правильной работы скрипта.
При запуске Unity один раз вызовет метод Start()
, а затем
будет автоматически выполнять Update()
каждый кадр — это
основной цикл работы игры.
Кроме них, существует множество других методов, которые Unity вызывает в определённые моменты: при создании объекта, столкновении, включении/выключении и так далее. Ниже приведён список самых часто используемых событий, управляющих жизнью скриптов.
Метод | Когда вызывается |
---|---|
Awake() |
📦 До Start() , при создании скрипта или объекта
|
Start() |
🚀 Один раз перед первым Update() |
Update() |
🕒 Вызывается каждый кадр (подходит для анимаций и ввода) |
FixedUpdate() |
⚙️ Вызывается с фиксированным интервалом (подходит для физики) |
OnEnable() |
✅ Когда объект или скрипт становится активным |
OnDisable() |
❌ Когда объект или скрипт отключается |
OnDestroy() |
💥 При удалении объекта или закрытии сцены |
Метод | Когда вызывается |
---|---|
OnCollisionEnter() |
⚡ Столкновение с другим объектом (с коллайдером и Rigidbody) |
OnCollisionStay() |
♻ Пока объекты остаются в контакте |
OnCollisionExit() |
🏃 Когда контакт прекращается |
OnTriggerEnter() |
🚪 Вход в триггер-коллайдер |
OnTriggerStay() |
🔁 Пока объект внутри триггера |
OnTriggerExit() |
🚶 Выход из триггера |
Метод | Когда вызывается |
---|---|
OnMouseDown() |
🖱️ Клик мыши по объекту |
OnMouseUp() |
☝ Отпускание кнопки мыши над объектом |
OnMouseEnter() |
👀 Курсор зашёл на объект |
OnMouseOver() |
🔍 Пока курсор над объектом |
OnMouseExit() |
🙈 Курсор покинул границы объекта |
Метод | Когда вызывается |
---|---|
OnBecameVisible() |
📸 Когда объект появляется в камере |
OnBecameInvisible() |
🌑 Когда объект исчезает из кадра |