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

相关推荐
波哥学开发12 小时前
# Three.js 进阶:如何绘制"像素大小固定"的箭头?三种方案全解析
webgl·gpu
Panzer_Jack2 天前
如何用 WebGL 去实现一个选取色彩背景图片透明化小工具 - Pick Alpha
前端·webgl
烛阴3 天前
Three.js 零基础入门:手把手打造交互式 3D 几何体展示系统
javascript·webgl·three.js
叶智辽4 天前
【ThreeJS调试技巧】那些让 Bug 无所遁形的“脏套路”
webgl·three.js
爱搞虚幻的阿恺5 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
_Li.5 天前
Simulink - 6DOF (Euler Angles)
人工智能·算法·机器学习·游戏引擎·cocos2d
叶智辽5 天前
【ThreeJS急诊室】一个生产事故:我把客户的工厂渲染“透明”了
webgl·three.js
weixin_424294675 天前
Unity 调用Steamworks API 的 SteamUserStats.RequestCurrentStats()报错
unity·游戏引擎·steamwork
HoFunGames5 天前
Unity小地图,Easy Minimap System MT-GPS插件
unity·游戏引擎
AI能见度5 天前
硬核:如何用大疆 SRT 数据实现高精度 AR 视频投射?
ar·无人机·webgl