Prefab构建微信小游戏后的资源一直找不到

构建时我勾选了MD5 Cache,构建出来后json表这些转换的资源地址,都能在构建后的res/import目录找到,例如:


对应的资源目录下

但是只要是Prefab资源的话,转换后的地址,也没有加上md5值,而且打包的资源目录还找不到对应的这个Prefab资源

在对应的目录路径下并没有这个Prefab对应的json配置

没有打包在编辑器上是可以正常运行的,有使用loader.md5Pipe.transformURL转了一次资源地址。只有Prefab这种资产的加载不出来,之前有构建过一两次没有使用MD5 Cache模式的,跟这个有影响吗,或者说引擎编辑器哪里可以手动清理下构建缓存?哪位知道的,告知下,感谢

具体版本是什么?我们测试过构建 md5,应该是没问题的。你的加载代码呢

let tempUrl = Prefabs/UI/MainPanel"
let uuid = loader._getResUuid(tempUrl,resArgs.assetType,false,false);
let assetInfo = cc.AssetLibrary._getAssetInfoInRuntime(uuid,{type:‘uuid’,uuid})
if(loader.md5Pipe)
{
//这里注释掉,是因为加载Pipe的时候我看到会自动加上md5值,所以我才注释掉,而且是注释掉,加载tb_clientText.json文件才正常
//assetInfo.url = loader.md5Pipe.transformURL(assetInfo.url);
cc.log(“md5转后的地址:”+loader.md5Pipe.transformURL(assetInfo.url)+" 原始url:"+resArgs.url)
}
cc.log(“raw转换的地址:”+url.raw(“resources/”+resArgs.url))
tempUrl = AppConst.dataPath+"/"+assetInfo.url
loader.load(tempUrl,resArgs.onProgess,finishCallback);

感谢,panda大大的回复,这个就是我的加载资源代码,版本原先用的是C3D1.0.4,我现在升级到1.1了,之前有使用没有勾选MD5 Cache方式构建过几次微信小游戏,这次换成MD5了,是不是跟来回切换这个MD5,构建时有一些缓存,会导致构建的资源还是之前的老资源?

你为啥要自己做这些转换?用 cc.loader.loadRes 就好了呀,但是 prefab 要放在 resources 目录下

https://docs.cocos.com/creator3d/manual/zh/scripting/load-assets.html#动态加载

prefab是放在resources下的,我有试过cc.loader.loadRes,但是发现这个接口不会直接去加载解压到微信数据目录下的文件,而是会去拷贝一份资源到gamecaches下,从这个路径下去加载

我这里主要是把构建好的所有资源,也就是res下的资源打成zip包,然后上传到自己的服务器,游戏开始的时候进行下载解压到微信的数据目录下wx.env.USER_DATA_PATH

我不理解你的意思 ,loadRes 只会对不存在的文件进行下载操作,您说的拷贝什么意思?

如果是这样的话确实挺麻烦的,你的操作可能是遗漏了引擎的一些操作。我建议不要尝试重现引擎做的工作,这样会很难维护。建议改造微信 adapter 中引擎的下载流程,多加一步 zip 下载和解压操作。再继续完整按照引擎的工作流来处理。

另外一方面,zip 很多时候其实是一个挺没必要的操作,首先服务器可以开启 gzip,那么就会自动进行文件压缩操作,另外一方面,下载的并发其实是对加载速度有优化的,如果你把文件都压缩到一个 zip 下,那么就没有并发的优势了。

感谢回复,可能是我描述的有误,我的意思是loadRes会重新下载一份资源到gamecaches目录下,并没有直接去我下载解压到本地路径去加载资源,原先是想说打包成zip包,一次性下载解压到本地后,玩家就不用在游戏过程中去远程服务器下载,在加载到内存中。想请问下构建缓存这个在哪里可以清理,有时候发现构建的时候,settings.js里记录的资源名称在实际构建完的res目录里找不到

目前没有这样下载 zip 包的机制,建议不要打包,如果非要打包需要定制下载流程需要比较深入的定制。

构建缓存清理可以用 wxDownloader.cleanAllCaches 或者 wxDownloader.cleanOldCaches

参考:
https://docs.cocos.com/creator3d/manual/zh/editor/publish/publish-wechatgame.html#小游戏环境的资源管理

好的感谢,那只能暂时先去掉zip包方式