1 技术概览

为了在WebGL中运行,所有代码需要是JavaScript。我们使用 emscripten 编译器工具链来交叉编译Unity运行时代码(用C和C++编写)到asm.js的JavaScript代码。asm.js是一个非常理想的JavaScript子集,允许JavaScript引擎 预编译asm.js代码为极具性能的原生代码。 
为了转换.NET 游戏代码(C#和UnityScript脚本)至JavaScript,我们使用了一个称为IL2CPP的技术。IL2CPP获取.NET字节代码并将它转换为对应的C++源文件,然后通过使用emscripten,这些源文件被编译,最终将用户的脚本转换为JavaScript。

Unity WebGL 取消浏览器警告

using System;
using System.IO;
using System.Text.RegularExpressions;
using UnityEditor;
using UnityEditor.Callbacks;  public class PostBuildActions {  [PostProcessBuild]  public static void OnPostProcessBuild(BuildTarget target, string targetPath) {  var path = Path.Combine(targetPath, "Build/UnityLoader.js");  var text = File.ReadAllText(path);  text = Regex.Replace(text, @"compatibilityCheck:functione,t,re,t,r\{.+,Blobs:\{\},loadCode",  "compatibilityCheck:function(e,t,r){t()},Blobs:{},loadCode");  File.WriteAllText(path, text);  }
}  

Unity打包完毕后,修改UnityLoader.js文件,进行文本替换。

相关警告提示:

Your browser does not support WebGL
Please note that Unity WebGL is not currently supported on mobiles. Press OK if you wish to continue anyway.
Please note that your browser is not currently supported for this Unity WebGL content. Press OK if you wish to continue anyway.

3 部署IIS教程

在Unity3D中发布WebGL,当我们需要将其加入我们自己的网站时,需要将WebGL的内容放入服务代码,我们需要创建IIS服务器

部署IIS教程:点击打开链接

4 修复Uncaught SyntaxError: Unexpected token < in JSON at position 0

发布成webgl后,放在iis根目录中,然后再在根目录中放置Web.config文件

其中Web.config的内容如下:

<configuration><system.webServer><staticContent><remove fileExtension=".mem" /><remove fileExtension=".data" /><remove fileExtension=".unity3d" /><remove fileExtension=".jsbr" /><remove fileExtension=".membr" /><remove fileExtension=".databr" /><remove fileExtension=".unity3dbr" /><remove fileExtension=".jsgz" /><remove fileExtension=".memgz" /><remove fileExtension=".datagz" /><remove fileExtension=".unity3dgz" /><remove fileExtension=".json" /><remove fileExtension=".unityweb" /><mimeMap fileExtension=".mem" mimeType="application/octet-stream" /><mimeMap fileExtension=".data" mimeType="application/octet-stream" /><mimeMap fileExtension=".unity3d" mimeType="application/octet-stream" /><mimeMap fileExtension=".jsbr" mimeType="application/octet-stream" /><mimeMap fileExtension=".membr" mimeType="application/octet-stream" /><mimeMap fileExtension=".databr" mimeType="application/octet-stream" /><mimeMap fileExtension=".unity3dbr" mimeType="application/octet-stream" /><mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" /><mimeMap fileExtension=".memgz" mimeType="application/octet-stream" /><mimeMap fileExtension=".datagz" mimeType="application/octet-stream" /><mimeMap fileExtension=".unity3dgz" mimeType="application/octet-stream" /><mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" /><mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" /></staticContent></system.webServer>
</configuration>

Unity发布webgl的一些问题相关推荐

  1. unity发布webgl 触摸控制和鼠标控制冲突问题解决

    unity发布webgl 触摸控制和鼠标控制冲突问题解决 参考文章: (1)unity发布webgl 触摸控制和鼠标控制冲突问题解决 (2)https://www.cnblogs.com/pz904/ ...

  2. Unity发布WebGL时如何修改默认的载入进度条sf?

    Unity发布WebGL版本后,需要去除Unity的Logo,首先关闭Splash Image去除Made with Unity启动画面(在File->Build Settings->Pl ...

  3. Unity发布WebGL不显示中文字体问题

    在Unity发布WebGL的时候中文不能够显示,主要在于字体的设置,Unity默认的字体是Arial字体 首先想到的是字体类型不对,接下来更换字体 解决方案: 1.在Asset下创建文件夹,Font ...

  4. Unity发布WebGL注意事项以及移动端打开webgl网页

    Unity发布WebGL网页端 Unity发布webGL项目时存在很多的易错点,这些错误点没有统一的规律,因为是跨平台开发,开发过程中需要去解决未知的和已知的报错点,下面就我这两年开发WebGL遇到的 ...

  5. 分享一个unity发布webgl 的复制粘贴功能的插件,unity打包webgl的坑

    unity发布webgl 难免需要复制粘贴功能,而自带的UGUI的InputField是不具备的 所以一直在寻找可用的方案,但是unity webgl相关的资料比较少,找下来记录一下,希望可以帮助大家 ...

  6. unity发布webgl本地搭建服务器

    当我们使用Unity发布WebGL项目的时候直接运行是不允许的,如下图提示: 如果我们没有线上服务器,怎么办?我们可以使用Windows的IIS服务,操作系统:Windows 10企业版G. Unit ...

  7. Unity发布WebGl注意事项

    unity 版本是5.5,不过看了2017的文档好像也是差不多,绝大部分都是根据官方文档,希望有帮助,如果有错误或者你知道更多这方面的只是,请告知下,大恩言谢. 1:对webgl发布的工程文件说明 在 ...

  8. Unity发布WebGL运行问题

    写在前面 Unity发布到Web平台的项目,在低版本的浏览器中,直接右键本地打开index.html文件,便可打开项目运行,但是升级浏览器后,发现在双击打开项目时,显示网页不支持运行WebGL等错误. ...

  9. Unity 发布WebGL在本地浏览器运行

    有些项目要求发布WebGL版本,官方目前兼容性最好的浏览器是火狐和谷歌浏览器,发布成功之后初次使用火狐浏览器在本地打开,打开的时候出现"It seems your browser does ...

最新文章

  1. jvm性能调优实战 -60 线上系统的JVM参数优化、GC问题定位排查、OOM分析解决
  2. Python中安装bs4后,pycharm依然报错ModuleNotFoundError: No module named 'bs4'
  3. 软考解析:2015年上半年下午试卷
  4. 企业级控件库之大数据量分页控件 (非原创)
  5. SAP Spartacus cx-page-layout 属性运行时的赋值原理, set 是如何被框架调用的?
  6. 应用内安装部分手机出现解析错误
  7. mysql count里面能加条件吗_select count(1) 和 count(*),哪个性能更好?
  8. [ 转载 ] Java基础12--基础学习总结——数组
  9. mysql带唯一主建任然发生gap,mysql – 使用主键分块从大表中删除时仍然看到锁等待超时...
  10. 关于在线机器学习ftrl_proximal_lr的二三件事
  11. python_体脂率的计算
  12. vue项目退出登录清除 store 数据
  13. 安徽省省二级c语言准考证号查询系统,网办进度考试查询系统
  14. 计算机运行黑屏显示器正常,详细教您电脑主机运行正常显示器黑屏怎么办
  15. ureport2报错/by zero的解决方法
  16. c语言小蜜蜂游戏编程,GMS2从零做游戏:小蜜蜂(一)
  17. 服务器的公共显示屏,网络公共广播系统主机服务器-星时华熠官网 - 航天信广...
  18. 甘特图是什么?如何快速搭建?
  19. 当当网系统分级与海量信息动态发布实践
  20. 龙珠斗士z服务器位置,龙珠斗士Z配置要求介绍

热门文章

  1. 华为服务器检索信息,裸金属服务器使用标签检索资源
  2. FastAPI框架,数据库迁移生成及增删改查
  3. html打印预览 分页,有分页功能的WEB打印_js
  4. 【电针驱动迷走-肾上腺轴的神经解剖学基础】A neuroanatomical basis for electroacupuncture to drive the vagal– adrenal axis
  5. Java定时任务的解决方案(Quartz等)
  6. Unicode HOWTO 中文翻译
  7. 红米note4x标准版和高配版电池性能对比评测
  8. 1.4 CNN的崛起
  9. 男人,女人一生要过五个关卡【曾仕强】
  10. 推荐系统之基于内容推荐