Описание
Элемент RenderPipelineAsset, определяющий переопределяющий конвейер рендеринга для текущего уровня качества.
Это конвейер переопределения рендеринга для текущего уровня качества. Если это значение равно null, для текущего уровня качества не существует переопределяющего значения.
Unity использует это значение и конвейер рендеринга по умолчанию, определенный в GraphicsSettings.renderPipeline, чтобы определить активный конвейер рендеринга для текущего уровня качества. Дополнительную информацию см. в разделе GraphicsSettings.currentRenderPipeline.
using UnityEngine;
using UnityEngine.Rendering;
public class ActiveRenderPipelineExample : MonoBehaviour
{
// В Инспекторе назначьте конвейер рендеринга Asset для каждого из этих полей.
public RenderPipelineAsset defaultRenderPipelineAsset;
public RenderPipelineAsset overrideRenderPipelineAsset;
void Start()
{
GraphicsSettings.defaultRenderPipeline = defaultRenderPipelineAsset;
QualitySettings.renderPipeline = overrideRenderPipelineAsset;
DisplayCurrentRenderPipeline();
}
void Update()
{
// Когда пользователь нажимает левую клавишу Shift, переключает конвейер рендеринга по умолчанию
if (Input.GetKeyDown(KeyCode.LeftShift))
{
SwitchDefaultRenderPipeline();
DisplayCurrentRenderPipeline();
}
// Когда пользователь нажимает правую клавишу Shift, переключает конвейер переопределения рендеринга
else if (Input.GetKeyDown(KeyCode.RightShift))
{
SwitchOverrideRenderPipeline();
DisplayCurrentRenderPipeline();
}
}
// Переключение конвейера рендеринга по умолчанию между null,
// и конвейер рендеринга, определенный в defaultRenderPipelineAsset
void SwitchDefaultRenderPipeline()
{
if (GraphicsSettings.defaultRenderPipeline == defaultRenderPipelineAsset)
{
GraphicsSettings.defaultRenderPipeline = null;
}
else
{
GraphicsSettings.defaultRenderPipeline = defaultRenderPipelineAsset;
}
}
// Переключить переопределяющий конвейер рендеринга между null,
// и конвейер рендеринга, определенный в overrideRenderPipelineAsset
void SwitchOverrideRenderPipeline()
{
if (QualitySettings.renderPipeline == overrideRenderPipelineAsset)
{
QualitySettings.renderPipeline = null;
}
else
{
QualitySettings.renderPipeline = overrideRenderPipelineAsset;
}
}
// Вывести текущую информацию о конвейере рендеринга в консоль
void DisplayCurrentRenderPipeline()
{
// GraphicsSettings.defaultRenderPipeline determines the default render pipeline
// If it is null, the default is the Built-in Render Pipeline
if (GraphicsSettings.defaultRenderPipeline != null)
{
Debug.Log("The default render pipeline is defined by " + GraphicsSettings.defaultRenderPipeline.name);
}
else
{
Debug.Log("The default render pipeline is the Built-in Render Pipeline");
}
// QualitySettings.renderPipeline determines the override render pipeline for the current quality level
// If it is null, no override exists for the current quality level
if (QualitySettings.renderPipeline != null)
{
Debug.Log("The override render pipeline for the current quality level is defined by " + QualitySettings.renderPipeline.name);
}
else
{
Debug.Log("No override render pipeline exists for the current quality level");
}
// If an override render pipeline is defined, Unity uses that
// Otherwise, it falls back to the default value
if (QualitySettings.renderPipeline != null)
{
Debug.Log("The active render pipeline is the override render pipeline");
}
else
{
Debug.Log("The active render pipeline is the default render pipeline");
}
// To get a reference to the Render Pipeline Asset that defines the active render pipeline,
// without knowing if it is the default or an override, use GraphicsSettings.currentRenderPipeline
if (GraphicsSettings.currentRenderPipeline != null)
{
Debug.Log("The active render pipeline is defined by " + GraphicsSettings.currentRenderPipeline.name);
}
else
{
Debug.Log("The active render pipeline is the Built-in Render Pipeline");
}
}
}
Смотрите так же: How to get, set, and configure the active render pipeline, GraphicsSettings.currentRenderPipelineGraphicsSettings.defaultRenderPipeline, QualitySettings.GetRenderPipelineAssetAt], GraphicsSettings.allConfiguredRenderPipelines.

