Новое в Unity 2023.2
Узнайте, что изменилось в Unity 2023.2 после 2023.1, и просмотрите документацию по затронутым областям.
Примечания к выпуску
Чтобы узнать больше о новых возможностях, изменениях и улучшениях этой версии Unity, см. Заметки о выпуске 2023.2.
Чтобы найти примечания к выпуску для других выпусков, обратитесь к архиву загрузки Unity.
Руководство по обновлению
Если вы обновляете существующие проекты с 2023.1Пункт 2.1.1.1 читать следующим образом: Руководство по обновлению 2023.2 для получения информации о том, как это может повлиять на проект.
Доступность
Добавлено новое окно редактора, Accessibility Hierarchy Viewer, которое отображает активную иерархию доступности и ее узлы. Чтобы получить доступ к Accessibility Hierarchy viewer, перейдите в Окно > Доступность > Просмотрщик иерархии в главном меню.
Аудио
- Добавлен случайный аудиоконтейнер Audio Random Container для случайного распределения звука и обеспечения того, чтобы громкость, высота, время и триггеры могли быть установлены на неповторяющиеся интервалы, так что ваша игра никогда не звучит одинаково дважды.
- Добавлен счетчик VU в Audio Random Container.
Авторские инструменты
2D
Добавлена поддержка наложений в окне редактора Палитра плитки.
2D Физика
Добавлены линии указателя ArticulationBody.jointPosition к гаджету Угловые границы соединения, чтобы показать точное положение соединения в виде Scene.
Редактор и рабочий процесс
- Добавлено контекстное меню представления Scene. Теперь вы можете получить доступ к новым контекстным меню в представлении Scene, щелкнув правой кнопкой мыши или используя настраиваемую комбинацию клавиш. Эти меню, созданные с помощью UI Toolkit и расширяемые в C#, обеспечивают легкий доступ к часто используемым командам.
- Добавлена опция Обновить представление Scene только когда Редактор находится в фокусе в настройки представления Scene. Включите эту опцию для обновления представления Scene только когда Редактор находится в фокусе.
- Добавлена возможность привязывать клавиатурную комбинацию для перехода между состояниями Animator.
- Добавлена базовая поддержка шрифта OpenType. В настоящее время включен только кернинг.
- Добавлено новое наложение Наложение камер для замены предварительного просмотра Camera. Вы можете использовать наложение Cameras overlay, чтобы взять управление камерами от первого лица и управлять камерами в виде Scene.
- Заменено большинство контекстных меню OS на версию UI Toolkit.
- Добавлен Color Checker, который является инструментом, используемым для калибровки освещения и пост-процесса. Color Checker является объектом, который пользователь может добавить через GameObject > Рендеринг > Color Checker Tool. Инструмент предназначен только как производственный инструмент для художников освещения и не будет сохраняться в Build.
- Включена возможность отображения в Редакторе различных модальностей уведомления о лицензии.
- Добавлено
PropertyCollectionAttribute, которое можно использовать для реализации пользовательских ящиков для коллекций. - Добавлен новый инструмент для размещения света с помощью панорамирования, масштабирования и управления орбитой Camera. Более подробную информацию см. в Просмотр и управление светом из его перспективы.
UI Toolkit
- Теперь вы можете использовать новый и гибкий Система привязки времени выполнения без труда соединить значения данных с UI свойства элемента при создании редактора или времени выполнения UI. Вы можете настроить привязку данных в любом из UI Builder или C# код.
- Добавлены новые элементы управления, такие как ToggleButtonGroup, Вкладка, и TabViews, а также улучшены существующие элементы управления.
- Добавлена поддержка значков в Кнопка, ListView и TreeView.
- Добавлены новые атрибуты UxmlElement и UxmlAttribute. Эти атрибуты заменяют существующие UxmlFactory и UxmlTraits при создании пользовательских контроллеров. Это упрощает создание пользовательских контроллеров, предлагая эффективную альтернативу через атрибуты C# и устраняя необходимость написания обширного кода. Кроме того, теперь вы можете создавать пользовательские ящики свойств для полей таким же образом, как и Inspector.
- Улучшен UI Builder с улучшениями для отображения того, что управляет свойствами стиля, уточнена манипуляция холстом и сделаны другие улучшения. Обновленный UI Builder теперь также поддерживает создание UXML Объектов, позволяя редактировать MultiColumnTreeView и MultiColumnListView.
- Добавлено поле поддержки эмоджи в TextElement и TextField для управления порядком поиска глифа в диапазоне эмоджи (основной шрифт против глобального резерва). Кроме того, добавлена базовая поддержка функций шрифта OpenType, с текущим акцентом на включении кернинга.
- Добавлено новое поле Расстояние с виджетом модели коробки в UI Builder’s Inspector.
TextMeshPro
- Добавлена базовая поддержка эмоджи.
- Добавлена базовая поддержка шрифта OpenType, на данный момент включена только кернинг.
Графика
- Пакетное вычисление Skinning: UnityКомпонент Skinned Mesh Renderer использует вычислительные отправки для параллелизации преобразований вершин на GPU. Unity 2023.2 вносит оптимизации в Skinned Mesh Renderers на всех поддерживаемых платформах. Эти оптимизации направлены на пакетные вычисления skinning и blendshape dispatch. Это может увеличить количество вершин, деформированных параллельно, и улучшить GPU представление характера и рендеринг сетки с кожей.
- Прогрессивный GPU Lightmapper теперь вышел из предварительного просмотра и полностью поддерживается.
- Добавлено APIs для перемещения позиций Светового зонда во время выполнения.
- Удалена настройка Auto Generate в окне Lighting. Соответствующие API теперь устарели. Чтобы проверить карты освещения во время редактирования, вы можете выбрать Scene View Draw Mode и задать Lighting Data на Предварительный просмотр. Это отображает предварительный просмотр запеченного освещения. Предварительные lightmaps не деструктивны, и вы можете использовать их после того, как вы запечили сцену.
- Добавлено
BatchCullingContext.cullingFlags, чтобы указать, следует ли удалять тени с световыми картами. - Добавлена поддержка
rendererPriorityдляBatchRendererGroup. - Добавлена поддержка для построения структур ускорения трассирования лучей асинхронно в очереди вычислений. AsyncCompute CommandBuffers теперь могут выполнять команды
CommandBuffer.BuildRayTracingAccelerationStructure. Добавлена поддержкаRayTracingAccelerationStructureдо RenderGraph и просмотрщика графиков рендера. - Добавлена поддержка ограничения mipmap для Texture2DArrays.
- Добавлена поддержка mipmap stripping для Texture2DArrays.
- Добавлена поддержка предоставления плиточных EXR изображений для LoadImage.
- Включены флаги построения структуры ускорения трассирования для балансирования времени построения по сравнению со скоростью трассирования и потреблением памяти на GPU. Вы можете настроить флаги из C# при создании и построении
RayTracingAccelerationStructureили через настройки Renderer. - Добавлена поддержка Native Render Pass для Vulkan для Android, Metal для iOS/MacOS (Apple Sillicon), и DirectX12 для Windows на ARM.
- Добавлена поддержка GPU пакетного скининга для D3D12 (Windows и XBox платформ).
- Добавлена функция Custom Vertex Streams для следов частиц.
- Добавлены скриптовые методы
BakeTextureиBakeTrailsTexture.
Universal Render Pipeline (URP)
Полное описание новых функций и улучшений в URP см. в Что нового в URP.
- Добавлена кросс-платформенная поддержка HDR дисплея. HDR дисплеи способны воспроизводить изображения в более высоком диапазоне разницы в яркости ближе к естественным условиям освещения. HDR выход сохраняет контраст и качество линейного освещения рендеринга и HDR изображений, отображаемых на этих устройствах. Редактор и автономные проигрыватели теперь обеспечивают полную HDR тоновое отображение и поддержку дисплея, через все рендеринг конвейеров и способных платформ, включая мобильные и XR.
- Добавлены уровни качества по вершинам для косвенного освещения из зондов, чтобы URP более эффективно отображал освещенные окружения. Вам может понадобиться дополнительная оптимизация на мобильном устройстве, так как URP не поддерживает смешивание освещения или нормализацию освещения для зондов отражения.
- Добавлен новый вариант в Motion Blur компонент объема, называемый Camera и объекты которая использует векторы движения для размытия объектов, которые движутся быстрее, чем время экспозиции камеры.
- Добавлена поддержка дополнительных куки направленного света.
- Добавлено поле Профиль тома по умолчанию в URP Глобальные настройки.
- Добавлено поле Профиль тома в ассет Universal Render Pipeline.
- Добавлена поддержка вектора движения с алембической скоростью для материалов URP.
- Добавлено автоматическое генерирование вектора движения TimeBased для ShaderGraphs с вершинной анимацией, основанной только на узле Время. Все другие данные, влияющие на позицию, должны быть постоянными между кадрами.
- Добавлена поддержка рендеринга XR и камер, использующих ортографическую проекцию, на пути рендеринга Forward+.
- Добавлена поддержка foveated рендеринга в пути рендеринга Forward+.
High Definition Render Pipeline (HDRP)
Полное описание новых функций и улучшений в URP см. в Что нового в HDRP.
- Добавлена поддержка трассера HDRP для проекторов Decals. Трассеры не поддерживают эмиссию из наклеек.
- Добавлена возможность потокового передачи данных Probe Volume с диска во время выполнения. Вы можете включить или отключить потоковую передачу диска для различных уровней качества.
- Сделано HDRP Shader Graph наклейки совместимы с прозрачными объектами. Это означает, что вы можете использовать наклейки, созданные с Shader Graph, чтобы повлиять на прозрачные объекты, чтобы построить процедурные эффекты, такие как капли дождя, волны, пользовательские гравировки, грязные эффекты на стекле.
- Добавлено ночное небо с звездами и небесными телами к физическому небу HDRP.
- Добавлен выход Shader Graph для физически основанного неба и добавлены элементы управления для создания луны.
- Добавлена визуализация асинхронных вычислительных проходов и их точек синхронизации в просмотрщике графиков рендеринга.
- Добавлены карты пивных теней для объемных облаков.
- Добавлено поле Профиль тома к ассету High Definition Render Pipeline.
- Добавлен тип материала для тонких объектов с цветной пропускной способностью.
- Добавлена опция отключения прозрачного покрытия на материале для Lit ShaderGraphs.
- Добавлен глобальный пропуск API, который можно использовать для введения пользовательских пропусков в конвейер рендеринга без GameObjects в сцене.
- Добавлена возможность отладки в режиме объемного тумана для произвольных переменных выхода (AOV).
- Добавлена возможность Adaptive Probe Volumes (APV) для потокового передачи данных непосредственно с диска. Эта функция доступна только на устройствах с совместимостью с вычислительными шейдерами.
- Добавлена возможность использования печенья API для запекания Адаптированных Объемов Пробоотборников (APV) независимо от lightmaps или отражений пробоотборников.
Многопользовательский режим
Netcode for GameObjects
- В контекстное меню компонента Network Object добавлен параметр Refresh In-Scene Prefab Instances. Используйте его, чтобы обновить значение
GlobalObjectIdHashу экземпляров префабов в сцене, которые существовали до добавления к ним компонентаNetworkObject. Параметр влияет на все сцены, включённые в список сборки. - Добавлено
NetworkManagerметодыSetPeerMTUиGetPeerMTUчтобы получить полный контроль над размерами максимального блока передачи (MTU). Используйте это для собственных протоколов в Netcode for GameObjects. - Улучшено генерирование идентификации сети префаб (например,
GlobalObjectIdHash), чтобы исправить проблемы, когда Unity назначал неверные значения. - Улучшены конвейеры сериализации API и codegen следующим образом:
- Добавлено
GenerateSerializationForTypeAttributeметод, который можно применить к любому классу или методу, чтобы гарантировать включение конкретного типа в процесс генерации кода сериализации. - Добавлен метод
GenerateSerializationForGenericParameterAttribute, который можно использовать для включения в процесс кодгена общего type(s), обернутого типомNetworkVariable. - Выложены дополнительные методы
NetworkVariableSerializationдля улучшения создания пользовательскогоNetworkVariableбез каких-либо затрат на боксирование. Вы можете использовать методNetworkVariableBase.MarkNetworkBehaviourDirtyдля маркировки NetworkVariables как грязного.
- Добавлено
- RPCs в общем виде
NetworkBehaviourтипы теперь могут сериализовать параметры обобщённых типов класса. - Улучшена поддержка 32-битного ARMv7 в Netcode.
- Добавлено дополнительное
NetworkManagerсобытияOnServerStarted,OnServerStopped,OnClientStarted, иOnClientStoppedв целях обеспечения более эффективного уведомленияNetworkManagerпроцесс инициализации.
Выделенная серверная платформа
- Добавлена опция Dedicated Server Optimizations в настройках игрока, которая, при включении, удаляет все шейдеры из серверных сборок. Включите эту опцию, чтобы значительно сократить время сборки.
Unity Транспортные средства
- Unity Транспорт 2.X теперь является стандартной и рекомендуемой версией Unity Транспорт.
- Теперь можно настроить максимальный размер сообщения, которое транспорт отправляет с помощью нового параметра
maxMessageSizeвNetworkSettings.WithNetworkConfigParameters. Это полезно для сред, где сетевое оборудование неправильно обрабатывает большие пакеты (как некоторые мобильные сети или VPNs). Значение исключает заголовки IP и UDP, но включает заголовки, добавленные самим транспортом (например, заголовки надежности). Значение по умолчанию — 1400. Обратите внимание, что клиент и сервер должны использовать одно и то же значение.
Package Manager
Изменения в управлении кэшем пакетов
- Изменено расположение по умолчанию и структура глобальный кэш.
- Кэш данных реестра теперь по умолчанию ограничен максимальным размером 10 ГБ. Изменить значение по умолчанию можно настройка глобального кэша.
Изменения в окне Package Manager
- Добавлено панель навигации:
- Добавлена панель для улучшения навигации между представлениями подмножеств пакетов. В предыдущих версиях эти контексты хранились в выпадающем меню Пакеты.
- Добавлена Услуги как выделенная запись в панели навигации Package Manager.
- Добавлено Обновления как вложенная запись под В Project в панели навигации. Это вложенное представление перечисляет все пакеты в вашем проекте, у которых доступны обновления.
- Добавлены отдельные реестры с определенной областью действия в качестве вложенных записей под Мои реестры в панели навигации.
- Усовершенствование системы панель списка:
- Добавлено расширение Packages — Asset Store в панель списка контекста В Project, так что вы можете просматривать и управлять пакетами Asset Store из представления В Project.
- Переместили поисковое поле в и изменили его поведение, так что оно запоминает ваши поисковые термины на контекстной основе.
- Усовершенствование системы панель деталей:
- Улучшен поток управления пакетами в контексте Мои активы путем оптимизации кнопок действий в панели деталей. Наиболее частое действие появляется как действие по умолчанию в кнопке меню, с дополнительными действиями, перечисленными в меню. Также добавлена метка В Project, чтобы четко указать, когда пакет Asset Store уже импортирован в ваш проект и обновлен.
- Обновлена этикетка Импорт кнопка при просмотре Asset Store пакет. После вас скачать обновленный Asset Store пакет, метка главной кнопки действия Импорт обновления #.# в проект, так что ясно, что вам нужно импортировать обновление в свой проект.
- Обновлено поведение ссылки Документация для пакетов, которые вы установили из реестра. Теперь вы можете щелкнуть правой кнопкой мыши ссылку и выбрать Открыть в браузере или Открыть локально.
- Добавлена кнопка для входа в систему с вашим Unity ID, когда вы вышли из системы и пытаетесь просмотреть детали пакета Asset Store.
- Другие улучшения:
Android
- Добавлено Addressables для пакета Android (
com.unity.addressables.android) для обеспечения поддержки доставки Play Asset Delivery для Addressables. - Добавлена поддержка формата сжатия текстуры через Addressables для пакета Android, чтобы упаковывать несколько форматов сжатия текстуры в пакеты ассетов Android. Во время установки APK создается только с использованием оптимальных форматов сжатия текстуры, основанных на мобильном GPU устройства, чтобы загрузить и отобразить текстуры быстрее и с меньшим количеством памяти.
- Добавлено
ApplicationExitInfoAPI для предоставления информации о сбоях приложения и ошибках неответа приложения (ANR). - Внесены следующие улучшения:
- Сделано
GameActivityв качестве точки входа приложения по умолчанию, чтобы обеспечить больше контроля над взаимодействием между Android и вашим приложением. - Повышена минимальная поддерживаемая версия Android до 6.0 (API уровень 23).
- Сделано
Profiler
- Добавлена поддержка метаданных для AudioClip и шейдер в памяти Profiler.
- Добавлен модуль Highlights в окно Profiler.
- Добавлено новое Инверсное представление Hierarchy для CPU Profiler.
Лайттрекинг API
- Флаг Ray Tracing Acceleration Structure Build Flags: Новые флаг Raytracing Acceleration Structure Build Flags были введены в рендеры Unity и RTAS API. Эти флаги позволяют контролировать компромисс между использованием памяти для трассирования лучей, временем сборки RTAS и производительностью трассирования лучей. Разработчики и художники могут использовать новые флаги для точной настройки производительности трассирования лучей в своих сценах и рендерах.
- Встроенное отслеживание лучей в шейдерах: Теперь вы можете использовать встроенное отслеживание лучей в растровых и вычислительных шейдерах при работе с DXR1.1-совместимыми платформами Windows, Xbox Series X/S и Playstation 5. Вы можете отправлять запросы лучей из шейдеров, чтобы пересечь связанную структуру ускорения отслеживания лучей и выполнить тестирование пересечений. Это позволяет реализовать все виды аппаратно ускоренных эффектов отслеживания лучей и симуляторов.
Shader Graph
- Добавлена поддержка UGUI для Shader Graph. Shader Graph теперь имеет подцелевые объекты для Canvas как в URP, так и в HDRP. UI художники могут создавать пользовательские шейдеры для своих UI элементов с помощью Shader Graph. Определите общий вид и стиль UI элементов, создайте анимационные UI эффекты и определите пользовательские состояния кнопок, используя меньше памяти текстуры.
- Включен Shader Graph Canvas Master Node, чтобы позволить пользователям создавать UI shaders для Canvas в HDRP, URP и Inbuilt.
SpeedTree
Улучшено визуальное качество SpeedTree в HDRP с использованием Transmission Mask для применения подповерхностного рассеяния только на листьях. HDRP/Nature/SpeedTree8.shadergraph для использования карты подповерхности для узла Transmission Mask для удаления непреднамеренного пропускания света от коры деревьев и веток. Это также исправляет чрезмерно яркое освещение рекламного щита, не соответствующее освещению геометрии 3D.
Сплайн
Теперь на объектах Spline можно хранить персонализированные данные. Кроме того, улучшен интерфейс редактирования точек в Inspector, а часть API стала публичной. Работая со сплайнами, вы теперь можете использовать новый Scene просмотр контекстного меню.
Рамки тестирования
- Включена возможность повторной попытки и повторения тестов в зависимости от уровня теста. Как только тест завершает выполнение первой итерации, Редактор теперь повторяет или повторяет тест. Передавайте аргументы командной строки Редактору для:
- Repeat x запускает тест x раз или до тех пор, пока он не завершится неудачей. Это полезно для тестирования нестабильных тестов.
- Повторить x, если тест не удаётся. Это запускает тест x раз или до тех пор, пока он не удастся.
- Теперь вы можете запускать тесты в случайном порядке, используя новый аргумент командной строки Редактора
-randomOrderSeed x, гдеxявляется целым числом, отличным от 0. Если в проект добавляется новый тест, Test Framework сохраняет случайный порядок, передавая то же семя, и помещает новый тест в случайном списке соответственно. - Добавлено
TestFileReferences.jsonдля генерации на шаге сборки игрока, так что тестовые бегуны могут потреблять его для обогащения данных для шага запуска. - Версия UTF теперь автоматически обновляется для тестов SRP.
Контроль версий
Добавлена опция проекта для поддержки отслеживания пакетов, которые существуют на диске вне корневой папки проекта.
VFX График
- Добавлено VFX Графические ассеты с предопределенным эффектом в окно шаблона. Вы можете использовать эти шаблоны в качестве отправной точки для своих собственных эффектов.
- Добавлены пользовательские блоки и операторы HLSL. Пользовательские узлы HLSL позволяют выполнять свой собственный код во время симуляции частиц. Вы можете использовать оператор для горизонтального потока или блок для вертикального потока в контексте VFX Graph.
- Добавлены URP наклейки с VFX графика. URP свет наклейки выход теперь поддерживается в VFX графика, что позволяет создавать потрясающие эффекты наклейки на URP, что соответствует правильно освещение сцены и материалов
- Добавлена подсветка для дымовых эффектов Shader Graph в HDRP и URP. Это означает, что вы можете создавать собственные дымовые шейдеры, которые используют шестимерную подсветку в освещенных шейдерах.
- Расширено поведение буфера глубины и цвета Camera в URP. Это означает, что вы можете использовать буфер глубины для столкновений на основе глубины или использовать цветовой буфер для создания пользовательских эффектов.
- Добавлена поддержка вектора движения в URP.
- Добавлена поддержка вектора движения с Shader Graph.
- Добавлена возможность использовать интеграцию VFX Graph с Shader Graph, чтобы через рабочий процесс вариантов материала переопределять настройки в VFX Output.
- Включено создание экземпляров VFX с открытыми текстурами, мешами или графическими буферами.
Веб-платформа (ранее WebGL)
- Веб-сборки Unity теперь используют последние оптимизации размера и производительности в цепочке инструментов Emscripten.
- Добавлена поддержка для указания типа браузера и его исполняемого пути, который вы хотите, чтобы ваше приложение запустилось во время выполнения. Вы можете указать это либо с помощью командной строки, либо с помощью параметра GUI в окне Настройки сборки.
XR
- Добавлена поддержка автоматизации Hololens.
- Расширена интегрированная поддержка Unity для отображения тонов и выхода на HDR дисплеи в URP, HDRP и встроенный конвейер рендеринга для обеспечения поддержки XR устройств, имеющих HDR дисплей.