Игровой движок Unity
Unity — это кроссплатформенная среда разработки компьютерных игр и интерактивных приложений, разрабатываемая компанией Unity Technologies. Unity позволяет создавать проекты для более чем 25 платформ, включая персональные компьютеры (Windows, macOS, Linux), мобильные устройства (iOS, Android), игровые консоли (PlayStation, Xbox, Nintendo Switch), веб-платформы (WebGL) и системы виртуальной и дополненной реальности (AR/VR). Движок широко используется в индустрии видеоигр, а также в архитектурной визуализации, кинематографе, автомобилестроении и других отраслях.
История
Ранние годы и первые версии
Разработка Unity началась в 2004 году в Копенгагене (Дания) группой программистов, ранее работавших в компании Over the Edge Media. Основателями выступили Дэвид Хелгасон, Йоахим Анте, Томас Крог и Николас Фрэнсис. Первая версия движка, Unity 1.0, была выпущена в 2005 году на конференции Apple Worldwide Developers Conference (WWDC) как эксклюзивный инструмент для платформы Mac OS X. Ключевым преимуществом стал редактор с визуальным интерфейсом, что позволяло разработчикам без глубоких знаний программирования создавать игры.
Расширение платформ и версии 2.x–3.x
В 2007 году вышла Unity 2.0, которая добавила поддержку Windows и веб-браузеров через плагин Unity Web Player. В 2009 году, с выходом Unity 2.5, была введена поддержка iOS (iPhone), что сделало движок популярным среди разработчиков мобильных игр. Версия 3.0 (2010) представила систему компонентов, улучшенный рендеринг и поддержку Android. В этот период Unity начала активно использоваться для создания инди-игр, таких как Super Mario Run (2016) и Hollow Knight (2017).
Эра Unity 4 и 5
Unity 4 (2012) принесла поддержку DirectX 11, анимационную систему Mecanim и интеграцию с Adobe Flash. В 2015 году вышла Unity 5, которая ввела физический рендеринг (PBR), систему освещения Enlighten и облачный сервис Unity Cloud Build. С этого момента движок стал бесплатным для личного использования с ограничениями по доходу (Personal Edition), что способствовало его массовому распространению.
Unity 2017–2023
Начиная с 2017 года, компания отказалась от нумерации версий в пользу годового формата (Unity 2017, 2018 и т. д.). В 2018 году был представлен Scriptable Render Pipeline (SRP) — модульная система рендеринга, включающая High Definition RP (HDRP) для высококачественной графики и Universal RP (URP) для производительности на мобильных устройствах. В 2020 году вышла поддержка трассировки лучей в реальном времени. В 2023 году Unity Technologies объявила о введении платы за установку игры (Runtime Fee), что вызвало критику со стороны сообщества разработчиков. Впоследствии компания скорректировала условия, установив порог в 1 миллион долларов дохода и 1 миллион установок.
Архитектура и ключевые компоненты
Редактор Unity
Редактор Unity представляет собой графическую среду для разработки, включающую:
- Сцену (Scene) — окно для визуального размещения объектов (GameObjects) в трёхмерном или двумерном пространстве.
- Иерархию (Hierarchy) — список всех объектов текущей сцены.
- Инспектор (Inspector) — панель для изменения свойств выбранного объекта и его компонентов.
- Проект (Project) — файловый менеджер для импорта и организации ассетов (моделей, текстур, звуков).
- Консоль (Console) — вывод сообщений, ошибок и предупреждений.
Система компонентов
В Unity объекты (GameObjects) не имеют поведения по умолчанию. Функциональность добавляется через компоненты (Components), которые прикрепляются к объекту. Основные типы компонентов:
- Transform — положение, поворот и масштаб объекта.
- Mesh Renderer — отображение трёхмерной модели.
- Collider — физическая коллизия (столкновение).
- Rigidbody — симуляция физики (гравитация, сила).
- Script — пользовательский код на C#.
Скриптинг
Основным языком программирования в Unity является C#. Скрипты реализуют логику игры, управление персонажем, обработку ввода и взаимодействие с другими компонентами. Unity поддерживает как компилируемый код (MonoBehaviour), так и визуальное программирование через Bolt (встроенный в версиях 2020+). Для создания анимаций используется система Animator с конечными автоматами (State Machines).
Рендеринг и графика
Unity поддерживает несколько конвейеров рендеринга:
- Built-in Render Pipeline — стандартный конвейер, используемый в старых версиях.
- Universal Render Pipeline (URP) — оптимизированный для мобильных устройств и консолей, с поддержкой передовых эффектов (SSAO, HDR).
- High Definition Render Pipeline (HDRP) — для высококачественной графики на ПК и консолях, с поддержкой трассировки лучей, динамического освещения и физически корректных материалов.
Физика
Физический движок Unity основан на библиотеке PhysX (разработка NVIDIA). Он включает симуляцию твёрдых тел (Rigidbody), мягких тел (Cloth), сочленений (Joints) и триггеров. Для двумерной графики используется отдельный модуль Box2D.
Классификация и версии
Лицензионные планы
Unity предлагает несколько планов подписки:
- Personal Edition — бесплатно для разработчиков с годовым доходом менее 200 000 долларов. Включает полный функционал, но с водяным знаком на стартовом экране.
- Plus — платная подписка (около 40 долларов в месяц) для команд с доходом до 200 000 долларов.
- Pro — для профессиональных студий (около 185 долларов в месяц) с расширенными возможностями (облачная сборка, аналитика, поддержка).
- Enterprise — корпоративное решение с индивидуальными условиями.
Версии по годам
С 2017 года Unity выпускает обновления по модели LTS (Long Term Support) — стабильные версии с поддержкой в течение двух лет, и Tech Stream — экспериментальные версии с новыми функциями. Последняя на 2024 год стабильная версия — Unity 2023.3 LTS.
Применение
Видеоигры
Unity является одним из самых популярных игровых движков в мире. По данным компании, на нём создано более 50% всех мобильных игр и около 30% игр для ПК и консолей. Примеры известных проектов:
- Hollow Knight (2017) — метроидвания от Team Cherry.
- Cities: Skylines (2015) — градостроительный симулятор.
- Escape from Tarkov (2017) — тактический шутер от российской студии Battlestate Games.
- Genshin Impact (2020) — китайская ролевая игра от miHoYo, ставшая одной из самых кассовых мобильных игр.
Промышленность и архитектура
Unity используется для создания интерактивных 3D-визуализаций в архитектуре (например, Twinmotion), автомобилестроении (симуляторы вождения) и обучении (тренажёры для пилотов и хирургов). Платформа Unity Reflect позволяет импортировать BIM-модели (Building Information Modeling) для просмотра в реальном времени.
Кинематограф и анимация
С 2019 года Unity активно внедряется в кинопроизводство. Фильм The Mandalorian (сериал Disney+) использовал Unity для создания фоновых сцен в реальном времени (технология StageCraft). В 2020 году Unity выпустила инструмент Unity Cinemachine для автоматической работы камер.
Критика и ограничения
Производительность
Несмотря на широкую распространённость, Unity критикуют за относительно низкую производительность на сложных сценах по сравнению с Unreal Engine. Проблемы с оптимизацией памяти и сборкой мусора (Garbage Collection) могут приводить к «лагам» на мобильных устройствах. В версиях 2022+ компания предприняла меры по улучшению производительности через систему DOTS (Data-Oriented Tech Stack).
Лицензионная политика
В 2023 году Unity Technologies объявила о введении платы за установку (Runtime Fee), что вызвало массовое недовольство разработчиков. Многие студии заявили о переходе на другие движки, такие как Godot или Unreal Engine. После протестов компания изменила условия: плата взимается только с проектов, заработавших более 1 миллиона долларов и имеющих более 1 миллиона установок.
Отсутствие открытого исходного кода
В отличие от Godot, Unity является проприетарным продуктом. Исходный код редактора и движка закрыт, что ограничивает возможности глубокой кастомизации и отладки. В 2023 году компания анонсировала частичную открытость исходного кода для подписчиков Enterprise.
Интересные факты
- Unity поддерживает более 25 платформ, включая игровые приставки, смарт-телевизоры и гарнитуры виртуальной реальности (Oculus Rift, HTC Vive, PlayStation VR).
- В 2021 году Unity Technologies приобрела компанию Weta Digital (Новая Зеландия), известную созданием спецэффектов для фильмов «Властелин колец» и «Аватар», за 1,6 миллиарда долларов.
- Российская студия Battlestate Games, разработавшая Escape from Tarkov, использует Unity с 2012 года, внеся собственные модификации в движок для улучшения баллистики и физики.
- По данным на 2024 год, на Unity работает более 1,5 миллиона активных разработчиков по всему миру.
Источники
- Официальная документация Unity Technologies (docs.unity3d.com)
- «Unity in Action: Multiplatform Game Development in C#» — Джозеф Хокинг (2019)
- «The History of Unity» — блог Unity Technologies (2015)
- Статья «Unity Runtime Fee: What Developers Need to Know» — Gamasutra (2023)
- Интервью с основателями Unity — журнал Game Developer (2008)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →