Unity_发布webGL的问题专题笔记

摘要:
当unity发布到webGL时,会有很多陷阱,例如资源加载、命名和浏览器支持。如何打包和发布Unity的WebGl项目:https://blog.csdn.net/qq_25542475/article/details/89370682Unity无法运行基本开发WebGL发布。问题:https://blog.csdn.net/liang_704959721/article/details/102546394将PC项目传输到WebGL时遇到的问题摘要:。前两个设置是强制支持webgl,最后一个是security.fileuri.strict_origin_策略设置是允许本地加载资源。如果您不是webgl开发人员,不需要开发和调试webgl,但只想查看webgl演示,则不能设置此选项。

unity发布成webGL会有很多坑,资源加载,命名,浏览器是否支持等问题。希望大家有什么好的解决办法或问题能互相交流。

如何将Unity的WebGl项目打包发布 :https://blog.csdn.net/qq_25542475/article/details/89370682

Unity 基础开发-WebGL发布无法运行问题:https://blog.csdn.net/liang_704959721/article/details/102546394

 

 

一个PC项目转WebGL遇到的问题解决汇总:(转)

1.发布报错:程序中出现DLL调用的情况,删除调用DLL相关代码。发布路径不要出现中文。

2.WebGL无法通过IO流读取本地json文件:改成TextAsset绑定json来读取。

3.原版解析json使用JsonDotNet但是无法在WebGL上使用:使用Unity自带的JsonUtility类进行解析。

4.使用JsonUtility解析时报错:用于解析json的类以及子类需要[Serializable]序列化。

5.解析json时有个别json文件报错:对应的json文件有格式错误,多了逗号,就删除多余的逗号。但是JsonDotNet并没有报错。

6.方向键无法执行相关的步骤:原因是JsonUtility解析的数据与原本JsonDotNet解析的数据有不同的地方,比如JsonUtility解析空数据时List会有实例,但是Count为0,而JsonDotNet解析的时候回没有实例为Null,这样源码有判断是否为Null的时候就出现问题了,解决办法是将JsonUtility解析不同的数据改成原版一样的。

7.点击保存按钮出错:保存使用了IO流,注释掉相关代码,改为临时保存。

8.无法解析二维数组的json文件:JsonUtility无法解析带二维数组的json文件,改成一维数组去解析,解析后一维数组转回二维数组。JsonUtility无法用字典去解析,创建一个解析的数据类,解析完后把数据转换回需要的数据。

9.由于之前删除了绘图插件的DLL,导致无法绘图:使用新的绘图方式替换。

10.目前谷歌,火狐支持webgl比较好,其他浏览器开启极速模式(谷歌内核)。

11.本地浏览webgl可部署IIS服务器,或者其他服务器,也有小型服务器如hfs.exe.

12.修改完一些样式在网页上没效果:浏览器需要清空缓存。

13.发布的时候不要用中文路径

 如何开启浏览器支持webGL

1、哪些浏览器支持webgl
 
要运行webgl,你必须有一个支持它的浏览器,比如:
google chrome 9+
mozilla firefox 4+
safari 5.1+(仅限于mac os x操作系统,不包括windows操作系统;那么这种情况下必须强制开启webgl支持,请参考下文)
opera next 即 opera 12 alpha及以上版本ie9+但是ie并不支持webgl,不过你可以通过下载并安装iewebgl这个插件,或者google chrome framework来运行一些webgl应用。
 
同时,你还需要一块好的显卡,并安装了最新的显卡驱动;这只是使你能够运行webgl的基本要求,如果想要在一些复杂的应用中保证显示效果,那你需要一块更好的显卡。
 
如果你的显卡非常老旧,或者是板载的集成显卡,那么你需要在浏览器中强制开启webgl支持;另外因为其他的一些原因(比如你的操作系统是windows xp),在正常安装以上浏览器之后还是不能运行webgl,那你最好也强制开启webgl支持。开启方法如下:
 
2、google chrome开启方法

我们需要为chrome加入一些启动参数,以下具体操作步骤以windows操作系统为例,请linux用户自行设置。
 
chrome浏览器的用户请找到chrome浏览器的快捷方式,如果没有就创建一个快捷方式(右键点击chrome.exe,选择“创建快捷方式”或者“发送到”→“桌面快捷方式”),右键点击快捷方式,选择属性。
在目标框内,双引号的后边,加入以下内容:

--enable-webgl --ignore-gpu-blacklist --allow-file-access-from-files

关闭目前开启的所有chrome窗口,然后用此快捷方式启动chrome浏览器,其中: 
表示开启webgl支持:
--enable-webgl

表示忽略gpu黑名单,也

 

此文来自: 马开东博客 转载请注明出处 网址:

就是说有一些显卡gpu因为过于陈旧等原因,不建议运行webgl,这个参数可以让浏览器忽略这个黑名单,强制运行webgl:
--ignore-gpu-blacklist

表示允许从本地载入资源,如果你不是webgl的开发者,不需要开发调试webgl,只是想要看一下webgl的demo,那你可以不添加这个参数:
--allow-file-access-from-files


3、mozilla firefox开启方法

firefox的用户请在浏览器的地址栏输入“about:config”,回车后:
 
1、在过滤器(filter)中搜索“webgl”
 将webgl.force-enabled设置为true
 将webgl.disabled设置为false
 
2、在过滤器(filter)中搜索“security.fileuri.strict_origin_policy”
 将security.fileuri.strict_origin_policy设置为false
 
关闭目前开启的所有firefox窗口,然后重新启动firefox。
 
其中前两个设置是强制开启webgl支持,最后一个security.fileuri.strict_origin_policy的设置是允许从本地载入资源,如果你不是webgl的开发者,不需要开发调试webgl,只是想要看一下webgl的demo,那你可以不设置此项。
 
4、safari浏览器开启方法

菜单中找到“属性”或“偏好设置”→“高级”,选中“显示开发菜单”,然后到“开发”菜单,选中“开启webgl”。
 
5、那么如何判断我的浏览器是否支持webgl呢?

请访问:如何判断我目前的浏览器是否支持webgl ,如果显示y ay,说明你的浏览器已经支持webgl了,否则显示nay。

 

 

 

未完待续。。。

免责声明:文章转载自《Unity_发布webGL的问题专题笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Elasticsearch中文分词加拼音qt designer启动后不显示界面问题的原因与解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Unity琐碎(3) UGUI 图文混排解决方案和优化

感觉使用Unity之后总能看到各种各样解决混排的方案,只能说明Unity不够体恤下情啊。这篇文章主要讲一下个人在使用过程中方案选择和优化过程,已做记录。顺便提下,开源很多意味着坑,还是要开实际需求。 1. 方案选择 1 TextMeshPro Unity 最近公布收购了TextMeshPro并且免费开源给大家使用,估计还需要几个小版本才会完全融合到Unit...

高手就用Chrome不安全模式

背景:最近玩CSS3和HTML玩得不可开交。 既然要用浏览器的话,就最好在浏览器中设置一个主页,以前徒简洁就一直用百度的搜索页做主页,但是现在百度邪恶的各种广告实在让我恶心,而且一些文献资料中国网站上没有我还是要用Google来搜索,终于忍不下去了,要自己做一个主页。 jQuery封装的Ajax很方便,但是很恶心的是浏览器各种不允许跨域操作,于是我狠了狠心...

Unity3D之Mesh(五)绘制圆

前言: Unity3D中Mesh的基本单位是三角形,而圆形就是由许许多多的三角形组成的。那么我们就知道了绘制圆形的Mesh需要两个变量:圆的半径  以及分割数; 一、实现过程 基本过程与之前的类似,最基本的依然是顶点以及三角形索引数组,即:我们需要根据圆的半径以及预备的分割数,通过算法得到:顶点的Vector3数组 以及对应的三角形索引数组; 1、基本的...

Unity3D中Mathf数学运算函数总结

引入: 看到一个案例注意到函数Mathf.SmoothDamp的使用,游戏中用于做相机的缓冲跟踪和boss直升机跟踪士兵。该函数是Unity3D中Mathf数学运算函数中的一个。一些游戏使用了smoothmove的功能,其实就是类似的效果,只是发现这个函数很容易的已经封装好了,查了官网文档发现使用起来真的非常简单。 smoothdamp,我的理解是平滑缓...

Vue浏览器调试工具VueTools安装以及使用

ue-devtools是一款基于chrome浏览器的插件,用于vue应用的调试,这款vue调试神器可以极大地提高我们的调试效率。帮助我们快速的调试开发vue应用。 vue-devtools如何使用 当我们添加完vue-devtools扩展程序之后,我们在调试vue应用的时候,chrome开发者工具中会看一个vue的一栏,点击之后就可以看见当前页面vue对...

Unity3D特效-场景淡入淡出

        最近公司开始搞Unity3D..整个游戏..特效需求还是比较多的.关于UI部分的特效淡入淡出.看网上用的方法都是用个黑东东遮挡然后设置alpha这么搞....本大神感觉非常的low.而且很渣.故奋笔疾书借此文鄙视那些low方式. 关于这种处理用shader配合Material非常简单的.先来介绍下使用了哪些东东. 1.肯定是需要一个脚本的....