Unity在网页上运行WebGL问题
Unity在网页上运行WebGL问题:It seems your browser does not support running Unity WebGL content from file:// urls. Please upload it to an http server, or try a different browser
前言
项目要开发B/S模式,需要使用WebGL,目前还是前期阶段,遇到了几个问题,在此记录一下。
Unity版本:2019.4
浏览器:谷歌浏览器
Unity打包WebGL
目前按照Unity默认设置打包。
在网页上运行遇到的问题
如果是BuildAndRun可以直接运行,但是如果是Build显示下面错误: It seems your browser does not support running Unity WebGL content from file:// urls. Please upload it to an http server, or try a different browser。这个问题是网页不支持直接双击 index.html 方式,需要将工程放到服务上才行。
解决方法
- 进入控制面板 -> 程序 -> 启用或关闭Windows功能,将选中的内容勾选上。
在网站上输入 http://localhost,弹出以下页面说明 IIS 开启成功。
- IIS部署
在计算机管理中找到服务和应用程序 -> IIS管理器 -> 网站
右键网站选择添加网站,在弹出的页面中添写信息,网站名称可以随便写,物理路径找到打包的 index.html 文件夹,端口写没有被占用的端口号,点击确定。
这时网站已经部署成功,右键刚创建的网站,选择浏览,会打开 index.html 所在文件夹。创建一个 .txt 文本,将名称改为 Web.config,将下面内容复制到文件中,保存文件,然后输入 http://localhost:8088/ (注:写自己创建时候的端口号),就可以看到程序正常运行了。
<?xml version="1.0" encoding="UTF-8"?>
<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" />
<mimeMap fileExtension=".ab" mimeType="application/octet-stream" />
</staticContent>
<directoryBrowse enabled="true" />
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Credentials: " value="true" />
<add name="Access-Control-Allow-Headers" value="Accept, X-Access-Token, X-Application-Name, X-Request-Sent-Time" />
<add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS" />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>