unity中的预设体,如果开启了序列化资源设置,可以用文本编辑器形式打开,发现预设资源信息的引用绑定是用YAML格式编写的文件,所以我们通过它的YAML+meta文件,制作了这个预设找回工具,强烈建议先阅读TAML解析原理,下文有跳转链接
demo工程github链接:
https://github.com/TraineeDan/UnityToolKit
腾讯文档实战链接:
https://docs.qq.com/doc/DZWFJanZ2QkRsc29u?createTS=1603715324381&templateId=31227&_t=1605579490453
YAML原理跳转:
https://www.cnblogs.com/blueberryzzz/p/9097391.html
背景:
特效同学制作timeline的过程中,会在人物动作模型原有的节点再diy新增一些特效,已达到实现效果,如下图红框部分,但是后续如果动作同学有对模型文件进行修改的话,比如删掉了zhongxin节点,那么这时候我们中心节点下已经调整好的特效会丢失,会给特效同学带来重复工作
发生丢失的情况,查看它的预设解析
zhongxin节点被删除了
这时候我们就可以使用上我们的工具:
通过查看预设的YAML解析,发现每个子物体的节点都会绑定一个节点id,即为fileID,下图示例的是zhongxin节点的资源解析,发现它绑定的fileID为40086,这个映射关系我们可以查看这个预设的meta文件,即可拿到id对应的节点的命名是什么
打开它的meta文件:
发现40086对应的即为zhongxin节点,可见发现丢生的情况,是因为对象实例绑定问题,即指针指向了原有的已被删除的节点,所以unity面板上查看不到,这时候我们只需要把它重新只想新的节点,一般root节点都是400000,这时候丢失的节点下面的所有内容都会重新挂回我们的根节点,即成功找回了引用,美术同学热烈鼓掌
完结撒花