为了使天空盒更真实,需要控制天空盒动态旋转。
网上找到的方法是:
float num = RenderSettings.skybox.GetFloat("_Rotation");
RenderSettings.skybox.SetFloat("_Rotation", num + 0.05f);
但在我的工程中会报错(我的unity版本5.5.5f1):
我的天空盒是Cubemap型的,挂在MainCamera上,
因此修改代码如下:
private void Update()
{
RotateSkybox();
} //控制天空盒旋转
private void RotateSkybox ()
{
/*
float num = RenderSettings.skybox.GetFloat("_Rotation");
RenderSettings.skybox.SetFloat("_Rotation", num + 0.05f);
*/ float num = Camera.main.GetComponent<Skybox>().material.GetFloat("_Rotation");
Camera.main.GetComponent<Skybox>().material.SetFloat("_Rotation", num + 0.05f);
}
运行后,达到预期效果