[3.8.2] 如何快速替换LabelOutline?

3.8.2版本把描边内置到label里了,确实很棒的升级.

但是旧版本升上来的海量预制体里的lebal的描边怎样可以快速去除/替换呢? :sob:

可能要用nodejs或者python工具批量遍历处理一下了,不过海量预制体的话应该已经是个几乎完整的项目了把,真敢跨大版本升级呀

直接改prefab会报错,prefab里很多id会变

把所有预制体挂一个空场景上,写个组件executeInEditMode,这个组件把label改掉之后,再把所有预制体拖回原来的地方,不知道这样可不可行

和手动去改也没太差了 :rofl:

现在只能是看见了改一下,好在只是打包会警告下.

海量预制体的话,还是能减少不少重复性工作的吧, 而且如果你所有预制体只分散在三五个文件夹下的话,那工作量不就是拖动四五次。或者 还可以写个脚本把所有预制体先放一个文件夹下,挂一次,改完,拖回去,然后再用脚本把所有预制体放回到原本文件夹,这不就也没啥工作量了。

executeInEditMode 脚本上把组件去掉,然后去掉,保存

自己写个LabelOutline,参数和老的一致,实现改成设置3.8.2的描边。然后搜索项目,文本替换"type": "cc.LabelOutline"为刚写的组件类型

搞个插件,把 prefab 实例化为 node,然后把 LabelOutline 参数同步到 label 组件,移除 LabelOutline 组件, 然后把这个 node 序列化为 prefab 存储

1赞