Не так давно состоялся выпуск Unity 2022.1 и мы подготовили для Вас более подробный обзор основных функций и изменений, которые были реализованы в этой версии. Рассмотрим оптимизации таких блоков:
- расширяемый редактор UI Toolkit
- среда разработки Spline
- упрощенное создание материалов и их вариантов
- ускоренный поиск разных элементов в проекте
- улучшение производительности
- оптимизация в работе 2D-физики
- оптимизация платформы
- поддержка платформ
Расширяемый редактор UI Toolkit
Начнем наш обзор с расширяемого редактора UI Toolkit, который поможет ускорить вашу работу за счет возможности адаптации к индивидуальным рабочим процессам.
Этот редактор является унифицированным решением при разработке пользовательского интерфейса и позволяет легко расширять стандартный набор пользовательских инструментов. Например он разрешает настраивать команды с использованием виджетов пользовательского интерфейса, а также настраиваемых фигур. В нем доступна TreeView с отображением сразу нескольких столбцов, а также доступны API-интерфейсы векторного рисования, чтобы самостоятельно настроить внешний вида элементов пользовательского интерфейса.
Среда разработки Spline
Новая среда разработки Spline загружается в виде отдельного пакета, который разработан для управления сплайнами в движке и создания новых. Его цель – увеличить функционал за счет новых инструментов и пользовательских компонентов (например геометрия и перемещение по сплайну). Поддерживается и работа Spline с режимами редактирования. Можно редактировать точки сплайна и касательные используя стандартный набор инструментов редактирования и комбинации клавиш.
Упрощенное создание материалов и их вариантов
Изменения коснулись и процесса создания новых материалов. Для разработчиков, которые используют код при создания новых материалов, был расширен Material API для всех свойств материалов. Поддерживаются состояния ключевых слов, профили рассеивания HDRP и источники света IES. Также были добавлены API для файловой системы Unity, которые позволяют создавать инструменты визуализации и анализа Asset Bundle с целью оптимизации производительности.
Что касается создания вариаций материалов, то этот функционал был очень востребован и наконец был реализован. Теперь они доступны как в HDRP, так и в URP и есть возможность построения иерархии материалов, где дочерние элементы могут иметь общие свойства с родительским материалом и переопределять только отличающиеся свойства. Изменения общих и непереопределяемых свойств в материале шаблона будут автоматически отражаться в материале варианта. Это существенно упростит внесение изменений в сам материал.
Ускоренный поиск разных элементов в проекте
В новой версии были учтены частые замечания пользователей о том, что нередко поиск нужных элементов в проекте может занимать много времени. Чтобы это исправить, реализовано визуальные поисковые запросы. А также добавлено возможность конкретизировать свои запросы с помощью средства выбора объектов Editor.
Улучшение производительности
Были предприняты шаги для улучшения скорости работы с основами, импортом, анимацией и физикой, что в первую очередь смогут ощутить разработчики
2D проектов. Теперь по умолчанию для всех новых проектов будет использоваться Sprite Atlas v2, который обеспечивает поддержку Accelerator. Также улучшена работа с Photoshop для 2D проектов, так как добавлен импорт файлов с расширением PSD. Кроме этого, реализовано управление слоями в 2D PSD Importer. Функция замены спрайтов получила оптимизацию ключевых кадров и предпросмотр, чтобы процесс замены спрайтов для 2D-анимаций стал интуитивно понятнее.
Оптимизация в работе 2D-физики
Для улучшения работы 2D-физики теперь используется тесселяция Делоне. Суть в том, что зачастую полигоны могут быть очень тонкими или мелкими и игнорируются физическим движком. А мозаика Делоне не только не создает чересчур тонкие или мелкие полигоны, но и сокращает количество полигонов для покрытия той же области.
Оптимизация платформы
Редактор получил множество доработок и улучшений, упрощающих работу в проекте. Вот самые основные из них:
- Быстрый вход/выход из режима воспроизведения
- Возможность импортировать текстуры и небольшие файлы (до 60%) и создавать сборки.
- Улучшенный пользовательский интерфейс для операций отмены и повтора.
- Кнопка отмены для открытия окна прогресса проекта
- Улучшения диспетчера ярлыков
- Подробная информация о производительности
Внедрен Frame Timing Manager для захвата и доступа к данным синхронизации кадров GPU и CPU и временным меткам на детальном уровне. Он позволяет находить и исправлять “узкие места” производительности в проекте, независимо от платформы. Теперь вам доступно гораздо больше информации, о том, как работают отдельные кадры. В общем эти функции дают возможность создавать инструменты для профилирования и генерации отчетов о ваших проектах на любой платформе.
Также добавлен профилировщик статистики кадров в отладчик рендеринга, доступный как в редакторе, так и во встроенном проигрывателе для всех сценариев рендеринга. Он предназначен не только для разработчиков. Кроме прочего, он поможет разобраться, привязана ли сцена к процессору или графическому процессору, и получить разбивку по времени кадров.
Поддержка платформ
Разработчики Unity всегда помнят о том, что доступность множества платформ – одна из причин, почему вы выбрали именно этот движок. Поэтому оптимизация поддержки различных платформ для новых функций и новейших API-интерфейсов ведется постоянно.
В новой версии достигнуто повышение производительности Android на устройствах Samsung с использованием Adaptive Performance 4.0. Появилось еще четыре масштабатора с охватом физики, пользовательских настроек и отбраковки слоев. Также поддержка визуальных сценариев для создания сценариев через Adaptive Performance.
В Unity 2022.1 открывается доступ к низкоуровневым данным о производительности при использовании пакета System Metrics Mali. Создаются метрики, отображающие то, как внесенные изменения влияют на аппаратный уровень. При установке Read GPU Metric, можно увидеть, как получить доступ к метрикам GPU во время выполнения. Для платформы iOS был подвключен новейший конвейер инкрементной сборки. Он гарантирует, что вы перестраиваете только те части приложения, в которых произошли изменения с момента предыдущей сборки.
Вот так, мы прошлись по основным важным аспектам работы в новой версии Unity.