我似乎找不到一种方法可以轻松地从代码中改变unity PostProcessing Stack中 "bloom "效果的颜色。以下是我试过的方法,没有效果。
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;
代码编译和运行正常,但没有视觉效果。 我看到一些关于这个问题的帖子,包括: 此处 和 此处. 我已经尝试了所有的方法,我能够在这些链接中找到,没有成功。
难道没有一个简单的方法来改变 "绽放 "效果的颜色,从代码在Unity中?
使用覆盖(value)方法。
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.comPackagescom.unity.[email protected] 覆盖(value)方法: