Unity-WebGL遇到的各种坑(一)
自身电脑没有问题,但是打包给别人之后,如果跳转到一个很大的场景就会报错:
An error occurred running the Unity content on this page.See you browser JavaScript console for more info.The error was:Uncaught RangeError:Start offset undefined is outside the bounds of the buffer.
翻译:在这个页面上运行Unity内容时发生了一个错误。查看您的浏览器JavaScript控制台以获得更多信息。错误是:未捕获范围错误:未定义的起始偏移量在缓冲区的边界之外。
在群里确认是内存开大了也就是下图Publishing Settings里面的WebGL Memory Size这个属性。
在导出文件的Json文件中也可以看到默认是256(MB)
但是在unity2017里面默认是256(MB),但是在unity2019这个选项就消失了,相应的json文件中也没有了这个属性,我在知乎看到有人说Unity2019已经弃用了WebGLMemorySize属性,改为自适应,内存加载峰值约2G。256M到2G相差很大,没有提示很难知道。这个问题解决办法就是打开导出的Web文件,在Build文件中找到JSON文件,手动更改,如下图:
添加:"TOTAL_MEMORY":278435456,
根据需要调整即可。