Unity-WebGL开发——用IIS(Internet Information Services)部署webGL工程

1.前言

unity开发的webgl项目只能在发布时打开,直接双击发布文件会报如下错误(

Failed to download file Build/WebExe.framework.js.unityweb. Loading web pages via a file:// URL without a web server is not supported by this browser. Please use a local development web server to host Unity content, or use the Unity Build and Run option.

)。意思是"下载文件 Build/WebExe.framework.js.unityweb 失败。此浏览器不支持在没有网络服务器的情况下通过 file:// URL 加载网页。请使用本地开发网络服务器来托管 Unity 内容,或使用 Unity 的"Build and Run"选项。"

也就是说这种工程需要使用网络服务器开启,但我又不想下载个服务器软件,因此使用windows自带的IIS来部署工程。不需要下载软件,方便快捷。

2.配置与部署流程

1)构建 Unity WebGL 项目

  • 打开 Unity 编辑器,选择 File > Build Settings

  • 在平台列表中选择 WebGL ,然后点击 Switch Platform

  • 配置 Player Settings,确保启用了正确的压缩选项(Compression Format 为Gzip)。

  • 点击 Build,将项目导出到指定文件夹。

  • 发布参考资料 Build your WebGL application - Unity 手册

2)安装和配置 IIS

  1. 打开控制面板(window10打开windows设置后直接搜索控制面板即可找到),选择 程序 > 启用或关闭 Windows 功能

  2. 勾选 Internet Information Services (IIS) ,并确保启用了静态内容支持。我开了如下内容。

  3. 点击确定完成安装。

  4. windows搜索中直接搜索IIS,就可以看到该软件了。

  5. 打开后在"网站"那右击,点"添加网站",弹出下面的对话框,给网站起个名,然后物理路径选择你发布工程的文件夹点击确定即可,再设置下面的端口号,随便填个四位数,eg.5645,其他的可以不用设置。

6.可以试试点击右侧红框,尝试打开工程。但一般是需要做个配置才会不报错。点击左侧红框"MIME"。

7.添加几个扩展名类型,在空白处鼠标右键-添加:

|------------|--------------------------|
| 文件扩展名 | MIME类型 |
| .unity3d | application/octet-stream |
| .unity3dgz | application/octet-stream |
| .unityweb | application/binary |
| .br | application/javascript |

在没添加最后一个前,我报错如下信息:

Unable to load file Build/WebExe.framework.js.br! Check that the file exists on the remote server. (also check browser Console and Devtools Network tab to debug)

unity官网说明中指示要添加.js.br的扩展名,但我尝试后发现该名格式有误,因此试了.br成功了。

8.添加完这些应该没有问题了,再点击左侧刚才添加的网络名称"Test",单击右边浏览网站应该就能打开了。

相关推荐
mxwin4 小时前
Unity shader中TransformWorldToShadowCoord原理解析
unity·游戏引擎·shader
mxwin5 小时前
Unity Shader 中 ShadowCaster的作用和疑问
unity·游戏引擎
mxwin5 小时前
Unity Shader中如何学习阴影技术 产生阴影,接受阴影,联级阴影,软阴影
学习·unity·游戏引擎·shader
♡すぎ♡6 小时前
ShaderLab:线条几何体旋转
unity·计算机图形学·着色器·shaderlab
小贺儿开发6 小时前
【MediaPipe】Unity3D 指间游鱼互动演示
游戏·unity·人机交互·摄像头·手势识别·互动·康复训练
mxwin8 小时前
Unity Shader中CastShadows 和 ReceiveShadows 在代码中的区分
unity·游戏引擎·shader
努力长头发的程序猿12 小时前
Unity2D当中的A*寻路算法
算法·unity·c#
RReality1 天前
【Unity Shader URP】Matcap 材质捕捉实战教程
java·ui·unity·游戏引擎·图形渲染·材质
魔士于安1 天前
unity urp材质球大全
游戏·unity·游戏引擎·材质·贴图·模型
南無忘码至尊1 天前
Unity学习90天 - 第 6 天 -学习物理 Material + 重力与阻力并实现弹跳球和冰面滑动效果
学习·unity·游戏引擎