有时候在UI中大量使用了预制体A,但是由于某些原因需要将其中部分地方替换成预制体B,如果直接直接在UI中进行替换,在需要在每一个替换的地方加入预制体B然后调整位置、大小等多个属性值,删除旧的预制体A并且修改相关的引用,这样操作起来很费时。为了方便修改可以直接通过修改unity的.prefab文件方式进行。Unity的.prefab文件中保存了当前预制体内部所有组件的属性值及其层次结构,任何一个组件都对应有一个FID,该FID在当前预制体内部是唯一的,.meta文件保存了当前预制体的GUID,GUID是全局唯一的。结构类似于下图,
假设现在有一个常规字体预制体(GUID为5f3b4ccfac2310e4a83918146f3abf8f)及一个中等字体预制体(GUID为e3612cb130ff45a46be6e8064f27d919),现在需要将ToolButton预制体中使用的CoinAmountText常规字体引用改成中等字体引用,
则处理步骤如下,
使用记事本打开ToolButton.prefab文件,搜索名字CoinAmountText,找到相应的位置,如下,
可以看出此处有很多guid为5f3b4ccfac2310e4a83918146f3abf8f的地方,将当前PrefabInstance节点下面的所有5f3b4ccfac2310e4a83918146f3abf8f替换成e3612cb130ff45a46be6e8064f27d919,然后保存即可,一般节点以下面形式结束,
在替换时候一直替换到下一个PrefabInstance节点开始前或者文件最后,不要漏掉任何一个地方,否则该组件会在UI上无法正常显示。替换完成后可以看到字体发生了变化,也可以在CoinAmountText上右击找到对应的引用预制体,此时就会变成了替换后的。
原文地址:https://blog.csdn.net/huzhizhewudi/article/details/113428802
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。