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;
}
}
}
大家还有什么问题,欢迎在下方留言!