Описание
Метод точки входа, который определяет пользовательский рендеринг для этого RenderPipeline.
Этот метод является точкой входа в Scriptable Render Pipeline (SRP). Эта функция несовместима со встроенным конвейером рендеринга.
Unity вызывает этот метод автоматически. В автономном приложении Unity вызывает этот метод один раз для каждого кадра для визуализации основного вида и один раз для каждого ручного вызова Camera.Render. В редакторе Unity Unity вызывает этот метод один раз за кадр для каждого видимого вида сцены или вида игры, один раз за кадр, если виден предварительный просмотр камеры сцены, и один раз за кадр для каждого ручного вызова Camera.Render.
Если вы используете универсальный конвейер рендеринга (URP) или конвейер рендеринга высокого разрешения (HDRP), вы можете использовать RenderPipelineManager.beginFrameRendering, RenderPipelineManager.beginCameraRendering, RenderPipelineManager.endCameraRendering и RenderPipelineManager.endFrameRendering делегирует вызов вашего пользовательского кода в определенных точках во время этого метода. Если вы пишете собственный SRP, вы можете либо добавить сюда код напрямую, либо вызвать делегатов самостоятельно, используя RenderPipeline.BeginFrameRendering, RenderPipeline.BeginCameraRendering, RenderPipeline.EndCameraRendering и RenderPipeline.EndFrameRendering.
В следующем примере кода показано, как реализовать этот метод в пользовательском SRP:
using UnityEngine;
using UnityEngine.Rendering;
using System.Collections.Generic;
public class ExampleRenderPipelineInstance : RenderPipeline
{
public ExampleRenderPipelineInstance()
{
}
override protected void Render(ScriptableRenderContext context, Camera[] cameras)
{
// This is where you can write custom rendering code. Customize this method to customize your SRP.
// Create and schedule a command to clear the current render target
var cmd = new CommandBuffer();
cmd.ClearRenderTarget(true, true, Color.black);
context.ExecuteCommandBuffer(cmd);
cmd.Release();
// Tell the Scriptable Render Context to tell the graphics API to perform the scheduled commands
context.Submit();
}
}
Смотрите так же: Unity Manual: Scriptable Render Pipeline