post processing в unity не работает

Перед возникновением проблемы я обновил проект Unity до версии 2021.1.23f1. Затем проект откатили до версии 2020.3.0f1 по совету друга: ему кто-то сказал, что новая версия юнити баганая и не работает должным образом.

В итоге директива using UnityEngine.Rendering.PostProcessing перестала работать, хотя раньше работала. В чём может быть проблема?

Код скрипта, использующий директиву:

using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

public class NightCollider : MonoBehaviour
{
    public NightChanger nightChanger;
    public PostProcessVolume volume;
    public const float TO_NIGHT_GRADIENT_START = 0.25f;
    public const float TO_NIGHT_GRADIENT_END = 0.5f;
    public const float TO_DAY_GRADIENT_START = 0.8f;
    public const float NIGHT_GRADIENT_DURATION = TO_NIGHT_GRADIENT_END - TO_NIGHT_GRADIENT_START;
    public const float DAY_GRADIENT_DURATION = 1 - TO_DAY_GRADIENT_START;
    

    // Start is called before the first frame update
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
        if (nightChanger.timeProgress < TO_NIGHT_GRADIENT_START)
        {
            volume.weight = 0f;
        }
        else if (nightChanger.timeProgress >= TO_NIGHT_GRADIENT_START && nightChanger.timeProgress < TO_NIGHT_GRADIENT_END)
        {
            volume.weight = (nightChanger.timeProgress - TO_NIGHT_GRADIENT_START) * (1 / NIGHT_GRADIENT_DURATION);
        }
        else if (nightChanger.timeProgress >= TO_NIGHT_GRADIENT_END && nightChanger.timeProgress < TO_DAY_GRADIENT_START)
        {
            volume.weight = 1f;
        }
        else
        {
            volume.weight = 1 - (nightChanger.timeProgress - TO_DAY_GRADIENT_START) * (1 / DAY_GRADIENT_DURATION);
        }
    }
}

Ответы (1 шт):

Автор решения: Acsell

Используйте вместо класса PostProcessingVolue просто Volue Вот пример

using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.HighDefinition;

public class PostProcessing : MonoBehaviour
{
    [SerializeField]
    private Volume _volume;

    private DepthOfField _depthOfField;

    private void Start()
    {
        _volume = GetComponent<Volume>();
        _volume.profile.TryGet<DepthOfField>(out _depthOfField);
    }

    public void OnBlure()
    {
        _depthOfField.active = true;
    }
    public void OffBlure()
    {
        _depthOfField.active = true;
    }
}
→ Ссылка