Unity2019.1 LWRPでのRenderScale、Renderer Featuresの並べ替え

パッケージマネージャーのLightwight RPは5.13.0を使用。

f:id:ssr_maguro:20190510151035p:plain f:id:ssr_maguro:20190510152727p:plain

    public ScriptableRendererData _data;
    public LightweightRenderPipelineAsset _asset;

をinspecterで設定した後、動的に変更する。

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Rendering.LWRP;

public class LWRPTest : MonoBehaviour
{
    public ScriptableRendererData data;
    public LightweightRenderPipelineAsset asset;

    public Button btn1;
    public Button btn2;

    // Start is called before the first frame update
    void Start()
    {
        List<ScriptableRendererFeature> copy = new List<ScriptableRendererFeature>();
        foreach (ScriptableRendererFeature f in data.rendererFeatures)
        {
            copy.Add(f);
        }

        btn1.onClick.AddListener(() =>
        {
            // Renderer Features並べ替え
            data.rendererFeatures[0] = copy[1];
            data.rendererFeatures[1] = copy[0];
        });

        btn2.onClick.AddListener(() =>
        {
            // RenderScale
            asset.renderScale = 0.5f;
        });
    }
}

参考

Lightwight RPのバージョンが低いとScriptableRendererFeatureを設定できないので注意。

tsubakit1.hateblo.jp