Unity 6.3
0 онлайн 17 гостей 3 в системе
Вход

Обновление до Unity 2023.1

На этой странице перечислены изменения в Unity 2023.1, которые могут повлиять на существующие проекты при обновлении их с версии 2022 LTS до 2023.1.

Контуры страницы

Конвейеры отображения

Это руководство по обновлению описывает, как обновить до версии 2023.1 встроенный конвейер рендеринга Unity. Чтобы обновить другие конвейеры рендеринга до версии 2023.1, см.:

Чтобы обновить другие пакеты, обратитесь к документации для используемых пакетов.

Свойства радиуса гауссовского фильтра от LightingSettings теперь являются значениями с плавающей точкой

Средство Progressive Lightmapper включает вариант Gaussian среди расширенных Продвинутый уровень параметров фильтрации (Lighting Window > Lightmapping Settings > Filtering > Direct Filter > Gaussian). Элемент управления Радиус для фильтрации Gaussian теперь поддерживает дробный шаг, например 0,5. Ранее он поддерживал только целочисленные шаги (от 1 до 5).

В результате этого изменения эти свойства теперь устарели в C# API:

  • int LightingSettings.filteringGaussRadiusAO
  • int LightingSettings.filteringGaussRadiusDirect
  • int LightingSettings.filteringGaussRadiusIndirect

Замены с плавающей точкой для устаревших свойств:

  • float LightingSettings.filteringGaussianRadiusAO
  • float LightingSettings.filteringGaussianRadiusDirect
  • float LightingSettings.filteringGaussianRadiusIndirect

Можно вызвать одну из устаревших функций членов для округления радиуса гауссовского фильтра до ближайшего целого числа.

Улучшение энергосбережения светочувствительного зонда

Световые зонды теперь такие же яркие, как и карты освещения. Раньше световые зонды Unity были только на 94% яркими, как они должны быть. По этой причине объекты, освещенные световыми зондами, выглядели немного темнее, чем объекты, освещенные картами освещения. Из-за тонкости этого изменения, возможно, что многие пользователи не увидят заметной разницы.

Если вы предпочитаете старый вид, вы можете достичь этого следующим образом:

  1. Печь световые зонды.
  2. Используйте C# для получения копии массива LightmapSettings.lightProbes.bakedProbes.
  3. Для каждого экземпляра SphericalHarmonicsL2 умножайте коэффициент 0 на 16/17.
  4. Запишете свою копию массива обратно в LightmapSettings.lightProbes.bakedProbes.

«Глобальное освещение» больше не доступно.

Базовый модуль Enlighten Baked Global Illumination больше не доступен.

При обновлении проекта до этой версии, Unity удаляет backend Enlighten baking из раскрывающегося списка выбора lightmapper и заменяет Progressive Lightmapper в каждом Scene, где вы выбрали backend Enlighten baking.

На силиконовых устройствах Apple, Unity заменяет Progressive GPU Lightmapper для Enlighten baking backend. На всех других устройствах, Unity выбирает CPU Progressive Lightmapper.

Enlighten предварительно рассчитанный Realtime Global Illumination все еще доступен и поддерживается до Unity 6.

Android: класс Java UnityPlayer необходимо переименовать в UnityPlayerForActivityOrService

UnityPlayer Класс Java заменён двумя новыми классами-мостами: UnityPlayerForActivityOrService и UnityPlayerForGameActivityОба этих новых класса вытекают из UnityPlayer, но открытые методы, такие как displayChanged и windowFocusChanged переехали из UnityPlayer конкретно к UnityPlayerForActivityOrService.

Если вы расширить деятельность по умолчанию Unity и использовать UnityPlayer класс, вы можете столкнуться с ошибками компиляции. В этом случае переименуйте UnityPlayer до UnityPlayerForActivityOrService.

Android: Java-класс UnityPlayer больше не наследует FrameLayout

UnityPlayer Java-класс больше не наследует FrameLayout. Если вам нужен доступ FrameLayout, позвоните getFrameLayout функции на UnityPlayer экземпляр.

FetchFirstCompatibleTypeUsingScriptableRenderPipelineExtension заменено на GetDerivedTypesSupportedOnCurrentPipeline

RenderPipelineEditorUtility.FetchFirstCompatibleTypeUsingScriptableRenderPipelineExtension теперь устарел. Используйте GetDerivedTypesSupportedOnCurrentPipeline вместо него. Сигнатура этого метода также изменилась; теперь он возвращает все производные типы, а не только первый, который он встречает. Это предотвращает несоответствия, потому что Unity не гарантирует порядок типов.

CustomEditorForRenderPipelineAttribute и VolumeComponentMenuForRenderPipelineAttribute устарели

CustomEditorForRenderPipelineAttribute и VolumeComponentMenuForRenderPipelineAttribute теперь устарели. Используйте CustomEditor и VolumeComponentMenu вместо них. Чтобы ограничить выбор конвейера, когда эти атрибуты активны, объедините их с SupportedOnRenderPipelineAttribute и укажите тип RenderPipelineAsset. Если вы хотите активировать атрибут SRP, который работает с Встроенным Render Pipeline, используйте SupportedOnRenderPipelineAttribute без параметров. Это обеспечивает унифицированный рабочий процесс для обоих атрибутов, когда возникает необходимость активировать их на конкретном конвейере.

Изменения в Android использовании шаблонов Gradle

Был введен новый API для модификации проекта Gradle Android. API может быть использован для замены старого рабочего процесса шаблонов Gradle Android. Шаблоны будут работать как прежде, если новый API не будет использован.

Для использования нового API можно использовать Templates Upgrader:

  1. Откройте Android Настройки плеера.
  2. Перейдите в Настройки публикации > Строительство.
  3. Выберите Обновить шаблоны до C#.

Дополнительные ресурсы