场景加载

Posted mcyushao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了场景加载相关的知识,希望对你有一定的参考价值。

1.可以在A场景中某一物体的Awake方法中启动协程提前加载下一个需要用到的场景

    IEnumerator loadScence(string sceneName)
   
        async = SceneManager.LoadSceneAsync(sceneName);
        async.allowSceneActivation = false;//使场景加载完而不切换。
        yield return null;
   

在需要切换场景时再设置async.allowSceneActivation = true; 场景就能切换了
public void needToChange()

async.allowSceneActivation = true; 

2.当使用SceneManager.LoadSceneAsync ("Scenes")异步加载时,往往会制作一个加载场景来过渡,但是当你要加载的场景过大时,就连这个过度场景都会出现卡顿问题(进度条、场景跳转)。

//装载尽可能多的数据传输速率,因此帧将下降。
//加载时显示出良好的快速进度条。
Application.backgroundLoadingPriority = ThreadPriority.High ;

 

//加载数据速度非常慢,尽量不影响游戏性能的。
//在游戏进行时有很好的后台加载。
Application.backgroundLoadingPriority = ThreadPriority.Low ;

以上是关于场景加载的主要内容,如果未能解决你的问题,请参考以下文章

Unity加载场景 异步 清理资源

Unity学习-------异步场景加载(AsyncOperation)

Unity架构之详解域重新加载和场景重新加载

unity怎么知道一个场景是不是加载完成

Unity 异步加载场景

Unity实现场景加载功能