Описание
Делегат, который можно использовать для вызова пользовательского кода после того, как 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;
}
}
Смотрите так же: RenderPipeline.BeginCameraRendering, RenderPipeline.EndCameraRendering, RenderPipeline.BeginFrameRendering, RenderPipeline.EndFrameRendering, Unity Manual: Scriptable Render Pipeline