Unity场景内镶嵌场景【异步加载场景】

Unity实现一个场景内异步加载另一个场景。

实现的效果:

第一个场景:

Unity场景内镶嵌场景【异步加载场景】_第1张图片

异步加载第二个场景:

Unity场景内镶嵌场景【异步加载场景】_第2张图片 

异步卸载第二个场景:

Unity场景内镶嵌场景【异步加载场景】_第3张图片

实现步骤:

首先我们要有2个场景,我以一个普通的3D项目示例:

创建两个场景,分别为00和01

Unity场景内镶嵌场景【异步加载场景】_第4张图片

两个按钮,00里面装载01的按钮和01里面卸载01的按钮。

Unity场景内镶嵌场景【异步加载场景】_第5张图片  

直接上脚本,两个方法:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SceneChange : MonoBehaviour
{
    // Start is called before the first frame update
    //场景加载
    public static void scenediejia(string name)
    {
        Application.LoadLevelAdditiveAsync(name);
    }
    //场景卸载
    public static void scenexiezai(string name)
    {
        Application.UnloadLevel(name);
    }
}

 我为什么要try catch?因为该方法如果加载异常,会一直停在这,大概都理解了吧,结构如下:

将两个场景都放进项目

Unity场景内镶嵌场景【异步加载场景】_第6张图片

脚本挂在空物体,按钮调用空物体的脚本的方法这个就不讲了。

Unity场景内镶嵌场景【异步加载场景】_第7张图片

 

运行00的效果

Unity场景内镶嵌场景【异步加载场景】_第8张图片

点击装载按钮的效果

 Unity场景内镶嵌场景【异步加载场景】_第9张图片

 点击卸载按钮的效果

Unity场景内镶嵌场景【异步加载场景】_第10张图片

over! 

 

 

 

你可能感兴趣的:(unity,游戏引擎)