Unity 6.3
0 онлайн 49 гостей 3 в системе
Вход

RenderPipelineManager.beginCameraRendering

Описание

Делегирование, которое можно использовать для вызова пользовательского кода до того, как Unity отобразит индивидуальный Camera.

Когда Unity вызывает RenderPipeline.BeginCameraRendering, он выполняет методы в списке вызовов этого делегата.

В Universal Render Pipeline (URP) и High Definition Render Pipeline (HDRP) Unity автоматически вызывает RenderPipeline.BeginCameraRendering. Если вы пишете пользовательский Scriptable Render Pipeline и хотите использовать этого делегата, вы должны добавить вызов RenderPipeline.BeginCameraRendering.

В следующем примере кода показано, как добавить метод в список вызовов этого делегата, а затем удалить его.

using UnityEngine;
using UnityEngine.Rendering;

public class ExampleClass : MonoBehaviour { void Start() { RenderPipelineManager.beginCameraRendering += OnBeginCameraRendering; }

void OnBeginCameraRendering(ScriptableRenderContext context, Camera camera) { // Put the code that you want to execute before 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.BeginCameraRendering }

void OnDestroy() { RenderPipelineManager.beginCameraRendering -= OnBeginCameraRendering; } }

Дополнительные ресурсы: RenderPipeline.BeginCameraRendering, RenderPipeline.EndCameraRendering, RenderPipeline.BeginFrameRendering, RenderPipeline.EndFrameRendering, Unity Руководство: Scriptable Render Pipeline