SceneManager.LoadSceneAsync()中发生了什么

时间:2018-05-31 06:55:01

标签: c# unity3d

SceneManager.LoadSceneAsync()中有两个阶段。

首先是preload阶段。其次是activation阶段。

每个阶段的确切负载是什么?

1 个答案:

答案 0 :(得分:3)

预加载场景

在后台加载场景。在此期间,将加载该场景中引用的纹理,音频和3D模型等资源。

激活场景

激活加载的场景后,将卸载当前场景并激活加载的场景。当它变为活动状态时,它将开始执行该场景中引用的脚本。

SceneManager.LoadSceneAsync将在后台加载场景。加载场景后,它将自动激活。激活完成后,Unity将启用加载的场景,加载的场景将成为当前场景。

控制场景激活

有时,您希望在当前游戏即将完成时加载下一个场景,但在当前游戏完成之前您不希望它激活它。您正在预加载场景。这可以通过将AsyncOperation.allowSceneActivation函数返回的LoadSceneAsync属性设置为false来完成。通过将其设置为false,场景将加载但在您将其设置为true之前不会激活或运行。假设您已经完成了当前场景的播放,然后可以激活下一个场景,这实际上减少了玩家等待场景完成加载的时间。在游戏结束时加载并激活下一个场景将比仅仅激活场景花费更多时间。

相关问题