提交 8ac8614e 编写于 作者: ocean2o11's avatar ocean2o11

修改首页说明

上级 9b5abe4c
......@@ -7,7 +7,7 @@
## 需要注意的事项
### 1、关于游戏类目
### 1. 游戏类目
考虑到游戏体积与逻辑复杂度,目前建议中轻度2D/3D游戏进行转换,游戏类目包括:
* 休闲:消除,答题,模拟经营,塔防,益智等
* 动作:跑酷,飞行设计,轻度IO
......@@ -17,7 +17,7 @@
对重度游戏如MMO/FPS等游戏需根据实际情况评估
### 2. 关于引擎版本
### 2. 引擎版本
本转换方案目前支持:
* Unity 2018
......
# Unity WebGL小游戏适配方案概述
## 一、介绍
## 1.1 什么是Unity WebGL小游戏适配方案
简单来讲:本方案是支持Unity WebGL导出格式在微信小游戏环境的运行适配。
因此,开发者无需更换Unity引擎与重写核心代码的情况下发布到微信小游戏。
## 1.2 技术原理
## 一、技术原理
<image src='../image/summary1.png' width="1080"/>
方案特点:
1. 原Unity项目需能支持发布为WebGL,由转换工具与微信小游戏运行环境保证适配兼容
2. 微信小游戏平台能力以C# SDK方式提供给开发者,无需JavaScript即可对接平台开放能力
3. 支持游戏中使用的第三方插件(C原生插件除外)
Unity的BuildTarget支持WebGL平台,WebGL导出包是基于WebAssembly技术运行在浏览器环境。
为了能让导出包运行在微信小游戏环境,我们提供了以下支持:
* 开发阶段:提供平台能力的C# SDK帮助开发者快速对接平台能力
* 导出阶段:转换打包工具,进行Unity WebGL胶水层适配,直接转换成小游戏包
* 运行阶段,提供WebAssembly基础能力,微信底层接口支持
## 二、接入流程
接入流程主要包含以下几个环节:
<image src='../image/summary2.png' width="800"/>
<image src='../image/summary2.png'/>
> 注:图中每个环节的人力时间为预计,具体时间因具体项目不同。
### 2.1 评估反馈
### 评估反馈
我们为接入游戏提供了评估表,问卷内容是本转换方案最重要的影响因素。当根据实际项目填写之后与我们联系后一起评估可行性和技术风险点,详细内容请参考[方案评估](Evaluation.md)
### 2.2 工具转换
### 工具转换
我们提供了**Unity转换插件**帮助开发者将项目自动导出为微信小游戏包,随后即可使用微信开发者工具或Android/iOS真机进行预览。
关于转换工具的使用请参考文档:
* [使用转换工具导出微信小游戏](Transform.md)
### 2.3 平台能力接入
### 平台能力接入
微信小游戏平台提供众多开放能力,但目前是以JavaScript API形式提供。
为了降低开发者进行平台能力对接的门槛,我们提供了平台能力C# SDK,因此依然可以熟悉的C#接口进行平台能力使用。
关于平台能力C# SDK请参考文档:
* [WX SDK平台能力适配](WX_SDK.md)
### 2.4 调优体验
### 调优体验
转换工具能帮助开发者快速转换原有Unity项目,然而对于优质的小游戏我们还需要更多的体验调优以取得良好的上线表现。
关于调优请参考文档:
* [Unity WebGL小游戏转换方案性能标准](PerfMeasure.md)
* [提升Unity WebGL游戏启动速度](StartupOptimization.md)
\ No newline at end of file
- [性能优化总览](Design/PerfOptimization.md)
- [性能评估标准](Design/PerfMeasure.md)
\ No newline at end of file
# 转换工具导出微信小游戏
>当前文档适用导出工具版本202104011707,独立域插件版本0.0.93
## 一、 前置要求
1. 已验证Unity版本:2018.3/2018.4LTS、2019.2/2019.4LTS
安装时选择WebGL组件
2. 如果你用的是Big Sur版本的Mac系统,并且Unity 版本小于 2019.4.14, 则需另外安装 [python3](https://www.python.org/downloads/),并安装brotli 命令如下
```
python3 -m pip install brotli
```
## 、Unity导出WebGL
## 、Unity导出WebGL
1. 下载 [Unity插件](https://res.wx.qq.com/wechatgame/product/webpack/userupload/wasm_plugin/minigame.unitypackage), 并导入至游戏项目中
2. 添加需要导出的scene
添加需要导出的scene
<image src='../image/scene.png' width="600"/>
建议仅勾选Loading场景,后续场景使用AssetsBundle/Addressable进行按需加载。
## 、适配小游戏
## 、适配小游戏
1. Mac上授权
因为Mac上的隐私安全问题,使用mac的用户需要先授权,使用window的用户跳过这步。点击"微信小游戏"->"MacOS脚本授权",进行授权,直到不报错为止。若授权后还是报错,重启unity后再点授权试试。
2. 选择 点击 微信小游戏 -> 转换小游戏, 填写相应参数,点击`导出WEBGL并转换为小游戏`按钮 ,等待转换完成。
......@@ -49,30 +39,20 @@ python3 -m pip install brotli
至此,可以在[微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)打开转化后的小游戏进行预览。
## 、使用脚本集成到自己的构建系统
## 、使用脚本集成到自己的构建系统
如果你希望将导出插件集成到自己的发布流程,想脚本调用的话,可修改 Assets/WX-WASM-SDK/Editor/MiniGameConfig.asset配置,然后调用WXEditorWindow 的 DoExport方法导出小游戏
```
var win = new WXEditorWindow();
win.DoExport();
```
## 五、常见问题
1. 微信版本与运行时基础要求是什么?
* Android版本必须>=7.0.19
* iOS版本必须>=7.0.18
* 基础库版本必须>=2.14.0
具体支持情况参考[支持平台](SupportedPlatform.md)
2. 为什么运行时出现奇怪的“Maximun call stack size exceeded.RangeError”或“Not Impletemented: Class::FromIL2CPPType”?
Unity WebGL 首包资源data文件含有metadata,如果data资源包和wasm对不上会有各种问题,尤其在**浏览器**运行时需清理IndexedDB中的缓存。
3. 为什么资源或网络请求在打开"vConsole"正常,关闭时下载失败?
## 四、常见问题
1. 为什么资源或网络请求在打开"vConsole"正常,关闭时下载失败?
网络请求必须**配置安全域名**:https://developers.weixin.qq.com/minigame/dev/guide/base-ability/network.html
打开"vConsole"时,小游戏默认不检查因此能请求通过。
4. 中文字体适配
2. 中文字体适配
字体必须打包到项目中,才能正常展示。
5. 音频被切到后台会停止
3. 音频被切到后台会停止
小游戏被切到后台会停止播放音频需代码中监听 [WX.OnShow](https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.onShow.html)事件和 [WX.OnAudioInterruptionEnd](https://developers.weixin.qq.com/minigame/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)事件,在该事件之后重新播放音频
# Unity WebGL 小游戏适配方案(公测)
欢迎使用 Unity WebGL 小游戏适配(转换)方案,本方案设计目的是**降低 Unity 游戏转换到微信小游戏的开发成本**。开发者无需更换 Unity 引擎工作流与重写核心代码的情况下,将原有游戏项目适配到微信小游戏。
欢迎使用 Unity WebGL 小游戏适配(转换)方案,本方案设计目的是**降低 Unity 游戏转换到微信小游戏的开发成本**。基于WebAssembly技术,开发者无需更换 Unity 引擎工作流与重写核心代码的情况下,将原有游戏项目适配到微信小游戏。
## 方案特点
* 保持原引擎工具链与技术栈
* 无需重写游戏核心逻辑,支持大部分第三方插件
* 由转换工具与微信小游戏运行环境保证适配兼容,保持较高还原度
* 微信小游戏平台能力以C# SDK方式提供给开发者,快速对接平台开放能力
<br>
<br>
# 文档总览
## 转换案例
<image src='image/showcase11.png' width="200"/>
概述
- [更多转换案例](Design/ShowCase.md)
<br>
<br>
- [方案概述](Design/Summary.md)
- [支持平台](Design/SupportedPlatform.md)
- [转换案例](Design/ShowCase.md)
## 安装与使用
工具指引
下载 [Unity插件](https://res.wx.qq.com/wechatgame/product/webpack/userupload/wasm_plugin/minigame.unitypackage), 并导入至游戏项目中。
- [方案兼容性评估](Design/Evaluation.md)
- [快速开始:转换工具导出微信小游戏](Design/Transform.md)
> 已验证Unity版本:2018.3/2018.4LTS、2019.2/2019.4LTS. 安装时选择WebGL组件。
> 如果你用的是Big Sur版本的Mac系统,并且Unity 版本小于 2019.4.14, 则需另外安装 python3,并安装brotli 命令如下: python3 -m pip install brotli
性能优化
[快速开始:转换工具导出微信小游戏](Design/Transform.md)
<br>
<br>
## 文档总览
方案概述与兼容性
- [技术原理与流程](Design/Summary.md)
- [兼容性评估](Design/Evaluation.md)
- [更多转换案例](Design/ShowCase.md)
性能优化
- [性能优化总览](Design/PerfOptimization.md)
- [性能评估标准](Design/PerfMeasure.md)
- 启动性能
......
image/summary1.png

266.2 KB | W: | H:

image/summary1.png

257.2 KB | W: | H:

image/summary1.png
image/summary1.png
image/summary1.png
image/summary1.png
  • 2-up
  • Swipe
  • Onion skin
image/summary2.png

177.1 KB | W: | H:

image/summary2.png

181.4 KB | W: | H:

image/summary2.png
image/summary2.png
image/summary2.png
image/summary2.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册