没有资产的 unity 内部的动态天空盒

Dynamic skybox inside unity without assets

有什么方法可以拥有动态天空盒吗?我想制作昼夜循环但我需要更改天空盒 - 最好是淡出和动画

Skyboxes are really just materials。您可以通过转到 Window > Lighting > Settings 并单击 Material.

在检查器中查看其属性

您可以使用 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"。 警告:无论何时终止天空盒,它都将保持相同的曝光——它不会像其他对象在播放模式后那样重置。