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);
    }

 

运行后,达到预期效果


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM