Unity 2022 вышла в LTS. Сейчас расскажу что это значит и какие появились нововведения.
LTS - Long Term Support, долгосрочная поддержка программного обеспечения. Это такой период жизненного цикла ПО, в котором перестают добавляться новые фичи и глобальные изменения, но в тоже время продолжают выходить обновления, исправляющие баги, и повышающие стабильность и безопасность. Обычно разработчики стараются использовать для новых проектов именно стабильные LTS версии.
Как устроен жизненный цикл версий движка Unity, можно посмотреть на графике ниже (график прошлогодний, новее не нашёл, но смысл, думаю, понятен).
Новые инструменты для разработки в Unity 2022 LTS
Первое и самое важное нововведение - это выход в релиз системы DOTS
DOTS - Data-Oriented Technology Stack. Это разработанный компанией Unity многопоточный комплекс архитектурных решений построения проекта и взаимодействия игровых объектов между собой. Он позволяет использовать современные многоядерные процессоры на полную мощность и помогает разрабатывать богатые окружения с большим количеством динамических объектов. До этого DOTS был долгое время в альфе и бете разработке, и вот, наконец-то он дорос до полноценного релиза.
DOTS строится на 3-ех технологиях:
- Архитектура ECS (Entity Component System)
- С# компилятор Burst
- C# Job System
Подробнее на них останавливаться не будем, т.к. они довольно сложные для понимания, а при желании вы можете изучить их самостоятельно. Главное, что можно из этого вынести - это то, что DOTS - это довольно сложный инструмент для разработчиков, однако который позволяет разрабатывать оптимизированные высоконагруженные игровые миры с большим количеством динамических объектов, с распределённой нагрузкой по всем имеющимся ядрам процессора.
Netcode для ESC
Второе по важности нововведение в Unity 2022 LTS - появление пакета Netcode для Entity Component System.
Это библиотека с уже готовыми сетевыми решениями, такими как: лобби, матчмейкинг, система друзей, лидерборды, передача данных, голосовой и текстовый чат, и даже хостинг игровых серверов. Всё это работает в совокупности с Unity Gaming Services и призвано упростить разработку мультиплеерных игр с более чем 64+ игроков.
Netcode для стандартных GameObjects ранее уже существовал, но с архитектурой ECS он был не совместим. Теперь же он появился и для разработчиков, строящих свой проект на ECS и DOTS.
Графические улучшения для объектов "естественной среды" в HDRP
В HDRP пайплайне (наборе предустановок для высококачественных проектов) появились улучшения в области естественной среды:
- более реалистичный объёмный туман
- Новая водная система - позволяет добавлять в игровую среду океаны, реки и подводные эффекты.
- Усовершенствованная система облаков с динамическим освещением, позволяет создавать еще более реалистичное небо с облаками, которые меняются и перемещаются в зависимости от погодных условий, смешивая различные погодные эффекты, такие как солнечное и облачное небо.
Улучшенные визуальные эффекты в URP для любого устройства, в том числе мобильного и VR
Для URP пайплайна, который используется в проектах для менее мощных устройств, тоже добавили графические улучшения.
- В типе расчёта света Forward+ убрали ограничение на максимально возможное количество источников света. Теперь их можно добавлять столько, сколько посчитает нужным геймдизайнер, ну и сколько позволяет производительность.
- Появилась система смешивания моделей в LOD группах (разных по детализации моделей, переключаемых между собой, по мере отдаления камеры, для оптимизации). Теперь переключения между уровнями детализации происходит более плавно.
- Временное сглаживание (Temporal Anti-aliasing (TAA)) уменьшает проблемы с наложением изображений, такие как пикселизация и мерцание краев, для улучшения общего визуального качества игровых сцен.
- В настройки декалей ("светящих" на какую либо поверхность текстур) добавили поддержку слоёв. Теперь можно отфильтровать и настроить те объекты, с какими они будут воздействовать, а с какими нет.
- А так же добавили другие изменения и улучшения, в основном касающиеся производительности, меньшему использованию памяти и удобству работы с редактором Unity.
Добавление поддержки DirectX12 для Windows и Xbox, и другие улучшения в производительности
Поддержка DirectX12 прилично увеличит производительность для ПК c Windows и для Xbox.
Кроме этого, так же была улучшена производительность и для других платформ: Android, iOS, PlayStation 5, Nintendo Switch.
А так же был обновлён набор инструментов взаимодействия с VR и AR устройствами (XR) для сокращения времени сборки для PlayStation VR2 и Quest 2.
Выводы
На разработку и тестирование Unity 2022 ушло около двух лет, с момента её появления в альфа версии и до нынешнего выхода LTS версии. Теперь её планируют поддерживать в течении, как минимум, ещё двух лет, посредством обновлений, которые будут выпускаться раз в две недели.
Версия получилась современной, многофункциональной и конкурентоспособной. И хоть она всё ещё не дотягивает до своего главного конкурента Unreal Engine по производительности и качеству получаемой картинки, всё же команда разработчиков движка Unity старается и идти в ногу со временем, и предоставлять разработчикам игр простой, доступный и функциональный инструмент, способный реализовать любую творческую задумку, будь то мобильная казуальная игра или же крупнобюджетный сетевой шутер на ПК.
За это Unity многие любят, в том числе и я 🙂.
Это была моя первая статья после затяжного перерыва. Не забудьте оценить её и оставить комментарий. Приветствуется любая обратная связь, ведь именно она поможет мне стать лучше!
До встречи! 👋