您可以使用此委托在 Unity 渲染单独相机后调用自定义代码。
当 Unity 调用 RenderPipeline.EndCameraRendering 时,它会执行此委托的调用列表中的方法。
在通用渲染管线 (URP) 和高清渲染管线 (HDRP) 中,Unity 会自动调用 RenderPipeline.EndCameraRendering。如果您编写自定义可脚本化渲染管线并且希望使用此委托,则必须添加对 RenderPipeline.EndCameraRendering 的调用。
以下代码示例演示如何将方法添加到此委托的调用列表并稍后将其删除。
using UnityEngine; using UnityEngine.Rendering;
public class ExampleClass : MonoBehaviour { void Start() { RenderPipelineManager.endCameraRendering += OnEndCameraRendering; }
void OnEndCameraRendering(ScriptableRenderContext context, Camera camera) { // Put the code that you want to execute after the camera renders here // If you are using URP or HDRP, Unity calls this method automatically // If you are writing a custom SRP, you must call RenderPipeline.EndCameraRendering }
void OnDestroy() { RenderPipelineManager.endCameraRendering -= OnEndCameraRendering; } }