我们基于unity引擎开发小游戏(https://gitee.com/wechat-minigame/minigame-unity-webgl-transform)过程中,碰到两个问题,想咨询下:
1、使用插件导出首包的时候,除了网址里“资源部署“提及的内容(首资源包即******.webgl.data.unityweb.bin.txt,包含Unity builtin + 勾选的导出场景 + Resources资源),首包还带入了Assets/Res里的资源(字体ttf、TextMeshPro组件转换的贴图.asset文件),这些资源是不应该带进去的,请问导出插件里是否支持出首包时,屏蔽指定文件夹下内容,例如(Assets/Res/)。
开始我怀疑是资源引用关系没缕清导致,想到首包导出只包含三个文件夹里资源的前提下,我做了尝试:
(1)项目中不存在builtin文件夹,所在排除它的可能
(2)Resource里的预制仔细检查,确保Text Mesh Pro组件不使用Res下的字体和.asset,只使用Resource下的字体和.asset,但是导出首包依旧存在Res下字体相关文件进包情况
(3)build setting里去掉所有出包场景,创建一个新的空场景,且删除Resources目录,但是导出首包依旧存在Res进包情况
(4)svn还原Assets目录,单独删除Res目录,出首包,运行和带Res下资源时的首包效果一致(证明首包不需要Res下资源,且不存在首包内资源要用Res下资源的报错)
这些尝试看起来就证明了首包导出时,错误地把Res下字体和.asset文件(由于会生成贴图,所以文件大小很大)带进去了,导致首包大小过大,拉大了玩家进游时长
2、更新机制细节不太清楚 https://developers.weixin.qq.com/minigame/dev/guide/runtime/update-mechanism.html
(1)这个更新规则是只给正式版本用吗?还是微信sdk里会自动识别当前是体验版本、审核版本、正式版本,然后更新到对应版本的最新包?例如:有更新的体验版本在测试,正式版本不会更新到吧?
(2)升级到新版本后,旧版本的代码包和资源会自动删除吗?
没有找到相关的详细说明文档,有相关网址麻烦提供下
2.1 正式版才会有版本更新,只会更新最新的正式版。更新机制是小游戏/小程序环境的逻辑,微信sdk不做识别。
2.2 代码包的缓存和淘汰,游戏侧不用关心。游戏资源包的缓存淘汰策略参考:https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/FileCache.md
大佬,问一下,tmp字体应该怎么处理哈,我现在是走的下载,微信开发工具字体正常,真机显示错乱。
是应该预加载或者怎么加载tmp字体吗