Unity3d pc端项目转webgl版本开发经验

最近在做旧项目转webgl版本的工作,在此将一些开发过程中学习到的新知识和经验记录。unity5.4开始移除web player,主推WebGL

- 首先将你的unity版本更新至最新稳定版

5.x之前甚至5.4等老版本发布webgl时比较大的可能会报与IL2CPP有关的错误导致项目无法发布成功,这个错误是老版IL2CPP编译时的bug升级unity版本即可解决。

- 修改项目读取资源的方式

AssetBundle资源需要根据平台模式重新打包,打包模型资源的unity版本最好与项目运行版本保持一致以免运行时材质丢失。打包资源时需注意设置BuildAssetBundleOptions选项为ChunkBasedCompression,此方式采用的LZ4压缩方式才能被webgl解压使用,具体参考。
xml、json等数据的读取方式最好使用www加载并将调用此数据的其他操作写到加载完成后的回调函数中

- webgl版本查看输出日志

webgl版本没有output_log文件,可以从网页控制台或者将debug显示在UI上来查看输出

- PlayerSetting设置

WebGL Memory Size的最大值是2032MB最小值是16MB,建议设置为512,内存设置过大可能引起浏览器崩溃。
Strip Engine Code取消勾选,此选项容易导致使用到的组件被错误缩减,打包出来的文件虽然缩小了但是功能也没了

- 其他

dll引用会导致项目打包失败
Unity内置的默认Arial字体发布出来后在浏览器上运行不显示,需要在项目中导入新字体替换
MovieTexture无法使用,使用一个插件Simple MovieTextures for Unity可以实现(此插件最好在unity5.6版本中使用,5.4及2018版本中皆可能丢失视频贴图)。
需使用Firefox或chrome浏览器运行发布出来的文件

你可能感兴趣的:(WebGL开发)