Unity 6.3
0 онлайн 106 гостей 3 в системе
Вход
Последующая обработка Шаг 14 из 39

Устранение неполадок томов

Выявление и решение общих проблем при работе с томами.

Настройки тома не обновляются с помощью скриптов

Изменение значений профиля тома, назначенного в качестве профиля тома по умолчанию или профиля тома качества, с помощью скрипта не имеет никакого эффекта.

Причина

Unity кэширует значения настроек Project для томов при запуске или при изменении значений через Unity Editor. Это означает, что изменения этих настроек в вашем скрипте не повлияют на вашу сцену, если вы явно не обновите кэш. Дополнительную информацию см. в Понимание томов в URP.

Резолюция

Чтобы решить эту проблему, используйте один из следующих вариантов.

Создание Global Volume в сцене и переопределение свойств через него

Создать Глобальный объем в сцене и переопределите через него свойства профиля Default Volume Profile. Unity не кэширует свойства Глобальный объем определены в вашей сцене.

Чтобы настроить профиль тома на получение обновлений с помощью скрипта:

  1. Добавить Глобальный объем на место происшествия.
  2. Добавить Переопределение Тома в Глобальный Том.
  3. В окне Volume Override Inspector включите свойство, которое нужно изменить.
  4. Измените соответствующее свойство в сценарии.

Unity обновляет свойство правильно, потому что оно не связано с кэшированными значениями.

Перезагрузка начальных значений

Вы можете явно заставить структуру тома пересчитать кэшируемые значения, используя метод VolumeManager.instance.OnVolumeProfileChanged(volumeProfile) после изменения значения.

Важно: Принуждение структуры тома к перерасчету кэша увеличивает рабочую нагрузку. Это может уменьшить производительность интерполяции тома в вашем проекте. Используйте этот метод только в случае необходимости.

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