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

RenderPipeline.BeginCameraRendering

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

protected static void BeginCameraRendering(Rendering.ScriptableRenderContext context, Camera camera);

在通用渲染管线 (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 } } }