脚本Unity post-处理堆栈
Scripting Unity post-processing stack
我试图通过脚本使用其 post 处理堆栈的 bloom 效果(以修改强度)在 Unity 中模仿闪电效果,但不知何故我我实际上无法通过脚本 设置 任何东西。
PostProcessingProfile postProcProf;
postProcProf.bloom.settings.bloom.intensity =
Mathf.Lerp(data[i].Strength, data[i + 1].Strength, data[i].TimeToReachNext);
这是我的代码,但上面写着
Cannot modify the return value of BloomModel.Settings, because it is not a variable.
我没有找到关于如何脚本 post-处理堆栈的指南,只有关于如何在编辑器中使用它的指南。
根据 Unity's guide on modifying post-processing at runtime,您应该修改 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;
我试图通过脚本使用其 post 处理堆栈的 bloom 效果(以修改强度)在 Unity 中模仿闪电效果,但不知何故我我实际上无法通过脚本 设置 任何东西。
PostProcessingProfile postProcProf;
postProcProf.bloom.settings.bloom.intensity =
Mathf.Lerp(data[i].Strength, data[i + 1].Strength, data[i].TimeToReachNext);
这是我的代码,但上面写着
Cannot modify the return value of BloomModel.Settings, because it is not a variable.
我没有找到关于如何脚本 post-处理堆栈的指南,只有关于如何在编辑器中使用它的指南。
根据 Unity's guide on modifying post-processing at runtime,您应该修改 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;