
1、在摄像头上添加SkyBox组件 放到其他地方不管用。 2、创建SkyBox类型的的材质球。放入即可。 3、通过代码,你便可获取到SkyBox组件,便可动态更换天空盒了。



该功能不按照“一、更换天空盒”那样设置,该功能实现步骤如下:
1、主摄像机——Camera——ClearFlags——DontClear
2、新建辅助摄像机:
  a、Camera——CullingMask——Nothing
  b、Depth:设置的比主摄像机小
  c、添加 Skybox 组件,在该组件赋值你想看到的天空盒。3、现在旋转辅助摄像头,就能看到效果了

小Demo: 效果:

代码:
using UnityEngine;
 
public class Skode_SkyBox : MonoBehaviour
{
    public string intro = @" * 功能:旋转天空盒,自动切换天空盒";
 
    [Tooltip("天空盒摄像头")]
    public Transform skyboxCamera;
 
    [Tooltip("旋转速度")]
    public float speed = 0.1f;
 
    [Tooltip("你想切换的天空盒")]
    public Material[] skybox;
 
    [Tooltip("延迟xs切换天空盒")]
    public float time = 3;
    float time_value;
    int current = 0;
 
    private void Start()
    {
        time_value = time;
    }
 
    void Update()
    {
        skyboxCamera.Rotate(skyboxCamera.up, speed);
 
        if (skybox.Length == 0)
            return;
 
        if (time > 0)
            time -= Time.deltaTime;
        else
        {
            current++;
            if (current == skybox.Length)
                current = 0;
            skyboxCamera.GetComponent<Skybox>().material = skybox[current];
 
            time = time_value;
        }
    }
}大家还有什么问题,欢迎在下方留言!