unity打包的WebGL部署到IIS问题

部署之后会出错,我遇到的有以下几种;

进度条卡住不动

明明已经部署到了IIS上,为什么浏览网页的时候还是过不去或者直接报错。

进度条卡住不动的问题其实就是wasm和data的错误。

此时在浏览器上按F12进入开发者模式查看错误(下图是一个没错误的图,错误都被我解决了找不到报错的图了)

如果是wasm的错误和data的错误则直接去IIS的网站里找到MIME打开:

然后在里面添加内容为.wasm,下面那行填application/wasm

注意前一行是有一个点的,后面的wasm前没有点。如下图

data文件的报错也是如法炮制。之后再启动就会解决这个问题了。


关于webconfig文件

我使用2020版本发布WEBGL后根本不用web.config这个文件,只要部署到IIS里就可以看了,当然上面一步MIME的添加是需要的,若是没有MIME的添加即使有web.config这个文件也是无法成功预览的。

但是2022版本发布的同样的网页就必须要用到web.config文件了。web.config放到与index.html同级目录就可以了,目录如下图:

web.config配置文件完整内容如下:

cs 复制代码
<?xml version="1.0" encoding="utf-8"?>
<configuration>  
  <system.webServer>
    <httpProtocol>
      <!-- 允许跨域配置 -->
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="X-Requested-With,Content-Type,Authorization" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE,OPTIONS" />
        <add name="Access-Control-Allow-Credentials" value="true" />
      </customHeaders>
    </httpProtocol>
        <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" />  
        </staticContent>
  </system.webServer>
</configuration>

当然2022版本发布后IIS里的MIME也是一样要添加的。


可以选择其他服务部署

有个超级简单的方式预览就是不用IIS,用Tomcat就不会有这些问题了,还有个更简单的方式就是去VScode里下载一个插件:live server。把网站放进来,就可以直接预览了,超级好用。

相关推荐
_oP_i1 天前
Unity Addressables 系统处理 WebGL 打包本地资源的一种高效方式
unity·游戏引擎·webgl
新中地GIS开发老师2 天前
WebGIS和WebGL的基本概念介绍和差异对比
学习·arcgis·webgl
_oP_i3 天前
Unity 中使用 WebGL 构建并运行时使用的图片必须使用web服务器上的
前端·unity·webgl
flying robot5 天前
Three.js简化 WebGL 的使用
webgl
小彭努力中6 天前
114. 精灵模型标注场景(贴图)
前端·3d·webgl·贴图
小彭努力中6 天前
109. 工厂光源(环境贴图和环境光)
前端·深度学习·3d·webgl·贴图
小彭努力中7 天前
112. gui辅助调节光源阴影
前端·深度学习·3d·webgl
refineiks8 天前
three.js绘制宽度大于1的线,并动态新增顶点
3d·图形渲染·webgl
小彭努力中8 天前
102. 管道漫游案例
前端·3d·webgl
小彭努力中8 天前
107. 阴影范围.shadow.camera
前端·深度学习·3d·webgl