如何在 Unity 运行时更改天空盒的曝光?
How to change the exposure of a skybox at runtime in Unity?
我在 Unity 中有一个带有 day/night 循环的天空盒。目前,随着白天或黑夜的进行,太阳会改变强度和颜色。但我希望天空盒的曝光度和大气层厚度也发生变化,但我似乎无法从我的脚本中访问它们。我尝试了以下合乎逻辑的事情:
if(isNight()){
RenderSettings.skybox.exposure -= 0.05f;
}else{
RenderSettings.skybox.exposure += 0.05f;
}
然而,暴露并不存在,大气厚度也不存在。我也尝试直接从检查器访问天空盒,但没有成功。有人可以告诉我如何在 C# 中访问这些东西吗?
提前致谢!
试试这个
RenderSettings.skybox.SetFloat("_Exposure", Mathf.Sin(Time.time * Mathf.Deg2Rad * 100) + 1);
我在 Unity 中有一个带有 day/night 循环的天空盒。目前,随着白天或黑夜的进行,太阳会改变强度和颜色。但我希望天空盒的曝光度和大气层厚度也发生变化,但我似乎无法从我的脚本中访问它们。我尝试了以下合乎逻辑的事情:
if(isNight()){
RenderSettings.skybox.exposure -= 0.05f;
}else{
RenderSettings.skybox.exposure += 0.05f;
}
然而,暴露并不存在,大气厚度也不存在。我也尝试直接从检查器访问天空盒,但没有成功。有人可以告诉我如何在 C# 中访问这些东西吗?
提前致谢!
试试这个
RenderSettings.skybox.SetFloat("_Exposure", Mathf.Sin(Time.time * Mathf.Deg2Rad * 100) + 1);