Unity开发工作中,在Hierarchy窗口搜索栏可以通过物体名称或组件名称对场景中的物体进行搜索,但是并不能满足我们一些其它的搜索要求,例如搜索指定Tag标签的物体,或者指定Layer层级的物体,或者指定Active状态的物体,或者更为复杂的一些搜索,比如我们想找到场景中所有隐藏的、且挂有Camera组件的、且标签为MainCamera的物体,这些都无法实现。
今天分享一个作者为了解决上述搜索需求而开发的Filter物体筛选器:
其中Target是指需要进行筛选的所有物体,All是指对场景中的所有物体进行筛选,也可以指定一个根级,对这个根物体的所有子物体进行筛选:
确定好要进行筛选的物体后,下面来创建筛选条件:
1.Name 通过物体名称的关键字进行筛选
2.Component 通过组件进行筛选 -物体是否挂有指定组件
3.Layer 通过物体的Layer层级进行筛选
4.Tag 通过物体的Tag标签进行筛选
5.Active 通过物体的活跃状态进行筛选
以上是单个条件的筛选方式,我们也可以创建复合条件,即多个条件对物体进行筛选,比如文章开始提到的,我们要找到场景中所有隐藏的、且挂有Camera组件的、且标签为MainCamera的物体,需要创建3个条件:1.Active活跃状态为false条件、2.Component组件为Camera条件、3.Tag标签为MainCamera条件
最终点击Select按钮可以选中全部我们筛选出的符合条件的物体,需要该小工具的朋友可以联系本人。