Unity中控制天空盒移动的解决办法

Posted imteach

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
    }

 

运行后,达到预期效果

技术图片

以上是关于Unity中控制天空盒移动的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

Unity 实战项目 ☀️| Unity实现 天空盒 轮播系列切换

Unity3D 灵巧小知识点☀️ | Unity 中 使用代码切换天空盒

Unity 自定义天空盒,如 Unity 天空盒

小功能⭐️Unity动态更换天空盒旋转天空盒

怎么使用深空盒子材质

Unity - 从阵列中获取随机天空盒