creator 获取资源依赖出现重复的uuid

  • Creator 版本:2.4.2

  • 目标平台: chrome

  • 重现方式:打开场景直接运行

  • 首个报错:无

  • 编辑器操作系统: windows10

  • 重现概率: 100%

在2.4.2版本中获取一个通过动态加载的预制体所依赖的资源:发现依赖的uuid里面有重复的uuid,为此预制体的动画文件uuid (通过api cc.assetManager.getDeps(rootPrefabUuid))
部分代码如下:
文字缩进4格 let rootPrefab = await this.loadPrefab();
let rootPrefabUuid = rootPrefab._uuid;

    let rootdeps = cc.assetManager.dependUtil.getDeps(rootPrefabUuid);
    console.log("deps is ",rootdeps);
    let rootdepsRe = cc.assetManager.dependUtil.getDepsRecursively(rootPrefabUuid);
    console.log("rootdepsRe is ",rootdepsRe);
    
}

private async loadPrefab(): Promise<cc.Prefab> {
    return new Promise((resolve,reject) => {
        cc.resources.load("prefabs/root",cc.Prefab,(err,res: cc.Prefab) => {
            if(err) {
                reject();
                return;
            }
            resolve(res);
        })
    })
}

是会有重复的uuid,你是遇到什么问题了吗?

释放资源的时候(cc.assetManager.releaseAsset)打印时候看到的,我打印cc.loader_cache发现预制体的资源uuid还在,是不是不能用这个属性来查看通过cc.asssetManager释放的资源

2.4.2的用cc.assetManager.assets代替cc.loader._cache,否则会出现跟cc.assetManager.assets得出的结果不一致,结贴