脚本 Unity 后处理堆栈



我试图通过脚本使用其后期处理堆栈的泛光效果来模仿 Unity 中的闪电效果(以修改强度(,但不知何故我无法通过脚本实际设置任何内容。

PostProcessingProfile postProcProf;
postProcProf.bloom.settings.bloom.intensity = 
Mathf.Lerp(data[i].Strength, data[i + 1].Strength, data[i].TimeToReachNext);

这是我的代码,但它说

无法修改 BloomModel.Settings 的返回值,因为它不是变量。

我没有找到有关如何编写后处理堆栈脚本的指南,只有有关如何从编辑器中使用它的指南。

根据 Unity 关于在运行时修改后处理的指南,您应该修改settings值的副本,然后用您的副本覆盖原始副本(不要尝试直接更改BloomModel.Settings的成员(:

PostProcessingProfile postProcProf;
var bloom = postProcProf.bloom.settings;
bloom.bloom.intensity = Mathf.Lerp(data[i].Strength, data[i + 1].Strength, data[i].TimeToReachNext);
postProcProf.bloom.settings = bloom;

最新更新