Version: 2021.3

RenderPipelineManager.activeRenderPipelineTypeChanged

切换到手册

描述

Delegate that you can use to invoke custom code when Unity changes the active render pipeline, and the new RenderPipeline has a different type to the old one.

If the RenderPipeline that Unity uses to render a frame is a different type to the one from the previous frame, Unity executes the methods in this delegate's invocation list.

If you are writing a tool that relies on the resources or results of a type of RenderPipeline, you can use this delegate to be notified of any change.

The following code example demonstrates how to add a method to this delegate's invocation list, and later remove it.

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; } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961