Unity资源依赖反查脚本的编写

Unity资源依赖反查脚本的编写

在Unity中,可以在编辑器中通过选中对象,右键点击Select Dependencies来查看这个所选中对象引用了哪些资源,但是要是想查某个资源被那些prefab引用,却没有这方面的功能。而资源反查脚本就是要实现这个功能。
算法思想:
先获取选择对象的GUID,后再将所有prefab文件获取到,对获取到的prefab文件进行一个读取,并与选择对象的GUID进行比较,如果GUID相同,说明该prefab引用了所选取的资源,将该prefab路径在控制台中打印出来。

实例代码如下:

基本上代码注释都有标注,此脚本只是实现了对于Prefab文件进行分析,达到资源依赖反查的效果的简单demo,如果想要做界面细致,各个文件都支持的,推荐看这份脚本,这里不多赘述。

在本次脚本的编写中,走了很多弯路。最开始的时候是用各个资源的路径来进行对比,后来发现这种方法只适合用于检查在场景中prefab都被哪些GamgObject使用。对于图片、纹理等不能进行操作。后通过查api,参考其他版本的脚步后,得出了现在这个算法版本

脚步缺陷:
因为是一个简单的demo,所以并没有考虑性能问题,因为在选取文件GUID与Prefab文件对比时采用了正则表达式Regex类,所以在读取文件较多的大项目时,绝对会很卡,解决方案以后更新。

猜你喜欢

转载自blog.csdn.net/znwhahaha/article/details/81226521