RenderPipelineManager.activeRenderPipelineTypeChanged
Описание
Делегирование, которое можно использовать для вызова пользовательского кода, когда Unity изменяет активный конвейер отображения, и новый RenderPipeline имеет тип, отличающийся от старого.
Если RenderPipeline, который Unity использует для отображения кадра, отличается типом от типа предыдущего кадра, Unity выполняет методы в списке вызовов этого делегата.
Если вы пишете инструмент, который зависит от ресурсов или результатов типа RenderPipeline, вы можете использовать этого делегата для уведомления о любых изменениях.
В следующем примере кода показано, как добавить метод в список вызовов этого делегата, а затем удалить его.
using UnityEngine; using UnityEngine.Rendering;
public class ExampleClass : MonoBehaviour { void Start() { RenderPipelineManager.activeRenderPipelineTypeChanged += OnRenderPipelineTypeChanged; }
void OnRenderPipelineTypeChanged() { // Put the code that you want to execute everytime the Render Pipeline used is changed // You can know which pipeline is currently active by calling RenderPipelineManager.currentPipeline }
void OnDestroy() { RenderPipelineManager.activeRenderPipelineTypeChanged -= OnRenderPipelineTypeChanged; } }
Дополнительные ресурсы: Как получить, установить и настроить активный конвейер отображения, ,GraphicsSettings.currentRenderPipeline,, ,GraphicsSettings.defaultRenderPipeline,, ,QualitySettings.renderPipeline,, ,RenderPipelineManager.currentPipeline,.