Unity中控制天空盒移动的解决办法
为了使天空盒更真实,需要控制天空盒动态旋转。
网上找到的方法是:
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); }
运行后,达到预期效果