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