在通用渲染管线 (URP) 和高清渲染管线 (HDRP) 中,Unity 会在对单个摄像机执行渲染操作后自动调用此方法。如果您正在编写自定义的可脚本化渲染管线,可以手动调用此方法来使用 RenderPipelineManager.endCameraRendering 委托。
以下代码示例演示了如果您正在创建自定义的可脚本化渲染管线,则在哪里调用此方法。
using UnityEngine; using UnityEngine.Rendering;
public class ExampleRenderPipelineInstance : RenderPipeline { public ExampleRenderPipelineInstance() { }
override protected void Render(ScriptableRenderContext context, Camera[] cameras) { for (var i = 0; i < cameras.Length; i++) { var camera = cameras[i];
// Put your code for rendering the Camera here
// Call the RenderPipelineManager.endCameraRendering delegate EndCameraRendering(context, camera); } } }