1. 程式人生 > >Unity中控制天空盒移動的解決辦法

Unity中控制天空盒移動的解決辦法

cube div 修改 () render etc clas oid 解決

為了使天空盒更真實,需要控制天空盒動態旋轉。

網上找到的方法是:

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

運行後,達到預期效果

技術分享圖片

Unity中控制天空盒移動的解決辦法