怎么在编辑器获取一个预制的Json啊

游戏要出版本,删除了很多老资源,有很多红色的missing引用。现在打了包有很多渲染报错,可能是边边角角还有一些没删掉引用的预制。量实在是太大,想通过代码解决,问了问GPT但是他的方法都使用无效。想求助兄弟们。GPT列举的方法如下:
Editor.assetdb.queryAssetMeta(prefabUuid);
Editor.Message.request(“scene”, “query-prefab-data-by-uuid”, prefab.uuid);
Editor.Message.request(“asset-db”, “query-asset-meta”, prefab.uuid);
目前是有prefab的uuid 但是遍历的时候就是读不到json
图片

有两种方式,一种是直接通过uuid获取对应的路径Editor.Message.request('asset-db', 'query-path', urlOrUUID);,然后直接用fs的接口读取文件内容。另外一种比较麻烦,大致需要如下操作:

  1. 使用ditor.Message.request('asset-db', 'open-asset', urlOrUUID)打开预制;
  2. 使用Editor.Message.request('scene', 'query-node-tree')获取当前场景上的节点树信息(这个接口看描述是允许直接传入一个uuid查询节点树,但应该不是预制资源的那个uuid,我试过但获取失败了);
  3. 通过节点树里面的信息作进一步操作,相关的消息接口可以在开发者/消息列表目录下查找(asset-db是资源操作相关的,scene是场景节点/组件操作相关的)。
  4. 通过消息接口对预制的节点树做出增删改等操作之后,需要按顺序调用await Editor.Message.request('scene', 'save-scene')await Editor.Message.request('scene', 'close-scene')保存并关闭当前预制。