【问题标题】:Unity PostProcessing - changing color of bloom in codeUnity PostProcessing - 在代码中改变绽放的颜色
【发布时间】:2020-08-25 15:06:52
【问题描述】:

我似乎无法找到一种方法来轻松地从代码中更改统一后处理堆栈中“绽放”效果的颜色。这是我尝试过的,没有效果:

var postProcessVolume = GameObject.FindObjectOfType<UnityEngine.Rendering.PostProcessing.PostProcessVolume>();

UnityEngine.Rendering.PostProcessing.Bloom bloom = postProcessVolume.profile.GetSetting<UnityEngine.Rendering.PostProcessing.Bloom>();

var colorParameter = new UnityEngine.Rendering.PostProcessing.ColorParameter();
colorParameter.value = mainPlayer.GenerateRandomColour();
bloom.color = colorParameter;
bloom.color.value = colorParameter.value;
bloom.enabled.value = true;   

代码编译运行良好,但没有视觉效果。 我看过一些关于此的帖子,包括here
here。我已尝试在这些链接中找到的所有方法,但均未成功。

难道没有一种简单的方法可以从 Unity 的代码中更改“绽放”效果的颜色吗?

【问题讨论】:

    标签: c# unity3d post-processing bloom


    【解决方案1】:

    使用Override(值)方法:

        Bloom bloom = postProcessVolume.profile.GetSetting<UnityEngine.Rendering.PostProcessing.Bloom>();
        var colorParameter = new UnityEngine.Rendering.PostProcessing.ColorParameter();
        colorParameter.value = Color.red;
        bloom.color.Override(colorParameter);
    

    https://docs.unity3d.com/Packages/com.unity.postprocessing@2.0/manual/Manipulating-the-Stack.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      • 2013-12-19
      • 2011-09-27
      • 1970-01-01
      相关资源
      最近更新 更多