zoukankan      html  css  js  c++  java
  • Unity_发布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。

     

     

     

    未完待续。。。

  • 相关阅读:
    Hard Rock
    Codeforces Round #416 (Div. 2) B. Vladik and Complicated Book
    codeforces 793B. Igor and his way to work
    codeforces 1B Spreadsheets
    HDU 1069 Monkey and Banana
    codeforces 2B The least round way
    【机器学习】 通俗说拟合
    python-八皇后问题
    python-核心知识思维导图
    python-@property 属性
  • 原文地址:https://www.cnblogs.com/Roz-001/p/13182227.html
Copyright © 2011-2022 走看看