Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么Unity 2018.2 WebAssembly加载间隔仅为0%、90%、100%_Javascript_Unity3d_Loading_Webassembly_Unity Webgl - Fatal编程技术网

Javascript 为什么Unity 2018.2 WebAssembly加载间隔仅为0%、90%、100%

Javascript 为什么Unity 2018.2 WebAssembly加载间隔仅为0%、90%、100%,javascript,unity3d,loading,webassembly,unity-webgl,Javascript,Unity3d,Loading,Webassembly,Unity Webgl,自从切换到Unity 2018后,加载程序就变得很笨重,没有任何帮助。在我的产品的旧版本上,装载机将平稳地上升到100%。现在,在我的Unity 2018.2构建中,它从0跳到90,再跳到100,然后完成。它几乎一直保持在90度。我的用户认为我的产品坏了,因为它不再平稳加载。他们认为它卡住了。我调试了UnityLoader.js文件,并验证了在加载之前只调用一次进度并读取.9: function UnityProgress(gameInstance, progress) { console

自从切换到Unity 2018后,加载程序就变得很笨重,没有任何帮助。在我的产品的旧版本上,装载机将平稳地上升到100%。现在,在我的Unity 2018.2构建中,它从0跳到90,再跳到100,然后完成。它几乎一直保持在90度。我的用户认为我的产品坏了,因为它不再平稳加载。他们认为它卡住了。我调试了UnityLoader.js文件,并验证了在加载之前只调用一次进度并读取.9:

function UnityProgress(gameInstance, progress) {
   console.log("PROGRESS")
   console.log(progress)
   ...
}
这只打印出0,0.9。然后游戏加载成功。没有中间值0.1、0.2等。。就像过去一样

有人知道怎么解决这个问题吗?每个人都会这样吗

干杯,明

编辑
这只发生在我的项目上,而不是空项目上。看起来好像是在Unity加载过程中,在我的任何代码被触碰之前,我不确定我的代码如何会扰乱Unity的WebGL应用程序进度更新的加载频率。我知道这有点晚了,但也许它会对将来的某个人有所帮助。首次加载webgl内容时,浏览器会将数据保存到缓存。下载以从0到0.9的进度表示。所以下一次,当你开始游戏时,下载被跳过,进程跳到0.9,直到游戏开始。游戏开始后,进度跳至1。不幸的是,这不是很好,因为看起来游戏已经冻结。

我目前使用的是Unity 2018.2.14f1,WebAssembly版本没有问题。您是否尝试过使用干净项目的构建?或者你可以只在你的项目中重现问题吗?自Unity 2017.2.4以来,我们一直在处理我们的项目,并在Unity 2018.2.4中从asm.js切换到WebAssembly。有趣的是,这并不是一个干净的项目。除0、90和100外,装载百分比还命中其他百分比。你知道从哪里开始研究像这样的项目特定问题吗?在这个项目上,对于Unity的旧版本来说,这不是一个问题,在不了解项目的情况下,这是非常困难的。我对加载过程不太了解,但您可以尝试以下方法:在项目中创建一个新场景,并将其设置为第一个场景。在场景中,使用
SceneManager.LoadSceneAsync(scene\u TO\u LOAD,LoadSceneMode.Additive)附加脚本
在空场景之后加载真实的第一个场景。也许Unity在启动引擎时加载了第一个场景async,而在您的情况下,它阻止了进度?我接受了这个建议,没有任何更改。很奇怪。