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

Posted 小星河丨U3D开发支持

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小功能⭐️Unity动态更换天空盒旋转天空盒相关的知识,希望对你有一定的参考价值。

文章目录


🟥 Unity动态更换天空盒

1️⃣ 方法1

1、在摄像头上添加SkyBox组件

放到其他地方不管用。

2、创建SkyBox类型的的材质球。放入即可。

3、通过代码,你便可获取到SkyBox组件,便可动态更换天空盒了。



2️⃣ 方法2



🟧 旋转天空盒

该功能不按照“一、更换天空盒”那样设置,该功能实现步骤如下:

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;
        
    





大家还有什么问题,欢迎在下方留言!



如果你有 技术的问题 项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡

以上是关于小功能⭐️Unity动态更换天空盒旋转天空盒的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D 旋转天空盒的方法

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

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

Unity3D 灵巧小知识点☀️ | Unity 中 怎样切换 天空盒 背景

Unity5.6.2删除或更换天空盒

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