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

GraphicsSettings.currentRenderPipeline

public static Rendering.RenderPipelineAsset currentRenderPipeline;

Описание

Элемент RenderPipelineAsset, определяющий активный конвейер рендеринга для текущего уровня качества.

Активный конвейер рендеринга — это конвейер рендеринга, который Unity в настоящее время использует для рендеринга вашего приложения и частей редактора, таких как представление «Сцена» и представление «Игра». Активный конвейер рендеринга может быть значением по умолчанию, или вы можете установить переопределяющие значения для разных уровней качества.

Значение по умолчанию определяется в GraphicsSettings.defaultRenderPipeline. Значение переопределения для текущего уровня качества определяется в QualitySettings.renderPipeline.

Если значение по умолчанию не определено, активным конвейером рендеринга является встроенный конвейер рендеринга. В противном случае, если значение переопределения определено для текущего уровня качества, активный конвейер рендеринга является значением переопределения; если для текущего уровня качества не определено переопределяющее значение, это значение по умолчанию.

using UnityEngine; using UnityEngine.Rendering; public class ActiveRenderPipelineExample : MonoBehaviour { // In the Inspector, assign a Render Pipeline Asset to each of these fields public RenderPipelineAsset defaultRenderPipelineAsset; public RenderPipelineAsset overrideRenderPipelineAsset; void Start() { GraphicsSettings.defaultRenderPipeline = defaultRenderPipelineAsset; QualitySettings.renderPipeline = overrideRenderPipelineAsset; DisplayCurrentRenderPipeline(); } void Update() { // When the user presses the left shift key, switch the default render pipeline if (Input.GetKeyDown(KeyCode.LeftShift)) { SwitchDefaultRenderPipeline(); DisplayCurrentRenderPipeline(); } // When the user presses the right shift key, switch the override render pipeline else if (Input.GetKeyDown(KeyCode.RightShift)) { SwitchOverrideRenderPipeline(); DisplayCurrentRenderPipeline(); } } // Switch the default render pipeline between null, // and the render pipeline defined in defaultRenderPipelineAsset void SwitchDefaultRenderPipeline() { if (GraphicsSettings.defaultRenderPipeline == defaultRenderPipelineAsset) { GraphicsSettings.defaultRenderPipeline = null; } else { GraphicsSettings.defaultRenderPipeline = defaultRenderPipelineAsset; } } // Switch the override render pipeline between null, // and the render pipeline defined in overrideRenderPipelineAsset void SwitchOverrideRenderPipeline() { if (QualitySettings.renderPipeline == overrideRenderPipelineAsset) { QualitySettings.renderPipeline = null; } else { QualitySettings.renderPipeline = overrideRenderPipelineAsset; } } // Print the current render pipeline information to the console 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 the default render pipeline is the Built-in Render Pipeline, Unity always uses that. // Otherwise, if an override render pipeline is defined, Unity uses that. // If an override render pipeline is not defined, it falls back to the default value if (GraphicsSettings.defaultRenderPipeline == null) { Debug.Log("The active render pipeline is the default render pipeline"); } else 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.defaultRenderPipeline, QualitySettings.renderPipeline.

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