Unity webgl 版本崩溃提示Memory access out of bounds 系列问题巨坑
经过一次次尝试判定是该shader所带贴图通道过多,所以某些浏览器不支持, 大多数浏览器支持的shader 携带贴图通道最多为3个,把该shader换成自己所写的只带三个贴图通道的shader之后,问题完美解决。如上图所示,这真的是个巨坑,只有火狐浏览器可以正常打开,其他浏览器都报上面的错误,百度,翻墙,查找各种办法解决之后无果,只是得出一个结论,有N种原因都可能导致这个问题的出现。进一步的打包测

如上图所示,这真的是个巨坑,只有火狐浏览器可以正常打开,其他浏览器都报上面的错误,百度,翻墙,查找各种办法解决之后无果,只是得出一个结论,有N种原因都可能导致这个问题的出现。
既然不知道问题的原因,那就只能自己测试,在尝试了无数遍资源优化打包测试的苦行僧之旅后,我发现哪怕只有一个空场景,里面只有一个cube物体,打包出来一样报相同的错。
进一步的打包测试之后终于发现了罪魁祸首,原来的unity自带的standard shader导致的。

经过一次次尝试判定是该shader所带贴图通道过多,所以某些浏览器不支持, 大多数浏览器支持的shader 携带贴图通道最多为3个,把该shader换成自己所写的只带三个贴图通道的shader之后,问题完美解决。

后记:
这次问题虽然就这样解决了,但是还是有一些疑问,如果非要要unity自带的standard shader呢?该怎么处理?
按道理unity 标准shader是非常常用的,网上应该很多这方面的资料,但费尽心思都没找到,或者是有别的地方需要设置一下才行,目前还不清楚,有遇到这方面问题的欢迎评论区留言讨论。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)