首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >统一PostProcessing -代码中更改花期的颜色

统一PostProcessing -代码中更改花期的颜色
EN

Stack Overflow用户
提问于 2020-05-10 02:54:44
回答 2查看 2.5K关注 0票数 1

我似乎找不到一种方法来从代码中轻松地更改统一-effect堆栈中的“布鲁姆”PostProcessing的颜色。以下是我尝试过的,但没有效果的:

代码语言:javascript
运行
复制
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;   

代码编译和运行良好,但没有视觉效果。我看过几篇关于这方面的文章,包括这里

这里。我尝试了在这些链接中找到的所有方法,但都没有成功。

难道没有一种简单的方法从统一代码中改变“-effect”的颜色吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-10 04:21:24

使用覆盖(值)方法:

代码语言:javascript
运行
复制
    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

票数 1
EN

Stack Overflow用户

发布于 2022-03-20 23:39:22

不确定是否有人需要这个,但我做了一些与URP类似的事情。

代码语言:javascript
运行
复制
private Vignette GetVignette()
{
    for (int i = 0; i < volume.profile.components.Count; i++)
    {
        if(volume.profile.components[i] is Vignette)
        {
            return (Vignette)volume.profile.components[i];
        }
    }
    return null;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61706589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档