Unity发布WebGL之无尽深渊(一)

您所在的位置:网站首页 ue4发布web服务 Unity发布WebGL之无尽深渊(一)

Unity发布WebGL之无尽深渊(一)

2023-09-20 14:52| 来源: 网络整理| 查看: 265

       相信大家在发布Unity到WebGL的时候会遇到很多奇奇怪怪的问题(可能大部分人并不会发布WebGL),今天来盘点一下最近把我折磨的生不如死的各种坑,希望可以用我的尸体给大家搭一道安全的桥梁。

        首先,众(gui)所(cai)周(zhi)知(dao)WebGL不支持很多东西,网上会搜到很多比如unity默认的Arial字体、unity内置的inputField类不支持输入、不支持MovieTexture等等,常见问题我会在下面放几个大佬之前排过的坑的链接,这里主要说一下我遇到的坑。

        我遇到的第一个问题是我的线程会卡死,于是在我百度之后得到了一个信息——WebGL不支持System.Threading。所以我只能改用协程来执行了,勉勉强强能曲线救国,但是大佬们给出了使用线程的方法,有需要的hxd可以看一下。

        https://blog.csdn.net/Witness_K/article/details/103166362

        第二个问题是bundle包的读取,我使用了Addressables这个package来管理我的bundle包(PC版)。当切换到WebGL时他无法读取到我打包到StreamingAssets文件夹下的bundle包,然后我又去请教度娘,发现很多大佬说WebGL不能读取本地资源,要把资源部署到IIS服务器上,然后使用UnityWebRequest或者WWW的方式读取。当我正准备学习一下大佬的读取方式时,我突然发现Addressables导出的资源包和在PC模式下导出的资源包不一样,我就有所怀疑是不是这个插件支持WebGL。在多方查找资料下我发现只要设置好Addressable是可以直接读取到StreamingAssets下的资源的,读取方式和PC版的一致,无需修改代码。

AddressableAssetSettings设置Hosting生成端口

取消AssetBundle的缓存,勾选后可能会报错

        通过以上设置就可以之接使用之前PC端的读取方式来读取资源包了。

        还有一个未解决的问题不过不是很重要,就是在网页的F12控制台中看不到Unity的报错信息,我尝试使用DevelopmentBuild模式打包却一直失败。试用了很多大佬的方法都没有解决,如果有知道的大佬还请指教。

报错截图



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3