更新日期:2024年12月30日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]
索引
- 问题再现
- 通过Tag搜索物体(SearchByTag)
- 打开SearchByTag窗口
- 搜索标记指定Tag的所有物体
- 批量修改Tag
- 搜索Undefined状态的所有物体
- 通过Layer搜索物体(SearchByLayer)
- 打开SearchByLayer窗口
- 搜索标记指定Layer的所有物体
- 批量修改Layer
- 搜索MissingLayer状态的所有物体
问题再现
我们可能会遇到这样的场景,比如需要定义一个Tag用来标记不会移动的建筑物件,我们新建了一个Tag叫Build,用它来标记这些物件。
在未来的某一天,出现了会移动的建筑物件,所以在Tag上要做出区分,我们需要将Build修改为StaticBuild,由于Tag不支持修改,只能先删除旧的,再添加新的。
那么问题来了,我们如何找到以前的所有标记为Build的物件?手动找虽然可行但场景和预制件太多的话绝对要命!而且在删除Build添加了StaticBuild后,以前所有标记为Build的物件的Tag都会丢失,变为Undefined状态。
通过Tag搜索物体(SearchByTag)
此时,我们便可以借助SearchByTagToolkit来快速应对这一变故。
打开SearchByTag窗口
通过以下菜单打开SearchByTag窗口:

搜索标记指定Tag的所有物体
支持在当前场景或当前编辑的预制件中搜索标记了指定Tag的所有物体:


你可以通过此方式找到所有标记为Build的物体,将其修改为新的StaticBuild后,再删除BuildTag。
批量修改Tag
此时可点击窗口下方Modify Tag Batch(批量修改标签)按钮,将所有物体批量修改为指定Tag:

搜索Undefined状态的所有物体
当然,如果你已先一步删除Build标签,此时所有标记了该Tag的物体都会处于Undefined状态,那么处理起来也简单,只需要搜索所有Undefined状态的物体:

然后再使用Modify Tag Batch功能,将其修改为你需要的Tag即可。
通过Layer搜索物体(SearchByLayer)
同理,我们也可以借助SearchByLayerToolkit来快速应对Layer的变化。
打开SearchByLayer窗口
通过以下菜单打开SearchByLayer窗口:

搜索标记指定Layer的所有物体
支持在当前场景或当前编辑的预制件中搜索标记了指定Layer的所有物体:


批量修改Layer
此时可点击窗口下方Modify Layer Batch(批量修改层级)按钮,将所有物体批量修改为指定Layer:

搜索MissingLayer状态的所有物体
当然,如果你已先一步删除了一个Layer,此时所有标记了该Layer的物体都会处于MissingLayer状态,那么处理起来也简单,只需要搜索所有MissingLayer状态的物体:

然后再使用Modify Layer Batch功能,将其修改为你需要的Layer即可。