//所需要的引用
using UnityEngine.Rendering;
using UnityEngine.Rendering.PostProcessing;
public class PostProcessingController:MonoBehaviour
{
/// <summary>
/// PP Volume
/// </summary>
public PostProcessVolume volume;
/// <summary>
/// Example示例 打开DOF效果
/// </summary>
public void OpenDepthOfField()
{
volume.profile.GetSetting<DepthOfField>().active = true;
}
/// <summary>
/// 动态调节调色 从黑白变彩色
/// </summary>
/// <param name="speed"></param>
public void SetColorGrading(float speed)
{
StartCoroutine(IESetPP(speed));
}
public IEnumerator IESetPP(float speed)
{
//float currentSaturation = volume.profile.GetSetting<ColorGrading>().saturation.value;
while (volume.profile.GetSetting<ColorGrading>().saturation.value < 0)
{
volume.profile.GetSetting<ColorGrading>().saturation.value += Time.deltaTime * speed;
yield return 0;
}
}
}
Unity 使用代码控制PostProcessing的效果
于 2021-09-27 14:08:34 首次发布
这篇博客介绍了如何在Unity引擎中利用PostProcessing Volume组件来控制和调整游戏画面的视觉效果。通过示例展示了如何开启Depth of Field(景深效果)以及如何用Coroutine动态改变Color Grading(颜色分级),实现从黑白到彩色的平滑过渡,从而增强游戏的视觉体验。
摘要由CSDN通过智能技术生成