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",单击右边浏览网站应该就能打开了。

相关推荐
雨泽‎1 天前
Unity在URP中开启后处理导致RenderTexture存在背景
unity·游戏引擎·图形渲染
冒泡P2 天前
【Unity】TextMeshPro富文本中使用精灵图集
ui·unity·c#·游戏引擎
世洋Blog2 天前
开发思想-(数据驱动+组合模式)VS 继承
unity·组合模式·数据驱动
B0URNE2 天前
【Unity基础详解】(9)Unity核心:UI系统
ui·unity·游戏引擎
jtymyxmz2 天前
《Unity Shader》7.3 渐变纹理
unity·游戏引擎
GISer_Jing3 天前
3DThreeJS渲染核心架构深度解析
javascript·3d·架构·webgl
ThreePointsHeat3 天前
Unity 关于打包WebGL + jslib录制RenderTexture画面
unity·c#·webgl
胡童嘉3 天前
长沙烈焰鸟网络科技有限公司实习day13日记
功能测试·学习·职场和发展·游戏引擎·cocos2d
y***54883 天前
C++在游戏引擎中的开发
开发语言·c++·游戏引擎
BuHuaX3 天前
Unity_AssetBundle相关
unity·c#·游戏引擎·游戏策划