[编辑器][BUG] prefab 越来越大? 可能因为残留的 cc.TargetOverrideInfo

  • Creator 版本: 3.5.0

    BUG: 如果 @property 引用了 prefab 实例内部的节点, 在组件代码中删除此 @property 之后, prefab/scene 的 json 文件中依然残留该属性对应的 cc.TargetOverrideInfo 记录.

    临时解决办法: 只能在 cc 编辑器中先 x 掉属性的值, 再删除代码中的属性.

    对于已经残留 json 的 scene/prefab, 则很难处理. 我的入口场景存在 200+行残留 json, 只好新建场景拷贝节点过去. 其它数十个 prefab 还不知道如何处理, 希望官方后面能解决这个问题.

  • 重现方式:

    1. (准备工作) 下载并打开项目 prefab_TargetOverrideInfo.zip (11.4 KB)


    2. (准备工作) 用代码编辑器打开 assets/scene.scene, 搜索 someProp 可以看到:

    3. (准备工作) 注释掉 NewComponent 中的 @property(Node) someProp, 回到 cc 编辑器刷新并保存场景
      截屏2022-05-13 22.19.41

    4. (BUG) 回到代码编辑器, 打开 assets/scene.scene, 搜索 someProp, 发现 对应的 TargetOverrideInfo 依然存在

    5. (BUG) 构建后检查生成的 Json, 发现记录依然存在
      截屏2022-05-13 22.43.33

感谢你的反馈,我们会尽快验证解决问题。

不要沉~ 这个问题有点严重…

似乎不止是残留 TargetOverideInfo, 还有其他残留问题. 可能都与删除代码中 @property 有关.

因为我发现入口 scene 会加载本不依赖的 prefab, 查看json 后发现, 是当初在场景里设计和测试过的 prefab (设计完已经拖出来并删除了场景里的节点, 但场景残留了对该 prefab 的引用)

1赞