文章目录
- 🟥 Unity动态更换天空盒
- 1️⃣ 方法1
- 2️⃣ 方法2
- 🟧 旋转天空盒
🟥 Unity动态更换天空盒
1️⃣ 方法1
1、在摄像头上添加SkyBox组件
放到其他地方不管用。
2、创建SkyBox类型的的材质球。放入即可。
3、通过代码,你便可获取到SkyBox组件,便可动态更换天空盒了。
2️⃣ 方法2
🟧 旋转天空盒
该功能不按照“一、更换天空盒”那样设置,该功能实现步骤如下:
1、主摄像机——Camera——ClearFlags——DontClear
2、新建辅助摄像机:
a、Camera——CullingMask——Nothingb、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;}}
}
大家还有什么问题,欢迎在下方留言!
如果你有 技术的问题 或 项目开发
都可以加下方联系方式
和我聊一聊你的故事🧡