Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱黑铅笔的猫
minigame-unity-webgl-transform
提交
0c971125
M
minigame-unity-webgl-transform
项目概览
爱黑铅笔的猫
/
minigame-unity-webgl-transform
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
minigame-unity-webgl-transform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0c971125
编写于
9月 22, 2021
作者:
L
liangyizhou(周良宜)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新压缩纹理文档
上级
5f1e6c9a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
11 deletion
+23
-11
Design/CompressedTexture.md
Design/CompressedTexture.md
+23
-11
未找到文件。
Design/CompressedTexture.md
浏览文件 @
0c971125
...
...
@@ -2,25 +2,34 @@
因为目前Unity导出的WEBGL游戏只支持DXT1和DXT5,在移动端上并不支持,而且除非使用Addressable这种将图片打包出来的手段,否则也会导致包体过大。为了解决这两个问题。我们提供了这个功能,让Unity游戏也能在移动端自动支持ASTC和ETC2的压缩纹理。而且图片也自动做了按需加载,无需再单独拆分打包。
简单总结使用我们的压缩纹理的好处:
- 降低内存、减少解码消耗
- 自动懒加载,降低包体
`注意:`
使用压缩纹理的图片或者图集,宽高需要为2的幂次,否则不会转化为移动端的压缩纹理。对于需要动态读取图片内容做处理的,目前还不支持将其转为压缩纹理。
## 安装ImageMagick
## 原理简介
简单来说,我们使用占位符的方式将纹理图片设置为DXT1格式,然后在运行时再根据占位符去加对应纹理的压缩纹理格式。从而达到了减少内存和自动懒加载纹理的效果。
## 使用
### 1、安装ImageMagick
下载并安装
[
ImageMagick
](
https://imagemagick.org/index.php
)
window用户安装完后需重启电脑。
##
Mac上授权
因为Mac上的隐私安全问题,使用mac的用户需要先授权,使用window的用户跳过这步。点击"微信小游戏"->"MacOS脚本授权",进行授权,直到不报错为止。若授权后还是报错,
重启unity后再点授权试试
。
##
# 2、
Mac上授权
因为Mac上的隐私安全问题,使用mac的用户需要先授权,使用window的用户跳过这步。点击"微信小游戏"->"MacOS脚本授权",进行授权,直到不报错为止。若授权后还是报错,
则需重启unity后再点授权
。
##
使用Addressable或者AssetBundle的情况
##
# 3、替换纹理
1、首先点击"微信小游戏"->"转换小游戏" 打开转换小游戏弹窗,填入相关的导出配置信息,
2、点击"微信小游戏"->"包体瘦身--压缩纹理"->"替换纹理",用到的纹理图片就会自动替换成占位符,展示位黑色的图片,如果项目用到的图片比较多这一步可能需要花费较长时间,比如10多分钟。
3、替换完毕后,再导出你的ab包。
4、在转换小游戏弹窗中点击导出。这里就不需要再勾选压缩纹理替换,否则会重复替换增加导出时间。
<image
src=
"../image/edwindow.png"
width=
"600"
/>
5、导出后可以使用"微信小游戏"->"包体瘦身--压缩纹理"->"恢复纹理"来恢复被替换的纹理图片。
3、替换完毕后,如果你是用了AB或AB包,则需要再打一遍AA/AB包。
这里替换纹理后在导出目录会生成一个Assets目录,需要将该目录放到CDN的对应目录, 其对应的是你填写的"Assets目录对应CDN地址" ,比如你填写的地址为 https://wx.qq.com/data/Assets/
,那么小游戏需要展示图片的时候就会自动去该目录下载对应图片。
<image
src=
"../image/edwindow.png"
width=
"600"
/>
### 4、导出游戏
点击"微信小游戏"->"转换小游戏" 打开转换小游戏弹窗,点击左下角的"导出WEBGL并转化为小游戏"按钮等待导出游戏即可
## 不使用Addressable和AssetBundle的情况
方法一:在转换小游戏弹窗中勾选上压缩纹理替换,然后导出。这种导出每次都会做一次纹理替换,可能花费较长时间。
方法二:同使用了Addressable的情况,可以先点击"微信小游戏"->包体瘦身--"压缩纹理"->"替换纹理",替换纹理图片,再在转换小游戏弹窗中点击导出。这里就不需要再勾选压缩纹理替换,否则会重复替换增加导出时间。
`注意:`
"选择图片资源目录"对应的默认为Assets目录,选择更小范围的目录能加快图片替换时间。对于一些不在该目录内的图片,图片format
`不能`
选择为DXT1和DXT5。
...
...
@@ -57,3 +66,6 @@
### 八、每次替换完纹理都要还原吗?
*
1、如果替换纹理后续的修改,没有增改纹理的话,可以不用还原,直接导出游戏就好。
### 九、非POT图片能否也用懒加载,来进一步减少包体大小?
可以打开"微信小游戏"->"包体瘦身--压缩纹理"->"更多设置",勾选上"懒加载非POT图片",然后按上面的步骤替换纹理导出游戏即可。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录