Unity C#funtion应用程序.canstreamdlevelbeloaded(String)做什么?
在ARFoundation Unity示例中,我发现了以下代码片段:Unity C#funtion应用程序.canstreamdlevelbeloaded(String)做什么?,c#,unity3d,C#,Unity3d,在ARFoundation Unity示例中,我发现了以下代码片段: public void BackButtonPressed() { if (Application.CanStreamedLevelBeLoaded("Menu")) { SceneManager.LoadScene("Menu", LoadSceneMode.Single);
public void BackButtonPressed()
{
if (Application.CanStreamedLevelBeLoaded("Menu"))
{
SceneManager.LoadScene("Menu", LoadSceneMode.Single);
LoaderUtility.Deinitialize();
}
}
有人能给我解释一下什么时候和为什么要使用Application.CanStreamedLevelBeLoaded(String)吗?在Unity文档中,我发现这是一个解释:可以加载流式液位吗
但这并不能告诉我什么
何时以及为什么还要使用LoadSceneMode.Single
和LoaderUtility.Deinitialize()
?
我为LoaderUtility.Deinitialize()
找到了这一点:如果存在当前活动的XR加载程序,则对其进行反初始化。这将破坏所有子系统
谢谢你的帮助。谢谢
应用程序。CanStreamedLevelBeLoaded
执行您认为在读取函数名时应该执行的操作,它检查流化级别是否可以加载。在尝试实际加载流式液位之前使用它。在这种情况下,流式传输意味着下载WebGL客户端的级别。
流的进度意味着你的级别下载进度
使用此函数检查下载状态,就像您在文档示例中看到的那样,以防止在尝试加载未完成的级别时出现异常
在幕后,它使用UnityWebRequest
的名为downloadProgress
的浮点来确定文件是否已下载
在更深的层次上,您很可能会发现一个文件流,因此函数的名称。好的,但这里的级别是什么意思?这只对WebGL客户端重要,而对其他平台不重要,为什么还要下载任何东西,因为我只是尝试加载/更改场景,而加载的场景总是在项目中。如果我的问题听起来很愚蠢,我真的很抱歉。我对Unity/ARFoundation比较陌生。谢谢你的评论!我真的很感激!