最近因为某项目需要导出网页版本,本想着直接用H5写,但是项目中又涉及到模型部分,想来想去还是决定用Unity的webgl,但是当我发布出来后在本机直接打开index.html,会报以下这个错:

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.

其实意思是无法打开本地链接,需把网页发布成可打开的网址放在服务器上,我看过网上很多帖子说是要放在服务器上,但是我后来一想不对劲啊,本地电脑其实也是可充当局域网服务器使用的,凭什么就打不开,经过一番研究,终于发现了问题。

废话有点多了,下面直接贴步骤:

1.Unity发布出Webgl版本,Unity步骤就不说了

2.打开电脑控制面板-程序-启动或关闭Windows功能

unity3d基于网页发布 unity发布到网页_unity

检查下电脑的网页服务有没有开启,需全部打开,加号底下的也是

unity3d基于网页发布 unity发布到网页_visual studio code_02

3.电脑右键“管理”,进入计算机管理,选择IIS管理器

unity3d基于网页发布 unity发布到网页_unity_03

 4.选择网站,右键添加网站

unity3d基于网页发布 unity发布到网页_c#_04

5.设置相关配置,其中最重要的是

网站名称:随便填一个

物理路径:Unity打包出来的webgl在电脑的地址

端口:建议往上填写,9000,10000都行,不要使用80,避免与其他网页冲突


unity3d基于网页发布 unity发布到网页_网页设计_05

6.设置好之后点击确定

7.把web.config放在webgl同路径下,下载地址,如图

unity3d基于网页发布 unity发布到网页_网页设计_06

8.这时候在电脑浏览器上输入127.0.0.1:设置的端口,就能打开Unity webgl了,建议浏览器使用谷歌,火狐

unity3d基于网页发布 unity发布到网页_unity_07

附带火狐直接开启webgl方法:

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,那你可以不设置此项。