我正在使用Unity webGL构建,这是在JavaScript中初始化/加载Unity webgl的方法。
var gameInstance = UnityLoader.instantiate("gameContainer", "Build/WebGLDemo.json", {onProgress: UnityProgress});
但没有办法卸载webgl。我可以删除canvas标记,但问题是一些资源仍保留在内存中,而不是垃圾收集。此外,当我尝试删除
function DeleteGame(){
console.log("remove game");
document.getElementById("gameContainer").remove();
//gameInstance = null;
}
那么我们将得到另一个错误
屏幕位置超出视锥(屏幕位置0.000000、0.000000、0.000000)(摄像机矩形0 0 0 0)
有没有合适的方法可以卸载webgl?
2条答案
按热度按时间2ledvvac1#
在Unity 2019测试版中,Unity提供了一个内置的方法(C#/JavaScript)来卸载Unity WebGL and cleanup memory。
您可以使用C#版本或Javascript:
有关详细信息,请查看unity Forums和unity bu g。
7z5jn7bk2#
请注意,从Unity v2020.1开始,unityInstance.Quit()不再接受回调函数,而是一个Promise函数,因此您必须这样调用它: