当 Unity 更改活动渲染管道且新RenderPipeline的类型与旧类型不同时,您可以使用此委托来调用自定义代码。
如果 Unity 用于渲染帧的RenderPipeline
类型与前一帧的不同,则 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; } }