Устранение неполадок томов
Выявление и решение общих проблем при работе с томами.
Настройки тома не обновляются с помощью скриптов
Изменение значений профиля тома, назначенного в качестве профиля тома по умолчанию или профиля тома качества, с помощью скрипта не имеет никакого эффекта.
Причина
Unity кэширует значения настроек Project для томов при запуске или при изменении значений через Unity Editor. Это означает, что изменения этих настроек в вашем скрипте не повлияют на вашу сцену, если вы явно не обновите кэш. Дополнительную информацию см. в Понимание томов в URP.
Резолюция
Чтобы решить эту проблему, используйте один из следующих вариантов.
Создание Global Volume в сцене и переопределение свойств через него
Создать Глобальный объем в сцене и переопределите через него свойства профиля Default Volume Profile. Unity не кэширует свойства Глобальный объем определены в вашей сцене.
Чтобы настроить профиль тома на получение обновлений с помощью скрипта:
- Добавить Глобальный объем на место происшествия.
- Добавить Переопределение Тома в Глобальный Том.
- В окне Volume Override Inspector включите свойство, которое нужно изменить.
- Измените соответствующее свойство в сценарии.
Unity обновляет свойство правильно, потому что оно не связано с кэшированными значениями.
Перезагрузка начальных значений
Вы можете явно заставить структуру тома пересчитать кэшируемые значения, используя метод VolumeManager.instance.OnVolumeProfileChanged(volumeProfile) после изменения значения.
Важно: Принуждение структуры тома к перерасчету кэша увеличивает рабочую нагрузку. Это может уменьшить производительность интерполяции тома в вашем проекте. Используйте этот метод только в случае необходимости.