Объектно-ориентированная разработка
Традиционные Unity проекты основаны на принципах объектно-ориентированного дизайна и философии программирования, которая сосредоточена вокруг объектов, их свойств и функций, и отношений между этими объектами. Код организован вокруг GameObjects чьё поведение контролируется прикрепленными MonoBehaviour компоненты. В целом эти MonoBehaviour Компоненты инкапсулируют логику (методы) и данные (поля) вместе, что может быть удобно, но может иметь проблемы с производительностью в масштабе.
Альтернативой объектно-ориентированной разработке является разработка, ориентированная на данные, которая является одновременно философией дизайна и набором технологий, которые помогают реализовать эту философию. Этот подход подчеркивает четкое разделение между кодом и данными, чтобы максимизировать CPU эффективность кэширования и параллелизм. Вместо MonoBehaviours, архитектура Entity Component System (ECS) использует компоненты для данных и системы для логики. Подход, ориентированный на данные, предлагает сильные преимущества производительности в масштабе, но может быть более сложным для неопытных разработчиков.
Объектно-ориентированный и ориентированный на данные подходы к разработке не исключают друг друга: их элементы можно сочетать. Сведения о разработке, ориентированной на данные, см. в разделе Data-Oriented Technology Stack от Unity.
| Тема | Описание |
|---|---|
| Основные Unity типы | Понимание некоторых фундаментальных типов C#, которые предоставляет Unity, и их особого значения и поведения в Unity Editor и во время выполнения. |
| Управление обновлением и исполнением заказа | Понимание порядка, в котором Unity выполняет компоненты вашего скрипта, и обратных вызовов жизненного цикла в этих скриптах во время цикла приложения времени выполнения. |
| Управление временем и частотой кадров | Понимайте, как Unity измеряет время, чтобы вы могли управлять скоростью, с которой время проходит в вашем приложении, и обеспечивать обновление значений в соответствии с надлежащей шкалой времени. |
| Разделение задач по кадрам с помощью сопутствующих процедур | Разделите выполнение задачи синхронно между несколькими сценами с помощью сопутствующих программ. Это может быть полезно для задач, которые должны выполняться постепенно в течение нескольких кадров, например, эффект выравнивания. |
| Взаимодействие с веб-серверами | Используйте систему UnityWebRequest, чтобы позволить вашему приложению взаимодействовать с веб-сервером через HTTP. |
| Обработка данных типа типично с Unity Свойства | Используйте свойства Unity API для общего обнаружения и изменения свойств объекта во время выполнения. |
| Программирование с математикой | Использование Unityматематическая APIs применять тригонометрические, логарифмические и другие функции в вашем приложении, перемещать объекты с векторами и генерировать случайные значения. |
Дополнительные ресурсы
- Unity Ориентированный на данные технологический стек
- GameObject