在通用渲染管线 (URP) 和高清渲染管线 (HDRP) 中,Unity 会在对单个摄像机执行渲染操作之前自动调用此方法。如果您正在编写自定义的可脚本化渲染管线,则可以手动调用此方法以使用 RenderPipelineManager.beginCameraRendering 委托。
以下代码示例演示了如果您正在创建自定义的可脚本化渲染管线,则在何处调用此方法。
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];
// Call the RenderPipelineManager.beginCameraRendering delegate BeginCameraRendering(context, camera);
// Put your code for rendering the Camera here } } }