Unity-WebGL-打包流程以及遇到的各种坑

Unity-WebGL-环境部署、打包(基于2018.3.7)
1、 步骤流程图:
Unity-WebGL-打包流程以及遇到的各种坑

如果没有下载 WebGL 的话就点击Down 的话就去下载一个,一个这样的东西
注意:安装之前得先退出 Unity 客户端才能安装,否则就无法进行安装、也就是安装无效
Unity-WebGL-打包流程以及遇到的各种坑

完成安装以后你能看到的东西就是这样的,

Unity-WebGL-打包流程以及遇到的各种坑

不要忘记把场景加上去
OK 先不要乱动、安装好后,发布时不要勾选Development Build,勾选后文件非常大,然后点击上图左下角的 Player Settings
Unity-WebGL-打包流程以及遇到的各种坑

设置一下分辨率、做一个 UI 自适应。
Unity-WebGL-打包流程以及遇到的各种坑

strip engine code:官方文档是这样描述它的"如果被选中,unity会默认剥离在项目中不会使用的组件",也就是说,假如你的项目中没有音频功能,unity会在封装的时候去掉这部分代码以减少大小。
尽量取消勾选
然后 Other Settings 都不要动它。
继续设置完成了以后你 就需要 build 了,那么这个地方的重点来了
注意 :项目里面一定不要出现中文名称、所有的包括 硬盘盘符最好也是英文的!
如果有中文的话是这样的
Unity-WebGL-打包流程以及遇到的各种坑

继续接着上面的、接下来它会提示你 打包存放的位置,
注意:打包存放的位置也得放在项目的根目录下面,也就是跟 Assets 同级目录。
作者还是怕大家搞错了,上张图吧
Unity-WebGL-打包流程以及遇到的各种坑

然后静静的等待个 5 分钟左右,如果说你怕程序崩溃的话,你可以打开这个
Unity-WebGL-打包流程以及遇到的各种坑

观察 Unity 的内存指的变化。
OK 这里我按照最好的打算,一路顺风(反正我的是正常的哈哈),
大约 xx min以后,进入到你的这个界面,直接点击使用 谷歌打开。
Unity-WebGL-打包流程以及遇到的各种坑

打开之后、也许可能会第一次的时候打开不报错、等到你二次打开的时候(谷歌报错)
Unity-WebGL-打包流程以及遇到的各种坑

这是神马原因呢?
一般来说,为了安全起见,浏览器是不能通过load方法来加载本地文件的,load方法只能加载远程服务器上的文件。
在浏览器默认的情况下,试图加载一个本地文件,会出现交叉域访问的错误
我有两种方式,
第一种是在本地搭建一个web服务器,例如tomcat,将需要加载的数据放到服务器中,通过url地址来访问。
第二种是直接修改 谷歌的目标位置,
Unity-WebGL-打包流程以及遇到的各种坑

中间有一个 空格 内容放在冒号之后
中间有一个 空格
中间有一个 空格
–enable-webgl --ignore-gpu-blacklist --allow-file-access-from-files
最后就是打开的时候要关闭所有的谷歌浏览器
然后将你的 index.html 拖动到修改过的谷歌快捷方式上面,就能完美的打开了。
之后进行了尝试,终于成功用chrome浏览器打开了unity发布成webgl对应的index文件。但是也存在一定问题:一定要用你设置的那个快捷方式打开才行,并且打开index文件之前必须要关闭所有chrome窗口(除非是设置好的快捷方式打开的窗口应该不影响)。很麻烦对吧

参考博客
注意事项:
https://blog.csdn.net/qq_37212364/article/details/88792961
火狐打开
https://blog.csdn.net/liang_704959721/article/details/102546394
报错处理
https://www.cnblogs.com/huwenya/p/9547224.html

2、 文字无法显示问题
使用unity自带的arial字体,运行完全没问题,但是,生成webgl以后,所有中文字体都不显示了。
解决办法:下载一个字体,必须为ttf字体,导入,然后,使用该字体即可。

3、持续更新。。。
TODO