Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

protected void Render(Rendering.ScriptableRenderContext context, Camera[] cameras);

Описание

Метод точки входа, который определяет пользовательский рендеринг для этого 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

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3