unity3d for web

news/2025/3/16 6:20:54/

        时光噶然  一晃好多年过去了(干了5年的u3d游戏),记得最后一次使用的版本好像是 unity 2017。 那个是 unity3d for webgl  还需要装个插件。用起来很蛋疼。 最近做一个小项目 在选择是用 Layabox  还是 cocosCreate 的时候 我想起了老战友 Unity3d(因为是3D漫游的项目)。抱着试一试的态度 看了下最新版的 Unity 2023.2.14f1. 试了下 不错呀  现在不用预装 web 插件,就能直接跑 加上  URP  的应用 不光效果好,体验也是更好了

unity3d build for web

Unable to parse Build/build.framework.js.gz!

Unable to parse Build/build.framework.js.gz!

发布的时候报了错:

看了网上好多人 的方案如下:

  •  build 打包 不压缩: 由于是 web 环境,我这边不压缩 是 70m 左右,压缩 是28m, 我个人还是 觉得压缩下好  (不推荐这种方式)
  •  Decompression Fallback 选中: 我这边测试这个方案不能

打开的正确姿势:

官方文档这里介绍:

Unity - Manual: Server configuration code samplesicon-default.png?t=N7T8https://docs.unity3d.com/2023.2/Documentation/Manual/webgl-server-configuration-code-samples.html

  • IIS
    <?xml version="1.0" encoding="UTF-8"?>
    <!--The following server configuration can be used for compressed Web builds without decompression fallback.This configuration file should be uploaded to the server as "<Application Folder>/Build/web.config".NOTE: To host compressed Web builds without decompression fallback, you need to install the "URL Rewrite" IIS module on the server.
    Otherwise, IIS will throw an exception when using this configuration file.
    This module is available at https://www.iis.net/downloads/microsoft/url-rewrite.
    --><configuration><system.webServer><!--Compressed Unity builds without decompression fallback can't be properly hosted on a server whichhas static compression enabled because this might result in the build files being compressed twice.The following line disables static server compression.--><urlCompression doStaticCompression="false" /><!-- To host compressed Unity builds, the correct mimeType should be set for the compressed build files. --><staticContent><!--NOTE: IIS will throw an exception if a mimeType is specified multiple times for the same extension.To avoid possible conflicts with configurations that are already on the server, you should remove the mimeType for the corresponding extension using the <remove> element,before adding mimeType using the <mimeMap> element.--><!-- The following lines are required for builds compressed with gzip, which don't include decompression fallback. --><remove fileExtension=".data.gz" /><mimeMap fileExtension=".data.gz" mimeType="application/gzip" /><!-- The correct MIME type here would be application/octet-stream, but due to Safari bug https://bugs.webkit.org/show_bug.cgi?id=247421, it's preferable to use MIME Type application/gzip instead. --><remove fileExtension=".wasm.gz" /><mimeMap fileExtension=".wasm.gz" mimeType="application/wasm" /><remove fileExtension=".js.gz" /><mimeMap fileExtension=".js.gz" mimeType="application/javascript" /><remove fileExtension=".symbols.json.gz" /><mimeMap fileExtension=".symbols.json.gz" mimeType="application/octet-stream" /><!-- The following lines are required for builds compressed with Brotli, which don't include decompression fallback. --><remove fileExtension=".data.br" /><mimeMap fileExtension=".data.br" mimeType="application/octet-stream" /><remove fileExtension=".wasm.br" /><mimeMap fileExtension=".wasm.br" mimeType="application/wasm" /><remove fileExtension=".js.br" /><mimeMap fileExtension=".js.br" mimeType="application/javascript" /><remove fileExtension=".symbols.json.br" /><mimeMap fileExtension=".symbols.json.br" mimeType="application/octet-stream" /></staticContent><!--Hosting compressed Unity builds without decompression fallback relies on native browser decompression,therefore a proper "Content-Encoding" response header should be added for the compressed build files.NOTE: IIS will throw an exception if the following section is used without the "URL Rewrite" module installed.Download the "URL Rewrite" module from https://www.iis.net/downloads/microsoft/url-rewrite--><rewrite><outboundRules><!--NOTE: IIS will throw an exception if the same rule name is used multiple times.To avoid possible conflicts with configurations that are already on the server, you should remove the mimeType for the corresponding extension using the <remove> element,before adding mimeType using the <mimeMap> element.--><!-- The following section is required for builds compressed with gzip, which don't include decompression fallback. --><remove name="Append gzip Content-Encoding header" /><rule name="Append gzip Content-Encoding header"><match serverVariable="RESPONSE_Content-Encoding" pattern=".*" /><conditions><add input="{REQUEST_FILENAME}" pattern="\.gz$" /></conditions><action type="Rewrite" value="gzip" /></rule><!-- The following section is required for builds compressed with Brotli, which don't include decompression fallback. --><remove name="Append brotli Content-Encoding header" /><rule name="Append brotli Content-Encoding header"><match serverVariable="RESPONSE_Content-Encoding" pattern=".*" /><conditions><add input="{REQUEST_FILENAME}" pattern="\.br$" /></conditions><action type="Rewrite" value="br" /></rule></outboundRules></rewrite></system.webServer>
    </configuration>
  • nginx
  • apache

应为这边是 IIS 环境我们着重 看下 IIS:

  1. URL Rewrite : The Official Microsoft IIS Site ,需要从这里安装
  2. 在你发布的目录下 Build 目录新建 web.config 内容就是上面的

配置完毕就能跑起来了:

经测试:火狐 谷歌都ok,edge 浏览器没跑起来。


http://www.ppmy.cn/news/1405534.html

相关文章

【LeetCode热题100】【技巧】多数元素

题目链接&#xff1a;169. 多数元素 - 力扣&#xff08;LeetCode&#xff09; 其实就是找众数&#xff0c;可以用哈希表记录每个元素的出现次数&#xff0c;然后返回最多的&#xff0c;或者排序一下返回中间位置的数 但是如果要O(n)的时间复杂度和O(1)的空间复杂度&#xff0…

SpringBoot -- Profiles

Profiles具备环境隔离能力&#xff0c;可以将我们的项目快速切换开发、测试、生产环境 我们的使用步骤也很简单&#xff1a; 1. 标识环境&#xff1a;指定哪些组件、配置在哪个环境生效 2. 切换环境&#xff1a;这个环境对应的所有组件和配置就应该生效 接下来就进行详细的…

【IP组播】PIM-SM的RP、RPF校验

目录 一&#xff1a;PIM-SM的RP 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.配置IGP 3.配置PIM-SM和静态RP 4.配置动态RP 5.配置Anycast RP 二&#xff1a; RPF校验 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.配置IGP 3.配置PIM-DM 4.RPF校…

c++ new int[10]()会进行初始化.

new int[10]()-CSDN博客 #include<iostream> using namespace std;int main() {int *p new int[10]();for(int i 0; i < 10; i){cout << p[i] << endl;}delete []p; } 会进行初始化.

【C++第三阶段】模板类模板通用数组实现案例

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 模板怎么使用模板函数模板注意事项普通函数与函数模板的区别普通函数与函数模板调用规则函数模板限制 类模板类模板语法类模板与函数模板区别类模板中成员函数创建时机类模板对象做函…

【御控物联】JSON结构数据转换在物流调度系统中的应用(场景案例三)

文章目录 一、前言二、场景概述三、解决方案四、在线转换工具五、技术资料 一、前言 物流调度是每个生产厂区必不可少的一个环节&#xff0c;主要包括线边物流和智能仓储。线边物流是指将物料定时、定点、定量配送到生产作业一线的环节&#xff0c;其包括从集中仓库到线边仓、…

C++从入门到精通——nullptr

nullptr 前言一、指针空值NULL二、指针空值nullptr(C11)C98中的指针空值 三、NULL与nullptr的区别总结 前言 nullptr是C11引入的一个新特性&#xff0c;用于表示空指针。它提供了一种类型安全的方式来区分空指针和非空指针&#xff0c;避免了传统空指针&#xff08;如NULL或0&…

3.java openCV4.x 入门-数据类型(CvType)与Scalar

专栏简介 &#x1f492;个人主页 &#x1f4f0;专栏目录 点击上方查看更多内容 &#x1f4d6;心灵鸡汤&#x1f4d6;我们唯一拥有的就是今天&#xff0c;唯一能把握的也是今天 &#x1f9ed;文章导航&#x1f9ed; ⬆️ 2.hello openCV ⬇️ 4.待更新 数据类型&#xff…