Описание
Делегат, который можно использовать для вызова пользовательского кода в начале RenderPipeline.Render.
Когда Unity вызывает RenderPipeline.BeginFrameRendering, выполняются методы из списка вызовов этого делегата.
vВ универсальном конвейере рендеринга (URP) и конвейере рендеринга высокого разрешения (HDRP) Unity автоматически вызывает RenderPipeline.BeginFrameRendering. Если вы пишете собственный Scriptable Render Pipeline и хотите использовать этот делегат, вы должны добавить вызов RenderPipeline.BeginFrameRendering в конце RenderPipeline.Render.
В следующем примере кода показано, как добавить метод в список вызовов этого делегата, а затем удалить его.
using UnityEngine;
using UnityEngine.Rendering;
public class ExampleClass : MonoBehaviour
{
void Start()
{
RenderPipelineManager.beginFrameRendering += OnBeginFrameRendering;
}
void OnBeginFrameRendering(ScriptableRenderContext context, Camera[] cameras)
{
// Put the code that you want to execute at the start of RenderPipeline.Render here
// If you are using URP or HDRP, Unity calls this method automatically
// If you are writing a custom SRP, you must call RenderPipeline.BeginFrameRendering
}
void OnDestroy()
{
RenderPipelineManager.beginFrameRendering -= OnBeginFrameRendering;
}
}
Смотрите так же: RenderPipeline.BeginFrameRendering, RenderPipeline.EndFrameRendering, RenderPipelineManager.endFrameRendering, Unity Manual: Scriptable Render Pipeline