版本:Unity 6 (6000.0)
语言英语
  • C#

RenderPipelineManager.activeRenderPipelineDisposed

建议变更

成功!

感谢你帮助我们提升 Unity 文档的质量。虽然我们无法接受所有投件内容,但我们确实认真阅读用户建议的每项变更并会针对适用的情况进行更新。

关闭

投件失败

由于某些原因,你的建议变更无法提交。请在几分钟后再 尝试 一次,感谢你抽出时间帮助我们提升 Unity 文档的质量。

关闭

取消

描述

委托,可在 RenderPipelineManager.currentPipeline 被处置之前用来调用自定义代码。

每当你切换 GraphicsSettings.currentRenderPipelineQualitySettings.renderPipeline 时,Unity 都会在实例化新的 RenderPipeline 之前处置当前的 RenderPipeline。你可以订阅此事件来获知当前 RenderPipeline 何时会被处置。要访问当前正在处置的 RenderPipeline 对象,你可以依赖 RenderPipelineManager.currentPipeline

using UnityEngine;
using UnityEngine.Rendering;

public class CurrentRenderPipelineDisposedExample : MonoBehaviour { void Start() { RenderPipelineManager.activeRenderPipelineDisposed += RenderPipelineManager_activeRenderPipelineDisposed; }

private void OnDestroy() { RenderPipelineManager.activeRenderPipelineDisposed -= RenderPipelineManager_activeRenderPipelineDisposed; }

private void RenderPipelineManager_activeRenderPipelineDisposed() { Debug.Log($"Render Pipeline {RenderPipelineManager.currentPipeline.GetType().Name} is disposing."); } }