Unity引用查找工具开源库

栏目: 后端 · 发布时间: 4年前

内容简介:【博物纳新】是UWA旨在为开发者推荐新颖、易用、有趣的开源项目,帮助大家在项目研发之余发现世界上的热门项目、前沿技术或者令人惊叹的视觉效果,并探索将其应用到自己项目的可行性。很多时候,我们并不知道自己想要什么,直到某一天我们遇到了它。更多精彩内容请关注:lab.uwa4d.com在UWA开源库中,有各种各样的实用工具可供大家选择。今天给大家介绍的是Unity引用查找工具,也是在研发过程中非常实用的小工具。

【博物纳新】是UWA旨在为开发者推荐新颖、易用、有趣的开源项目,帮助大家在项目研发之余发现世界上的热门项目、前沿技术或者令人惊叹的视觉效果,并探索将其应用到自己项目的可行性。很多时候,我们并不知道自己想要什么,直到某一天我们遇到了它。

更多精彩内容请关注:lab.uwa4d.com

导读

在UWA开源库中,有各种各样的实用 工具 可供大家选择。今天给大家介绍的是Unity引用查找工具,也是在研发过程中非常实用的小工具。

开源库链接: https://lab.uwa4d.com/lab/5ccea58f72745c25a817c300

一、使用介绍

把这个库下载下来,它的主体代码只有三个脚本,包括了引用查找、界面展示等逻辑。需要使用时,只要把这个文件夹放进工程里即可。

Unity引用查找工具开源库

将ReferenceFinder文件夹放进了一个Demo工程中,这个工程中总共包含300多个资源和文件夹,是一个比较简单的工程。

我们知道Unity自带的关于引用查找的工具有两个,分别是Find References In Scene和Select Dependencies。

Unity引用查找工具开源库

但是这两个功能有两个缺点:

1、没有GUI可以直观地看到引用依赖的资源结果;

2、查找引用的对象只能针对于当前场景中的GameObject,不适用于Prefab等资源。

本文介绍的查找引用工具就可以实现这两个功能。

在工程中选择一个资源,右键菜单选择最后一项“Find References”。

Unity引用查找工具开源库

就可以在Ref Finder界面中查看该资源的引用和依赖资源了。这里呈现引用关系是以树状结构呈现的,不仅能看到引用资源,还能看到这些资源之间的引用关系,非常直观。每个资源包含资源类型、资源名、资源路径、状态等信息。

Unity引用查找工具开源库

点击Model按钮可以切换查看引用/依赖模式,Expand/Collapse可以快速展开/折叠树状结构:

Unity引用查找工具开源库

双击列表中的资源,即可以在Project视图中定位到这一资源。

Unity引用查找工具开源库

点击左侧的Refresh Data可以刷新依赖引用关系的数据。注意需要在修改数据之后先保存一下工程,否则可能不生效。

二、原理简述

这个小工具主要包含三个脚本:

ReferenceFinderData:引用数据生成、缓存、更新的相关逻辑。

ReferenceFinderView:定义了Editor界面UI的打开逻辑及主要GUI代码。

AssetTreeView:定义了Editor界面中根据引用数据生成的资源树状结构及资源的双击响应事件。

本工具的作者在介绍中也写到,对于这类引用关系的做法,无外乎两种:

1、每次都进行一次全局查找,保证查找的正确性。

2、缓存一次全局查找的数据,在资源变动时更新缓存数据,保持查找的正确性。

由于一次全局查找使用的资源依赖接口GetDependencies本质上是guid也就是文本的查找和比较,所以通常会很慢,尤其是对于研发后期甚至上线后的项目,项目的资源量都很大,Prefab资源也很多,就会使全局查找的时间成倍数增加。对于大型项目这个过程可能会在10分钟以上。如果希望在资源管理中,检查多个资源的依赖关系,第一种方式显然是无法接受的。

第二种方式,全局查找一次之后,就可以使用缓存数据查看所有资源的依赖关系了。同时对每个资源记录 AssetDatabase.GetAssetDependencyHash 的哈希值作为最后一次资源修改的时间标记。如果有资源修改了,通过比对这个哈希值来做增量数据更新,就可以减少数据更新的速度了。在修改资源不多的情况下,更新数据的时间也不会很长。

因此在这个工具中使用的是第二种方式,在测试过程中,确实更新数据的操作是非常快的。

缓存数据默认保存在 Library/ReferenceFinderCache 路径下,大家也可以在ReferenceFinderData中修改保存路径。对于使用SVN等工具的团队需要注意缓存文件的提交。

三、总结

今天给大家介绍的是一个研发中的实用小工具——Unity引用查找工具。在UWA开源库中其实有很多类似的小工具,这个是我们目前看到的,不管在易用性、界面美观、还是效率上都有一定优势的一个小工具,在此推荐给大家。

快用 UWA Lab合辑 Mark好项目!
Unity引用查找工具开源库

今天的推荐就到这儿啦,或者它可直接使用,或者它需要您的润色,或者它启发了您的思路......

请不要吝啬您的点赞和转发,让我们知道我们在做对的事。当然如果您可以留言给出宝贵的意见,我们会越做越好。


以上所述就是小编给大家介绍的《Unity引用查找工具开源库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Pro JavaScript Design Patterns

Pro JavaScript Design Patterns

Dustin Diaz、Ross Harmes / Apress / 2007-12-16 / USD 44.99

As a web developer, you’ll already know that JavaScript™ is a powerful language, allowing you to add an impressive array of dynamic functionality to otherwise static web sites. But there is more power......一起来看看 《Pro JavaScript Design Patterns》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具