没有资产的统一内的动态天空盒

时间:2017-09-14 20:12:25

标签: c# unity3d unity5.3

有没有办法拥有动态天空盒?我想制作一夜的周期,但我需要改变天空盒 - 理想情况下是淡出和动画

1 个答案:

答案 0 :(得分:1)

Skyboxes are really just materials。您可以通过转到Window>在检查器中查看其属性。照明>设置并单击“材料”。

enter image description here

您可以使用SetFloat函数修改这些属性。例如,如果我可以使用以下脚本来脉冲曝光:

using UnityEngine;

public class SkyboxPulse : MonoBehaviour
{
    public float pulseRate = 0.2f;

    void Update()
    {
        float exposure = RenderSettings.skybox.GetFloat("_Exposure");

        if (exposure < 0.1 || exposure > 1.9)
            pulseRate = -pulseRate;

        RenderSettings.skybox.SetFloat("_Exposure", exposure + pulseRate * Time.deltaTime);
        print(RenderSettings.skybox.GetFloat("_Exposure"));
    }
}

此脚本访问并修改着色器“Skybox / Procedural”中设置的变量。 警告:每当您终止天空盒时,它将保持相同的曝光 - 它不会像播放模式后的其他对象那样重置。