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。把网站放进来,就可以直接预览了,超级好用。

相关推荐
m0_748248021 天前
WebAssembly与WebGL结合:高性能图形处理
webgl·wasm
程序员_三木2 天前
Three.js入门-Raycaster鼠标拾取详解与应用
开发语言·javascript·计算机外设·webgl·three.js
汪洪墩3 天前
【Mars3d】设置backgroundImage、map.scene.skyBox、backgroundImage来回切换
开发语言·javascript·python·ecmascript·webgl·cesium
m0_748234343 天前
webGL硬核知识:图形渲染管渲染流程,各个阶段对应的API调用方式
图形渲染·webgl
MossGrower4 天前
36. Three.js案例-创建带光照和阴影的球体与平面
3d图形·webgl·three.js·光照与阴影
MossGrower4 天前
34. Three.js案例-创建球体与模糊阴影
webgl·three.js·3d渲染·阴影效果
程序员_三木5 天前
Three.js资源-贴图材质网站推荐
javascript·webgl·three.js·材质·贴图
程序员_三木6 天前
React和Three.js结合-React Three Fiber
前端·javascript·react.js·前端框架·webgl·材质
MossGrower6 天前
37. Three.js案例-绘制部分球体
3d图形·webgl·three.js·球体几何体
3dconvet6 天前
3MF格式转换为STL格式
webgl·3mf转stl·3mf在线转换·3mf在线预览