有没有办法拥有动态天空盒?我想制作一夜的周期,但我需要改变天空盒 - 理想情况下是淡出和动画
答案 0 :(得分:1)
Skyboxes are really just materials。您可以通过转到Window>在检查器中查看其属性。照明>设置并单击“材料”。
您可以使用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”中设置的变量。 警告:每当您终止天空盒时,它将保持相同的曝光 - 它不会像播放模式后的其他对象那样重置。