最近在搞renderFeature,写了个脚本来控制他的开关
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering.Universal;
[System.Serializable]
public struct RenderFeatureToggle
{
public ScriptableRendererFeature feature;
public bool isEnabled;
}
[ExecuteAlways]
public class RenderFeatureToggler : MonoBehaviour
{
[SerializeField]
private List<RenderFeatureToggle> renderFeatures = new List<RenderFeatureToggle>();
[SerializeField]
private UniversalRenderPipelineAsset pipelineAsset;
private void Update()
{
foreach (RenderFeatureToggle toggleObj in renderFeatures)
{
toggleObj.feature.SetActive(toggleObj.isEnabled);
}
}
}
改一下可以用脚本控制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering.Universal;
[System.Serializable]
public struct RenderFeatureToggle
{
public ScriptableRendererFeature feature;
public bool isEnabled;
}
[ExecuteAlways]
public class RenderFeatureToggler : MonoBehaviour
{
[SerializeField]
private List<RenderFeatureToggle> renderFeatures = new List<RenderFeatureToggle>();
[SerializeField]
private UniversalRenderPipelineAsset pipelineAsset;
private void Update()
{
//foreach (RenderFeatureToggle toggleObj in renderFeatures)
//{
// toggleObj.feature.SetActive(toggleObj.isEnabled);
//}
}
public void OpenRenderFeatureToggle()
{
foreach (RenderFeatureToggle toggleObj in renderFeatures)
{
toggleObj.feature.SetActive(true);
}
}
public void OffRenderFeatureToggle()
{
foreach (RenderFeatureToggle toggleObj in renderFeatures)
{
toggleObj.feature.SetActive(false);
}
}
}