Skip to content

Commit f2a731f

Browse files
author
nebulaliu
committed
feat: update docs
1 parent b1bc73f commit f2a731f

20 files changed

+52
-121
lines changed

.config/.vitepress/config.mts

+5-4
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,11 @@ export default defineConfig({
3131
{
3232
text: "基本",
3333
items: [
34-
{ text: "简介", link: "/README" },//
34+
{ text: "简介", link: "/README" },
3535
{ text: "安装与使用", link: "/Design/SDKInstaller" },
3636
{ text: "入门指南", link: "/Design/Guide" },
37-
{ text: "优秀案例", link: "/Design/ShowCase" },//
37+
{ text: "优秀案例", link: "/Design/ShowCase" },
38+
{ text: "更新日志", link: "/CHANGELOG.md" },
3839
],
3940
},
4041
{
@@ -150,7 +151,7 @@ export default defineConfig({
150151
items: [
151152
{ text: "技术常见问题QA", link: "/Design/DevelopmentQAList" },
152153
{ text: "问题反馈与联系我们", link: "/Design/IssueAndContact" },
153-
{ text: "技术沙龙", link: "/" }, //
154+
{ text: "技术沙龙", link: "/Design/Salon" },
154155
],
155156
},
156157
],
@@ -169,6 +170,6 @@ export default defineConfig({
169170
srcDir: "../",
170171
base: "/minigame-unity-webgl-transform/",
171172
outDir: "../docs",
172-
ignoreDeadLinks: true,
173+
// ignoreDeadLinks: true,
173174
lang: "zh-cn",
174175
});

CHANGELOG.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ Removed - 删除功能/接口
66
Fixed - 修复问题
77
Others - 其他
88
-->
9-
标准版下载地址:[微信小游戏Unity转换插件](https://game.weixin.qq.com/cgi-bin/gamewxagwasmsplitwap/getunityplugininfo?download=1)
10-
11-
团结版下载地址:[微信小游戏团结引擎转换插件](Design/SDKInstaller.md)
9+
SDK安装指引:[微信小游戏团结引擎转换插件WXSDK](Design/SDKInstaller.md)
1210

1311
## 2024-4-3 【重要更新】
1412
包含重要bugfix、特性支持

Design/AndroidProfile.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
1. 编译版本仅当导出勾选Profiling-funcs(推荐)或Development时才能在函数堆栈中看到可读函数名。
3434
2. 特殊情况下,如果游戏勾选Profiling-funcs会导致代码包过大,那么不要使用此选项。此时得到的Profile中函数为数字ID,有两种做法进行解读:
3535
- 2.1 通过webgl导出目录下的symbols文件对照映射
36-
- 2.2 通过[替换脚本](../tools/update_v8_wasm_profile.py){target="_self"}对cpuprofile进行自动映射到真实函数。使用方式:python update_v8_wasm_profile.py $cpuprofile $symbol
36+
- 2.2 通过[替换脚本](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/tools/update_v8_wasm_profile.py)对cpuprofile进行自动映射到真实函数。使用方式:python update_v8_wasm_profile.py $cpuprofile $symbol
3737
3. 如希望能从游戏启动立即抓取profile,请在game.js末尾代码稍作修改:
3838
```
3939
const gl = GameGlobal.canvas.getContext('webgl')

Design/CompressedTexture.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@
116116

117117
## 新版本异常回退说明
118118

119-
​ 微信纹理压缩升级了全新的内核程序,尽管发布前进行了多数Unity年限版本与常见机型的测试,目前仍处于初期测试使用,若使用期间存在异常影响正常的游戏发布可前往issues提出问题,并使用[上一代稳定版微信纹理压缩包(旧)](../tools/minigame.texturecompressed.backup.unitypackage){target="_self"}导入工程后采用旧版本完成游戏发布。旧版本使用指引请参阅:[微信压缩纹理使用说明(旧)](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/37ee6bf04443ac37c81571f60d43f9ca6e6c21c8/Design/CompressedTexture.md)
119+
​ 微信纹理压缩升级了全新的内核程序,尽管发布前进行了多数Unity年限版本与常见机型的测试,目前仍处于初期测试使用,若使用期间存在异常影响正常的游戏发布可前往issues提出问题,并使用[上一代稳定版微信纹理压缩包(旧)](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/tools/minigame.texturecompressed.backup.unitypackage)导入工程后采用旧版本完成游戏发布。旧版本使用指引请参阅:[微信压缩纹理使用说明(旧)](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/37ee6bf04443ac37c81571f60d43f9ca6e6c21c8/Design/CompressedTexture.md)
120120

121121

122122

@@ -164,7 +164,7 @@
164164

165165
#### 解决方案二:
166166

167-
​ 先下载 [libgdiplus.dylib](../tools/libgdiplus.dylib){target="_self"} 文件后,将其放在 UnityEditor `/Applications/Unity/Hub/Editor/{$Unity_Editor_Version}/Unity.app/Contents/MonoBleedingEdge/lib/libgdiplus.dylib` 路径下,并编辑 `/Applications/Unity/Hub/Editor/{$Unity_Editor_Version}/Unity.app/Contents/MonoBleedingEdge/etc/mono/config` 文件,将 `target= .../libgdiplus.dylib` 路径内容均变更为下载文件的存放完整路径,重启 Unity Editor 即可。
167+
​ 先下载 [libgdiplus.dylib](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/tools/libgdiplus.dylib) 文件后,将其放在 UnityEditor `/Applications/Unity/Hub/Editor/{$Unity_Editor_Version}/Unity.app/Contents/MonoBleedingEdge/lib/libgdiplus.dylib` 路径下,并编辑 `/Applications/Unity/Hub/Editor/{$Unity_Editor_Version}/Unity.app/Contents/MonoBleedingEdge/etc/mono/config` 文件,将 `target= .../libgdiplus.dylib` 路径内容均变更为下载文件的存放完整路径,重启 Unity Editor 即可。
168168

169169
## 微信压缩纹理API介绍
170170

Design/Guide.md

+5-6
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@
44

55
![Unity快适配调优指南](../image/guide/guide1.png)
66

7-
- [【阶段一】兼容性评估](#阶段一兼容性评估):初步确认技术方案是否符合游戏项目
8-
- [【阶段二】项目转换](#阶段二项目转换):可体验的WebGL、小游戏项目
9-
- [【阶段三】微信平台能力接入](#阶段三微信平台能力接入):接入更多平台能力
10-
- [【阶段四】体验调优](#阶段四体验调优):达到可上线标准的小游戏体验
11-
- [【阶段五】发布上线与现网监控](#阶段五发布上线与现网监控):上线后的问题排查与分析
12-
7+
- 【阶段一】兼容性评估:初步确认技术方案是否符合游戏项目
8+
- 【阶段二】项目转换:可体验的WebGL、小游戏项目
9+
- 【阶段三】微信平台能力接入:接入更多平台能力
10+
- 【阶段四】体验调优:达到可上线标准的小游戏体验
11+
- 【阶段五】发布上线与现网监控:上线后的问题排查与分析
1312

1413

1514
## 【阶段一】兼容性评估

Design/IssueAndContact.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* 最好能提供非业务相关的可复现代码片段
1515

1616

17-
## 小游戏研发助手
18-
开发者也可以通过“研发助手号”直接与小游戏团队进行技术交流
17+
## 小游戏客服助手
18+
开发者也可以通过客服助手直接与小游戏团队进行技术交流
1919

20-
<img src='../image/issueandcontact2.jpg' width="200"/>
20+
<img src='../image/issueandcontact2.png' width="200"/>

Design/LaunchOpera.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323

2424
## 接入方式
2525

26-
[演示工程源码](/Demo/LaunchOpera)
26+
[演示工程源码](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo/LaunchOpera)
2727
由于启动剧情为Unity启动加载耗时过久而推出的能力,因此主要配置由 JavaScript 脚本实现(早于WASM初始化)。
2828

2929
### 步骤一:设计剧情
3030

31-
剧本设计请阅读 [启动剧情剧本自助设计工具及文档](LaunchOperaDocument.md) 完成设计与调试;
31+
剧情设计由开发者自行准备游戏主题相关视频、图片资源素材并上传至CDN。剧情编辑工具目前有一定的使用学习成本,Beta阶段为了降低开发者的接入难度,具体的剧情设计需联系[研发助手](/Design/IssueAndContact.md#小游戏研发助手)协助设计。
3232

3333
剧本产物:资源目录 `launchOperaPlay`
3434

Design/OpenData.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ wx.onMessage(data => {
102102
因此插件内置的示例采用的是微信自研的[轻量级渲染引擎](https://wechat-miniprogram.github.io/minigame-canvas-engine/),压缩后只有几十k,这需要你掌握一些简单的 Web 开发知识,包括 [Flex布局](https://www.ruanyifeng.com/blog/2015/07/flex-grammar.html)[CSS](https://www.w3schools.com/css/),参照示例修修改改很快能够上手。
103103

104104
### 5、示例DEMO
105-
可以参考[Demo/Ranking](../Demo/Ranking)下面的Unity工程。插件导出的 open-data 已经是一个比较功能完备的工程,进行简单的魔改就能够满足需求。
105+
可以参考[Demo/Ranking](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo/Ranking)下面的Unity工程。插件导出的 open-data 已经是一个比较功能完备的工程,进行简单的魔改就能够满足需求。
106106

107107
#### 5.1 好友排行榜
108108
1. 展示 RawImage 的时候调用 SDK API

Design/OptimizationPerformence.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Unity Profiler的运行原理是在Unity Editor监听固定端口,Unity WebGL
5555
- 工具需要开启development模式,对性能有较大影响
5656
- 可获取函数热点、内存与模块上报数据(比如物理、动画等)
5757
- 不是很稳定,部分版本会出现无法连接的情况
58-
- 内存数据不准确,并不能反应真实使用情况,内存工具请查阅[优化Unity WebGL的内存](Design/OptimizationMemory.md)
58+
- 内存数据不准确,并不能反应真实使用情况,内存工具请查阅[优化Unity WebGL的内存](/Design/OptimizationMemory.md)
5959

6060
### 3.3 小游戏云测
6161

@@ -69,7 +69,7 @@ Unity Profiler的运行原理是在Unity Editor监听固定端口,Unity WebGL
6969
不用使用XML、JSON解析大文件,尤其是在游戏启动阶段,字符串类型解析器将耗费大量CPU算力与产生GC。比如大型游戏在使用Addressable时catalog文件往往会超过10MB,导致解析过慢而影响启动速度,此时应使用其他资源管理比如AssetBundle来减少资源索引文件大小。同样地,在游戏过程中也尽量避免这类CPU消耗。
7070

7171
### 2. LUA性能
72-
Unity WebGL环境的lua不支持JIT,因此需要避免用于重度逻辑。可[使用 Android CPU Profiler 性能调优](Design/AndroidProfile.md)查看LUA的耗时占比。
72+
Unity WebGL环境的lua不支持JIT,因此需要避免用于重度逻辑。可[使用 Android CPU Profiler 性能调优](/Design/AndroidProfile.md)查看LUA的耗时占比。
7373

7474
### 3. 物理性能
7575
请参考文档[优化物理性能](https://docs.unity3d.com/cn/2021.3/Manual/iphone-Optimizing-Physics.html),适当调整Fixed Timestep与 Maximum Allowed Timestep降低计算频率。

Design/ResourcesLoading.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
- 快速适配对微信API能力的接入,性能上重点对首场景启动优化,关卡分包加载(主关卡优先,后续关卡按需加载等)。
5353
- 建议[使用 Unity Instant Game 进行资源按需加载](InstantGameGuide.md)缩短转换周期。
5454

55-
#### 原生 APP 手游未使用 资源按需加载 的中重度游戏**
55+
#### 原生 APP 手游未使用 资源按需加载 的中重度游戏
5656

5757
特点:游戏较大,但未使用 AA/AB 包方式进行分包管理,或较少使用,场景中必须与非及时资源在启动时一并加载。
5858

Design/SDKInstaller.md

+13-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
# 微信SDK安装
22

3+
- 请查阅[推荐引擎版本](/Design/UnityVersion.md),安装时选择 WeiXin MiniGame(团结引擎)或 WebGL(Unity引擎)组件
4+
- 前往[微信开发者工具下载](https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html)安装Stable版开发者工具【注意:为保证稳定性,请勿使用小游戏版 Minigame Build】
5+
- 查阅[小游戏开发者文档-快速上手](https://developers.weixin.qq.com/minigame/dev/guide/)创建小游戏类目应用
6+
- 登录[MP微信公众平台](https://mp.weixin.qq.com),能力地图-生产提效包-快适配,开通使用
7+
- 查阅[快速开始:转换工具导出微信小游戏](/Design/Transform.md)进行小游戏导出转换
8+
39
为兼容历史团结/Unity版本的使用,微信小游戏团队将SDK分为如下两种模式安装使用。
410

5-
## 方法一:Package 方式安装
11+
## 方法一(推荐):Package 方式安装
612

713
目前[团结引擎](https://unity.cn/tuanjie/tuanjieyinqing)、Unity 2019及以后版本推荐使用 Package 方式安装WXSDK。
814

@@ -13,6 +19,12 @@ URL地址为:
1319
```
1420
https://github.com/wechat-miniprogram/minigame-tuanjie-transform-sdk.git
1521
```
22+
23+
国内Gitee镜像:
24+
```
25+
https://gitee.com/wechat-minigame/minigame-tuanjie-transform-sdk.git
26+
```
27+
1628
即可完成SDK导入。
1729

1830
## 方法二:资源包方式安装

Design/Salon.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# 技术沙龙
2+
3+
## 微信小游戏技术沙龙分享材料2023
4+
5+
https://docs.qq.com/pdf/DSVdvRHh6elZRdGZu

Design/Transform.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
- 不自动缓存文件类型:游戏资源CDN下不自动缓存的文件类型,具体参见[AssetBundle缓存](UsingLoader.md)
3232
- Bundle名中Hash长度:自定义AssetBundle名中Hash长度用于缓存控制,具体参见[AssetBundle缓存](UsingLoader.md)
3333
- 预下载列表:网络空闲时预下载的资源,[使用预下载](UsingPreload.md)
34-
- SDK功能选项:[好友关系链](OpenData.md) [音频优化](AudioOptimization.md)
34+
- SDK功能选项:[好友关系链](OpenData.md)
3535
- 调试编译选项
3636

3737
### 2.2 了解转换后目录结构

Design/UsingAddressable.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Unity中资源按需加载也可以使用老的AssetBundle,然而使用AB需
3838

3939
[WXAssetBundle](UsingAssetBundle.md#三更节省内存的wxassetbundle)可以减轻iOS的内存压力,对于使用Addressable的项目,需要替换Provider来使用WXAssetBundle。
4040

41-
1. 下载[WXAssetBundleProvider.cs](../tools/WXAssetBundleProvider.cs),放到WX-WASM-SDK-V2/Runtime/目录下
41+
1. 下载[WXAssetBundleProvider.cs](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/tools/WXAssetBundleProvider.cs),放到WX-WASM-SDK-V2/Runtime/目录下
4242
2. 导入插件后会有WXAssetBundleProvider.cs缺依赖的报错,需要给WX-WASM-SDK-V2/Runtime 增加 Unity.ResourceManager 的引用
4343
<img src='../image/wxassetbundleprovider1.png' width="600"/>
4444

Design/UsingLoader.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ hideAfterCallmain: $HIDE_AFTER_CALLMAIN, // 是否callmain完成立即隐藏封
7777

7878
### 3.3 首包资源加载方式
7979
**加载方式在转换工具导出时就确定好了,开发者一般不需要修改**
80-
**游戏资源量比较少**时,可选择将首包资源作为小游戏分包加载,了解[小游戏分包](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/sub-packages.html)
80+
**游戏资源量比较少**时,可选择将首包资源作为小游戏分包加载,了解[小游戏分包](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/independent-sub-packages.html)
8181
wasm代码已是通过代码分包加载,当**wasm代码+首包资源>20M时,资源包不可再使用小游戏分包加载**
8282
当首包资源通过小游戏代码分包下载时,会将首包资源存放在minigame/data-package这个分包下
8383

Design/UsingMemoryProfiler.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ Other: select sum(size) from alloc_used where callback not like "%xxx%" or cal
8989
- 首先,这是正常情况,因为每次分配内存都会获取堆栈信息导致运行慢
9090
- Lua会存在大量分配行为,会加重这个问题, 因此我们提供了专门的内存分配器忽略Lua内存,具体做法:
9191

92-
1.[simpledlmalloc.c](../tools/simpledlmalloc.c)添加到xLua虚拟机源码目录下参与编译,(和lauxlib.c同一目录)
93-
2. 参考[lauxlib.c](../tools/lauxlib.c),在lua源码目录下的同名文件中增加`simple_dlmalloc`,并修改`LUALIB_API lua_State *luaL_newstate (void)` 为如下所示
92+
1.[simpledlmalloc.c](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/tools/simpledlmalloc.c)添加到xLua虚拟机源码目录下参与编译,(和lauxlib.c同一目录)
93+
2. 参考[lauxlib.c](https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/tools/lauxlib.c),在lua源码目录下的同名文件中增加`simple_dlmalloc`,并修改`LUALIB_API lua_State *luaL_newstate (void)` 为如下所示
9494
```C
9595
#include "simpledlmalloc.c"
9696
static void *simple_dlmalloc (void *ud, void *ptr, size_t osize, size_t nsize) {

0 commit comments

Comments
 (0)