提交 aabed2da 编写于 作者: J junkunzhang

Merge branch 'main' of...

Merge branch 'main' of https://github.com/wechat-miniprogram/minigame-unity-webgl-transform into main
......@@ -3,6 +3,7 @@
## 工具入口
菜单栏-微信小游戏-资源优化工具
![入口](../image/asset-optimization/entrance.png)
## 工具介绍
......@@ -20,14 +21,17 @@
- 禁用readable:关闭readable
- 禁用mipmap:关闭mipmap
- 优化maxsize:勾选后,可选择优化maxsize的方式
![maxsize](../image/asset-optimization/change-max-size.png)
其中,自动减半根据当前纹理尺寸,将maxsize设置为纹理宽高最大值的一半。
- change texture format: 勾选后可修改纹理压缩格式
![textureformat](../image/asset-optimization/change-format.png)
3. 区域3: 筛选列表展示结果
4. 区域4: 列表总览
5. 区域5: 资源列表
1. 区域3: 筛选列表展示结果
2. 区域4: 列表总览
3. 区域5: 资源列表
支持一键全选、按资源名搜索
6. 区域6: 引用查找
选中一个资源,查找资源被引用关系
......
......@@ -10,7 +10,7 @@ python3 -m pip install brotli
## 二、Unity导出WebGL
1. 下载 [Unity插件](http://res.wx.qq.com/wechatgame/product/webpack/userupload/wasm_plugin/minigame.unitypackage), 并导入至游戏项目中
1. 下载 [Unity插件](https://res.wx.qq.com/wechatgame/product/webpack/userupload/wasm_plugin/minigame.unitypackage), 并导入至游戏项目中
2. 添加需要导出的scene
......
......@@ -25,7 +25,9 @@ Addressable提供了以下能力:
> 内容打包:Addressable系统自动管理了所有复杂的依赖连接,所以即使资源移动了或是重新命名了,系统依然能够高效地找到准确的依赖进行打包。当你需要将打包的资源从本地移到服务器上面,Addressable系统也能轻松做到,几乎不需要任何代价。
### 2.2 相对于AssetsBundles的优势
Unity中资源按需加载也可以使用老的AssetBundle,然而使用AB需要做不少的工作:标识Asset、组织Bundle、编译、Load/Unload、依赖关系以及后期维护的复杂工作。新一代的Addressable正是对这些痛点做了不少改进,开发者只需要将Asset设置为addressable然后加载即可,[功能强大并且学习曲线变得平滑](https://docs.google.com/document/d/1hPLNLdrF0qAvjEJTpKf-cuO_d4FCV0H2cqBeP1Zo6mA/edit)
Unity中资源按需加载也可以使用老的AssetBundle,然而使用AB需要做不少的工作:标识Asset、组织Bundle、编译、Load/Unload、依赖关系以及后期维护的复杂工作。新一代的Addressable正是对这些痛点做了不少改进,开发者只需要将Asset设置为addressable然后加载即可,[功能强大并且学习曲线变得平滑]
(https://docs.google.com/document/d/1hPLNLdrF0qAvjEJTpKf-cuO_d4FCV0H2cqBeP1Zo6mA/edit)。
<image src='../image/addressable7.png' width="600"/>
......@@ -68,16 +70,19 @@ Unity中资源按需加载也可以使用老的AssetBundle,然而使用AB需
}
```
选择分组,设置分组属性如下:
<image src='../image/addressable8.png' width="800"/>
如果我们仅将场景作为分组,其中静态摆放的物件不单独设置为Addressable也会一并打包到场景所在bundle。那么,这是会产生一个问题:两个场景都使用同样资源是否产生冗余?答案是肯定的!!
那么,如何消除冗余呢?当我们Adressable面板的Tools-->Analyze进行分析时,可看到以下内容:
<image src='../image/addressable9.png' width="800"/>
此时,我们应将这些冗余的内容单独进行设置为Addressable。而更为简单的做法是:选中“Check Duplicate Bundle Dependencies”,点击“Fixed Selected Rules”,工具会自动将冗余项逐个设置为Addressable。
### 3.2.2 物件动态加载
除了静态场景外,我们还会经常动态实例化(Instantiate)或在内存中创建资源对象。比如:
<image src='../image/addressable3.png' width="600"/>
```
public class LoadAssetScript : MonoBehaviour
......
......@@ -35,14 +35,13 @@ Unity Loader是在微信小游戏环境加载Unity WebGL游戏的加载与适配
由于Unity WebGL启动加载需要一定时间,因此需要使用视频或图片等内容作为过渡以留住玩家。Unity Loader默认使用视频+进度信息呈现,开发者可以自定义封面视频,可参考[启动Loader视频规范](video.md)进行配置。
界面有以下两种
1. 使用coverview渲染进度(默认方式)
<image src="/image/coverview_loading.png" height="500">
这种方式的优势在于可以覆盖因首帧逻辑过重,导致启动过程中可能出现的黑屏,等游戏画面真正出现时再隐藏启动界面
支持参数
<image src="../image/coverview_loading.png" height="500">
```js
loadingPageConfig: {
这种方式的优势在于可以覆盖因首帧逻辑过重,导致启动过程中可能出现的黑屏,等游戏画面真正出现时再隐藏启动界面
支持参数
```js
loadingPageConfig: {
// 背景图或背景视频,两者都填时,先展示背景图,视频可播放后,播放视频
backgroundImage: 'images/background.jpg', // 默认的背景图,可自行替换,支持本地图片和网络图片
backgroundVideo: '', // 视频url,需要开发者提供,只支持网络url
......@@ -55,12 +54,12 @@ Unity Loader是在微信小游戏环境加载Unity WebGL游戏的加载与适配
initText: '初始化中', // 初始化阶段文案
completeText: '开始游戏', // 初始化完成
}
```
> backgroundImage需要注意图片宽高不可超过2048,否则无法显示
> 使用coverview需要基础库版本>=2.16.1,插件已做兼容,若不支持,降级为使用离屏canvas渲染进度的方式
```
> backgroundImage需要注意图片宽高不可超过2048,否则无法显示
> 使用coverview需要基础库版本>=2.16.1,插件已做兼容,若不支持,降级为使用离屏canvas渲染进度的方式
2. 使用离屏canvas渲染进度
<image src="/image/default_loading.jpg" height="500" />
<image src="../image/default_loading.jpg" height="500" />
支持参数
```js
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册