【问题标题】:How to change the exposure of a skybox at runtime in Unity?如何在 Unity 运行时更改天空盒的曝光?
【发布时间】:2015-10-07 18:15:54
【问题描述】:

我在 Unity 中有一个带有昼夜循环的天空盒。目前,随着白天或黑夜的进展,太阳会改变强度和颜色。但我希望天空盒的曝光和大气厚度也能改变,但我似乎无法从我的脚本中访问它们。我尝试了以下合乎逻辑的事情:

if(isNight()){
    RenderSettings.skybox.exposure -= 0.05f;
}else{
    RenderSettings.skybox.exposure += 0.05f;
}

但是不存在曝光,也不存在大气厚度。我也尝试直接从检查员访问天空盒,但没有运气。有人可以告诉我如何在 c# 中访问这些东西吗?

提前致谢!

【问题讨论】:

    标签: c# unity3d cycle


    【解决方案1】:

    试试这个

    RenderSettings.skybox.SetFloat("_Exposure", Mathf.Sin(Time.time * Mathf.Deg2Rad * 100) + 1);
    

    【讨论】:

    • 天空盒的曝光发生了变化,但我的对象并没有因此改变它们的光照?我应该启用什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2022-07-25
    • 2016-07-23
    • 1970-01-01
    相关资源
    最近更新 更多