Проект на базе Lightweight Render Pipeline (LWRP)

В Unity есть возможность использовать несколько технологий рендеринга. Первая технология Standard, это такая графика, которую мы получаем из коробки, так сказать, графика по умолчанию. Вторая технология High Definition Render Pipeline (HDRP), которая обеспечивает наилучший вид графики, со сложным освещением и соответственно с более высокими требованиями к железу (на текущий момент технология на стадии Preview). Сегодня мы рассмотрим технологию Lightweight Render Pipeline (LWRP) это более легкий вариант рендеринга, в сравнении с HDRP, но тем не менее, позволяющий обеспечить качественную графику при более низких нагрузках на железо.

Кроме того, переход на LWRP графику, позволит использовать новые инструменты. Например, Shader Graph это визуальный редактор шейдеров, где ненужно писать код и даже методом "тыка" можно создать что-то (https://unity.com/shader-graph).

Чтобы начать работу по новой технологии, качаем свежую версию Unity. На текущий момент это версия 2019.

И так, запускаем редактор и идем на вкладку Window > Package Manager


В открывшемся окне, находим Lightweight RP и устанавливаем в наш проект. В этом же окне можно найти и упомянутый ранее Shader Graph.

После того как пакет установится, идем по адресу Edit > Render Pipeline > Upgrade Project Materials to LightweightRP Materials


Если шейдеры в проекте стандартные, то они обновятся автоматически.

Для пользовательских шейдеров можно сделать следующее, найти:

"LightMode" = "ForwardBase"
И заменить на:

"RenderPipeline" = "LightweightPipeline"
Может не всегда сработать, но стоит попробовать.

Следующий шаг, надо создать ассет графических настроек:


Правый клик по папке проекта и создаем Pipeline Asset.

Теперь этот ассет добавляем в настройки графики Edit > Project Settings:


Можно создать несколько ассетов настроек графики (низкие, средние, высокие) и менять их через скрипт.

using UnityEngine;
using UnityEngine.Rendering;

public class SwitchQuality : MonoBehaviour
{
    public RenderPipelineAsset lowQuality;
    public RenderPipelineAsset highQuality;

    void OnGUI()
    {
        if (GUILayout.Button("Low Quality"))
            GraphicsSettings.renderPipelineAsset = lowQuality;
        if (GUILayout.Button("High Quality"))
            GraphicsSettings.renderPipelineAsset = highQuality;
    }

}
Простой пример, переключения ассетов графики.

Обратите внимание, что часть настроек, теперь будет регулироваться через ассет:

Проект на базе Lightweight Render Pipeline (LWRP)

Более подробно изучить LWRP можно в этой документации.

Еще важно помнить, что после установки LWRP, в проект будут добавлены новые стандартные шейдеры. Например, если у вас в игре есть Terrain, то нужно создать новый материал и выбрать соответствующий шейдер:


В данном случае нам нужен шейдер Lightweight Render Pipeline > Terrain > Lit.

После этого назначаем материал в настройках Terrain:


В целом это всё, что нужно сделать, чтобы перевести проект на новый рендеринг.
Тестировалось на: Unity 2019.1.0

Комментариев 1

Офлайн
Liphanes 18 апреля 2019
Годнота подьехала, наконец смогу поиграться с shader graph'ом, спасибо за статью).
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Яндекс.Метрика