提交 589a018c 编写于 作者: O oceanxiao

webgl2 & engineversion

上级 b03322f0
......@@ -18,21 +18,7 @@
## 实践指南
​ 本文以 [Unity塔防模板游戏](https://learn.unity.com/project/ta-fang-mo-ban?uv=2017.2) 作为使用Unity Instant Game工具导入至微信小游戏真机运行的实践案例,相关资源下载地址:
Windows平台:
- Unity Editor:[Editor_2021.2.5f1c301_a9](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/UnitySetup64.exe)
- WebGL Build Support: [UnitySetup-WebGL-Support-for-Editor-2021.2.5f1c301.exe](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/UnitySetup-WebGL-Support-for-Editor-2021.2.5f1c301.exe)
MacOS平台:
- Unity Editor:[Editor_2021.2.5f1c301_a9](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/Unity.pkg)
- WebGL Build Support: [UnitySetup-WebGL-Support-for-Editor-2021.2.5f1c301.pkg](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/UnitySetup-WebGL-Support-for-Editor-2021.2.5f1c301.pkg)
InstantGame Package:
[com.unity.instantgame.zip](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/com.unity.instantgame.zip)
​ 本文以 [Unity塔防模板游戏](https://learn.unity.com/project/ta-fang-mo-ban?uv=2017.2) 作为使用Unity Instant Game工具导入至微信小游戏真机运行的实践案例,相关资源下载地址, 请查阅[推荐引擎版本](UnityVersion.md)获取2021 InstantGame版本。
### MacOS 安装
......
# 推荐引擎版本
## 版本兼容性
Unity WebGL微信小游戏适配方案是以WebAssembly为基础,具有非常宽泛的兼容性,转换插件理论上支持的Unity版本涵盖:2018、2019、2020、2021。
但并非每个小版本我们都有足够的验证,我们会根据验证情况以及大量转换游戏反馈的情况给出引擎版本建议。
## 推荐版本
| 引擎版本 | 压缩纹理/音频 | 编译体积 | 已验证小版本 | 其他 |
| --- | --- | --- | --- | --- |
| 2018 | 不支持 | DXT | 2018.4.25~2018.4.34 | 不支持设置dpr分辨率 |
| 2019 | 不支持 | DXT | 2019.4.28~2019.4.35 | --- |
| 2019 InstantGame| DXT/ETC2/ASTC | 100% | 2019.4.28~2019.4.35 | --- |
| 2020 | DXT/ETC2 | 100% | 2020.3.1~2020.2.36 | --- |
| 2021 | DXT/ETC2/ASTC | 80% | 2021.2.5~2021.2.18 | --- |
| 2021 InstantGame | DXT/ETC2/ASTC | 80% | 2021.2.5~2021.2.18 | 增强的UnityProfiler |
备注:
- Unity引擎在早期版本如5.x已提供WebGL平台导出模式,但我们并不推荐使用早期版本,因为存在较多BUG。
- Unity2018~2020在WebGL上没有明显的性能差异,但2018缺少部分功能(如不支持设置WebGL分辨率),老项目请尽量选择2019以上版本
- Unity2021开始支持更多特性,如压缩纹理、压缩音频、更快的编译速度与更小的体积,强烈建议
- Unity InstantGame版本目前是以2019.4.29/2021.2.5基础上,由Unity中国区特殊优化,提供更强的Profier分析、AutoStreaming等功能,如有条件尽可能使用
- 当引擎不支持移动端压缩纹理(ETC2/ASTC)时,请务必使用[压缩纹理优化](Design/CompressedTexture.md)进行优化;该工具暂无法支持高版本引擎,如2021.3.x,请使用2021.2.18以下版本
## Unity InstantGame版本获取
### 基于2021.2.5
Windows平台:
- Unity Editor:[Editor_2021.2.5f1c301_a9](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/UnitySetup64.exe)
- WebGL Build Support: [UnitySetup-WebGL-Support-for-Editor-2021.2.5f1c301.exe](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/UnitySetup-WebGL-Support-for-Editor-2021.2.5f1c301.exe)
MacOS平台:
- Unity Editor:[Editor_2021.2.5f1c301_a9](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/Unity.pkg)
- WebGL Build Support: [UnitySetup-WebGL-Support-for-Editor-2021.2.5f1c301.pkg](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/UnitySetup-WebGL-Support-for-Editor-2021.2.5f1c301.pkg)
InstantGame Package:
[com.unity.instantgame.zip](https://unity-1258948065.cos.ap-shanghai.myqcloud.com/test/AutoStreamerTest1/Release/Alpha/c301_a9/com.unity.instantgame.zip)
### 基于2019.4.29
在原有引擎版本基础提供压缩纹理、压缩音频支持,需要的开发者联系小游戏研发助手(minigamedevop08)获取
## QA
1. 我们项目使用2017版本,应该使用哪个引擎版本转换?
转换工具最低需要引擎版本为2018, 需要升级项目,建议升级到2021以支持压缩纹理、更小的编译体积
# WebGL2.0渲染支持说明
## 适合使用场景
WebGL 是一种用于在 Web 浏览器中渲染图形的 API,基于 OpenGL ES 图形库的功能。WebGL 1.0 大致与 OpenGL ES 2.0 功能相匹配,而 WebGL 2.0 大致与 OpenGL ES 3.0 功能相匹配。
根据游戏项目统计,我们发现相对于WebGL1,更适合以下游戏需求:
- 线性颜色空间渲染
- 使用GPU Instancing提高渲染性能
- 使用SRP Batcher提高渲染性能
- 使用URP PostProcessing效果提升品质
- 存在大量依赖OpenGL ES 3.0以上的Shader难以降低
## 用户占比
Unity WebGL较多渲染优化特性依赖WebGL2.0, 因此这里需要针对该特性在小游戏环境的支持进一步说明。
- 小游戏Android平台在8.0.24(2022年中版本)已支持WebGL2, 用户占比>85%,最新占比请查阅[基础库版本分布](https://developers.weixin.qq.com/minigame/dev/guide/runtime/client-lib/version.html)
- 小游戏iOS高性能模式需要iOS系统版本>=15.0,用户占比>70%
***当项目确认使用WebGL2时,尽可能在买量时过滤无法满足的用户,比如在微信广告投放时过滤掉iOS 15.0以下用户。***
## 兼容性
WebGL2.0特性较多,平台暂不保证所有能力完善,开发者务必验证游戏所用到的特性支持情况。
如遇到问题请与小游戏研发助手(微信号:minigamedevop08)联系详细排查。
## 参考文档
- Unity官方文档-[WebGL 图形](https://docs.unity3d.com/cn/2021.2/Manual/webgl-graphics.html)
......@@ -22,7 +22,7 @@
下载 [Unity插件](https://game.weixin.qq.com/cgi-bin/gamewxagwasmsplitwap/getunityplugininfo?download=1),并导入至游戏项目中,版本更新请查看[更新日志](CHANGELOG.md)
- 已验证Unity版本:2018、2019、2020、2021(请尽量使用LTS, 推荐使用2019、2021). 安装时选择WebGL组件
- 请查阅[推荐引擎版本](Design/UnityVersion.md)安装时选择WebGL组件
- 前往[Node官网](https://nodejs.org/zh-cn/download/)安装长期稳定版
- 查阅[小游戏开发者文档-快速上手](https://developers.weixin.qq.com/minigame/dev/guide/)创建小游戏类目应用
- 登录[MP微信公众平台](https://mp.weixin.qq.com),能力地图-生产提效包-快适配,开通使用
......@@ -34,6 +34,7 @@
方案概述与兼容性
- [技术原理](Design/Summary.md)
- [兼容性评估](Design/Evaluation.md)
- [推荐引擎版本](Design/UnityVersion.md)
- [更多转换案例](Design/ShowCase.md)
- [技术常见问题QA](Design/DevelopmentQAList.md)
......@@ -65,6 +66,7 @@
- [压缩纹理优化](Design/CompressedTexture.md)
- [资源优化工具与建议](Design/AssetOptimization.md)
- [iOS高性能模式](Design/iOSOptimization.md)
- [WebGL2.0渲染支持说明](Design/WebGL2.md)
版本更新与资源部署
- [小游戏资源部署](Design/DataCDN.md)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册