没有资产的 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"。 警告:无论何时终止天空盒,它都将保持相同的曝光——它不会像其他对象在播放模式后那样重置。
有什么方法可以拥有动态天空盒吗?我想制作昼夜循环但我需要更改天空盒 - 最好是淡出和动画
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"。 警告:无论何时终止天空盒,它都将保持相同的曝光——它不会像其他对象在播放模式后那样重置。